您的位置:首页 >> Web开发 >> CGI技术 >> 正文
CGI技术 RSS
 

实战 FastCGI

http://www.rdxx.com 06年04月21日 07:01 网海之贝 我要投稿

关键词: FastCGI


Connnection Times (ms)
min avg max

Connect: 0 4 61
Processing: 62 128 771
Total: 62 132 832

以上结果指出,在同时间 20 个联机请求 (Concurrency Level) 的情况下,完成 1000 次的联机请求,共花了 6.859 秒 (Time taken for tests),因此这个程序每秒平均可以处理 (Requests per second) 145.79 个联机请求。
在接下来的评比测试中,我们就以每秒可以处理的联机请求数目来做为效能评比的依据。

4.2 CGI vs. FastCGI
前面提过利用 fcgi_stdio.h 函式库编译出来的 FastCGI 程序也兼容于 CGI 模式,因此我们只要把 fcgi-devkit-2.1 套件附的范例程序 echo.fcg 复制到 /cgi-bin 目录下,并且把文件名改成 echo.cgi,这支范例程序就可分别以 CGI 模式和 FastCGI 模式来执行,并且做比较。

首先分别对 CGI模式执行的 http://localhost/cgi-bin/echo.cgi 以及 FastCGI 模式的 http://localhost/fcgi-bin/echo.fcg 连续送出 10, 100, 1000, 10000 次的联机请求,得到的平均每秒可处理的请求 (Requests per second) 结果为:

联机数目 10 100 1000 10000
CGI 52.63 53.08 52.24 51.49
FastCGI (static mode) 204.08 224.22 146.78 207.14

接下来再分别以 Concurrency Level 为 10, 50, 100 的情况下做测试,得到 Requests per second 结果为:

Concurrency 联机数目 10 100 1000 10000
10 CGI 38.31 46.55 53.61 55.09
10 FastCGI 185.19 208.33 162.63 177.14
50 CGI 27.25 33.16 50.72 53.99
50 FastCGI 92.59 176.37 196.58 196.88
100 CGI 17.92 24.84 48.14 52.84
100 FastCGI 86.21 187.27 195.54 193.17

由上述数据看来,对同一支程序 (echo.c) 而言,使用 FastCGI 模式来执行,速度提升了 3-4 倍。可见得 FastCGI 对网站程序的效能提升上具有相当大的助益,尤其当使用量很大时,其效益更加明显。

以上的测试条件并不是十分严谨,主要在让你了解使用 FastCGI 之后对于效能及速度上一个概括的比较,也提供一个可供网站开发者可以评量的依据。

实际上,对一个初始化动作复杂,例如要先和数据库建立联机,或是配置内存,做变量初始化的程序来说,使用 FastCGI 可以比原先 CGI 在效能上增加更多,速度更快。而对一个有数据库可联机数目限制的系统来说,使用 FastCGI 就好象一个 Application Server 一样,不用担心 CGI 一次 fork 太多,超过联机数目上限 (FastCGI 可以设定一次跑几支)。

4.3 找出 Memory Leak
善用 ApacheBench 这个工具,还可以帮助网站程序发展人员找出在 FastCGI 程序中隐藏的 Memory Leak 臭虫。
9 7 3 11 12 4 8 :

 
 
标签: FastCGI 打印本文
 
 
  热点搜索
 
 
 



Valid XHTML 1.0 Transitional
Copyright ©2005 - 2008 Rdxx.Com,All Rights Reserved
收藏本页
收藏本站