Python 中 DB 绑定服务器的 TNonblockingServer、TThreadPoolServer 的性能
我正在用 Python 制作一个内部 API(请原谅我的用语),它只需要简单的计算就可以在 MySQL 和 Solr(数据库)之上提供一个层。从头开始生成的 Python 程序会等待 Solr 80 毫秒,而其本身所花费的时间可以忽略不计。
我担心Python的线程支持不完整。那么哪些现代 Thrift 服务器可以实现高性能请求处理呢?
在 Python 中,我可以在 Apache 工作线程下创建一个 WSGI 应用程序:
- 池化数据库连接对象等资源
- 以最少的进程实现高性能
- 优雅地删除请求
- (相对) 优雅地重新加载
- 保持活动机制(如果崩溃则重新启动应用程序)
I am making an internal API in Python (pardon my terms) that provides a layer over MySQL and Solr (databases) with only simple computing. A Python program that spawns from scratch waits 80ms for Solr, while taking negligible time by itself.
I am worried about the incomplete threading support of Python. So which of the modern Thrift servers allows high-performance request handling?
In Python, I could make a WSGI app under Apache workers that:
- pooling resources such as DB connection objects
- high performance with minimum processes
- graceful dropping of requests
- (relatively) graceful code reloading
- a keep-alive mechanism (restart the application if it crashes)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
显然 TProcessPoolServer 是一个很好的服务器,它可以分叉不同的进程,避免线程问题。
Apparently TProcessPoolServer is a good server and forks different processes, avoiding threading issues.