发信人: liugang() 
整理人: hahalee(1999-03-29 18:39:40), 站内信件
 | 
 
 
 【 在 hahalee (哈哈李) 的大作中提到: 】 : 我参考bbsall.c,写了个php3脚本. 我的bbsall.c和bbs2www的有很大差别,主要是增加了各版每天新文章的 统计。可能差别就在这里了。 : bbsall: 读一个记录文件, 然后排序输出 : test.phtml: 读一个文本文件, 排序输出: : <script language="php"> : function printitem($s) : { :   echo "".$s."<br>"; : } : echo "<html>"; : $a = file("a.txt"); //这个是一个42项的字符串列表,ls xxx > a.txt,已正排序 : rsort($a);          //反向排序. : array_walk($a,printitem); : echo "</html>"; : </script> : 这个script所做的事情跟bbsall.c应该差不多的. : ./ab -n 10000 -c 500 http://xx.xx.xx.xx/test.phtml : 结果仍然相当好, load峰值最高到了370!  : Concurrency level:      500 : Time taken for tests:   39.654 seconds : Complete requests:      10000 : Failed requests:        0 : Total transfered:       13878562 bytes : HTML transfered:        12442136 bytes : Request per second:     252.18 : Transfer rate:          349.13 kb/s received : Connection Times (ms) :              min   avg   max : Connect:       0    37  3002 : Processing:    7  1400 12196 : Total:         7  1437 15198 我用bbs2www的bbsall再作乐测试,结果如下: Server Software:        Apache/1.3.4 Server Hostname:        bbs.szu.edu.cn Server Port:            8080
  Document Path:          /cgi-bin/bbsall Document Length:        8122 bytes
  Concurrency Level:      500 Time taken for tests:   159.452 seconds // 你的四倍。 Complete requests:      10000 Failed requests:        0 Total transferred:      83916547 bytes// 你的八倍。 HTML transferred:       82264542 bytes Requests per second:    62.71 // 是你的四分一. Transfer rate:          526.28 kb/s received
  Connnection Times (ms)               min   avg   max Connect:        0  1075  4167 Processing:   954  6703 11053 Total:        954  7778 15220 这个比较接近了。 : 跟你的测试结果相差实在太大了.  我想原因主要是cgi的问题: : 我这个php3是作为模块嵌入的, 你那cgi虽然小, 也是外部程序 : exec非常花时间的. 至少我这里少了500个cgi进程! 但我这个 cgi花时间是自然的,但是我并没有见到那么多httpd进程,最多好象 就270左右。apache配置文件中有个MAXClients,我设为500,其他也 改了一点,不知还有什么要做的。linux系统的限制如下: [root@bbs apache]# ulimit -a core file size (blocks)  0 data seg size (kbytes)   unlimited file size (blocks)       unlimited max memory size (kbytes) unlimited stack size (kbytes)      8192 cpu time (seconds)       unlimited max user processes       1024 pipe size (512 bytes)    8 open files               1024 virtual memory (kbytes)  2105343
  : 可是解释执行的, (CPU也比你差,所以load高一些). 所以响应时间和 : 吞吐比你的测试结果要好很多...可见,如果把cgi代码挪到apache : 里面, 性能将有极大的提高. : 我想OS方面的差异应该不会太大吧. 没办法比较了,我们硬件性能 : 不一样. 你内存比我多一倍, CPU也要好一些. 我还有一部256内存,2XPII333的,用的是slackware 3.5,也可以测试一下。
  -- ※ 来源:.网易 BBS bbs.netease.com.[FROM: bbs.huizhou.gd.cn]
  | 
 
 
 |