Python 中 DB 绑定服务器的 TNonblockingServer、TThreadPoolServer 的性能

发布于 2024-12-18 16:02:21 字数 367 浏览 1 评论 0原文

我正在用 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

暮年慕年 2024-12-25 16:02:21

显然 TProcessPoolServer 是一个很好的服务器,它可以分叉不同的进程,避免线程问题。

Apparently TProcessPoolServer is a good server and forks different processes, avoiding threading issues.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文