Apache 模块:C 模块与 mod_wsgi python 模块 - 性能
出于性能原因,我们的一个客户要求我们在 Apache Web 服务器中用 C 语言实现一个模块。该模块应该处理 RESTful uri、访问数据库并以 json 格式返回结果。这里的许多人都推荐使用 python mod_wsgi - 但出于编程简单的原因。谁能告诉我 mod_wsgi python 解决方案与 Apache + C.module 之间的性能是否存在显着差异。有什么轶事吗?指向网上发布的一些研究的指针?
A client of ours is asking us to implement a module in C in Apache webserver for performance reasons. This module should handle RESTful uri's, access a database and return results in json format. Many people here have recommended python mod_wsgi instead - but for simplicity of programming reasons. Can anyone tell me if there is a significant difference in performance between the mod_wsgi python solution vs. the Apache + C.module. Any anecdotes? Pointers to some study posted online?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
听起来大部分工作都是 I/O 绑定的,因此使用 C 不会获得太多性能提升。
这是我推荐的策略。
That sounds like the bulk of the work is I/O bound so you will not get much of a performance boost by using C.
Here is the strategy I would recommend.
G-WAN ANSI C 脚本已经表明,C 脚本在速度方面有天壤之别,请参阅:
gwan.com
因此,使用 C 可能不是一个坏主意...
G-WAN ANSI C scripts have shown that C scripts make a world of difference in terms of speed, see:
gwan.com
So using C might not be a bad idea after all...
如果您想要两全其美:可维护的代码和速度,请使用 Cython (http://cython.org)。 Cython 将 Python 代码(带有可选类型信息)编译为 C 或 C++,然后将其编译为系统代码。
If you want the best of both worlds: maintainable code and speed, use Cython (http://cython.org). Cython compiles Python code (with optional type information) to C or C++, which in turn is compiled to system code.