在Gentoo上配置好了nginx+django,自然就想了解一下这个组合在高并发下的表现,在网上找到了张宴推荐的webbench,软件很小,安装也很简单,张宴的blog里就提供有下载:
$ wget http://blog.s135.com/soft/linux/webbench/webbench-1.5.tar.gz
$ tar zxvf webbench-1.5.tar.gz
$ cd webbench-1.5
$ make && make install
使用也很简单,命令如下:
$ webbench -c 500 -t 30 http://127.0.0.1/
-c表示并发的连接数,-t表示执行测试的时间(秒)。
我在执行这个命令的同时,在浏览器中访问该地址,发现速度很慢,几乎没有响应了,过了10几秒,页面出来了。×××的,报不能连接到mysql的异 常,mysql崩溃了,⊙﹏⊙b汗。不过出现这样的结果页在情理之中,毕竟gentoo是跑在colinux里的,内存也只分了512m而已。
接着想到压一下公司的网站,运行在windows2003+apache上的django+mod_python+mysql,cpu:至强 E5430,内存8G。于是修改了一下url,连接了一个有访问数据库的页面。500个并发的时候本来在浏览器中打开很快的页面慢的想蜗牛一样了,但总算 还能打开,测试报告如下:
500 clients, running 30 sec.
Speed=1828 pages/min, 134297 bytes/sec.
Requests: 249 susceed, 665 failed.
服务器cpu的使用率平均大概在45%左右,最高达到了80%,mysql的进程和apache的进程基本各占一半,但郁闷的是内存的使用基本上没什么变化。继续加压,1000个并发:
1000 clients, running 30 sec.
Speed=2182 pages/min, 112858 bytes/sec.
Requests: 228 susceed, 863 failed.
cpu基本维持在60%的使用率,内存使用还是没有太大变化。加压到1500个并发,用浏览器已经打不开网页了。在这个并发下,测试了几次,上午曾出现过mysql崩溃的情况,下午则没有,不知道什么原因。
寒了,服务器的配置不算低了,这点并发就挂了。而张宴的blog中说,nginx下单台服务器可以支持3w个并发,是apache的10倍,不知道具体是个什么情况。看来要尽快把网站迁移到linux上跑nginx了,能达到现在的10倍并发吗?期待ing…