主题:mod_python在性能上要优于传统CGI的缘由
mod_python在实际相关应用操作过程中的具体操作我个人对其一直存在不解之处,说以今天我们就提供以下的文章对在mod_python的实际运行中存在困难的问题,做一相关解答,希望你会有所收获。
性能
mod_python的一个最主要优点就是在性能上超越传统CGI。下面是一个非常粗略的测试。该测试是在一台运行Red Hat Linux 7.3的奔腾1.2G的机器上完成的。Ab 用来对4种脚本进行测试,所有的都是从标准cgi模块输入(因为这是一个典型Python cgi脚本开始的方式), 然后输出一个简单的单词"Hello!"。这个结果是基于10000次并发为1的请求。
Standard CGI: 23 requests/s 1.Mod_python cgihandler: 385 requests/s
Mod_python publisher: 476 requests/s
2.Mod_python handler: 1203 requests/s
适应性
Apache分阶段的处理请求(比方说:读取请求,解析header, 检查存取路径,等等)。这些阶段能被称为"处理器"(handler)的函数实现。传统上, "处理器"是由C语言编写,并编译成Apache的模块。mod_python提供了一个通过Python写的Apache处理器的来扩展Apache功能的方法。
关于Apache请求处理过程的详尽描述,请参阅 Apache API Notes, 也可以参阅
1.Mod_python - Integrating Python with Apache
为了轻松地从CGI移植,一个标准的mod_python处理器提供了模拟的CGI环境,允许用户在不对代码做任何修改的情况下,使遗留的脚本运行在mod_python下(大多数情况)。
See Also:
Apache Developer Resources 1.Mod_Python - Integrating Python
with Apache, presented at Python 10
Mod_python起源于一个被称为Httpdapy(1997)的项目。很长时间以来, Httpdapy并没有被称作mod_python,因为Httpdapy不是专门用于Apache的。 Httpdapy被设计成跨平台的,实际上最初是为Netscape server写的(那个时候被称为Nsapy)(1997)
这个Httpdapy的README文件的摘要,很好的阐述了在HTTP server中嵌入Python所带来的挑战和解决方案。以上的文章就是对mod_python的相关实际应用的介绍。