Nginx性能测试(未优化篇)
环境;centos5.5 x86 1G内存,单核CPu(未做任何优化)数据获得:cactiez,加top命令
Nginx 版本1.21 Php版本5.314
连接数(压力)
时间
Cpu(5)
剩Mem(m)
Tcp连接数
流量(k)入/出
500
30
55
452
1
201/350
1000
60
81
452
1
534/870
2000
60
100
400
2
200/400
CPU满负载,故停止测试(1G还是不够看,系统有损耗。)
Webbanch测试结果:
------------------------------------------------------------------------------------
Benchmarking: GET http://192.168.100.91/index.html
500 clients, running 30 sec.
Speed=278192 pages/min, 1673771 bytes/sec.
Requests: 139096 susceed, 0 failed.
Benchmarking: GET http://192.168.100.91/index.html
1000 clients, running 60 sec.
Speed=246743 pages/min, 1484564 bytes/sec.
Requests: 246743 susceed, 0 failed.
Benchmarking: GET http://192.168.100.91/index.html
2000 clients, running 60 sec.
Speed=251037 pages/min, 1510387 bytes/sec.
Requests: 251037 susceed, 0 failed.
环境;centos5.5 x86 4G内存,4核CPu(未做任何优化)
连接数(压力)
时间
Cpu(5)
剩Mem(G)
Tcp连接数
流量(k)入/出
1000
60
8/17/7/80
3.8
1
37/21
2000
60
9/18/8/80
3.6
200
467/777
5000
60
7/15/7/79
3.6
200
400/721
10000
60
5/5/7/64
3.72
187
5.88M/9.70m
20000
60
1/6/18/46
3.70
1.0k
69k/120k
50000
60
8/9/9/78
3.62
1.15k
5.73m/8.48M
5W后结束测试
1000 c 60s
2000c60s
5000c 60s
10000c 60s
2w c 60s
5wc 60s
煮酒品茶:非官方说法,nginx处理静态界面非常不错,终于被逮着一个500错误,处理高锋时比较占CPu,内存基本上就是系统所消,处理静态页面更多依靠的是流量来PD,所以静态页面可以放心的交给nginx处理。
下章测phpinfo,然后再测优化内核以及优化其它选项结果。
环境;centos5.5 x86 4G内存,4核CPu(未做任何优化)
连接数(压力)
时间
Cpu(5)
剩Mem(G)
Tcp连接数
流量(k)入/出
1000
60
48/38/36/77
3G
189
6.22M/143.19M
2000
60
40/34/37/76
3.1G
687
3.6M/69M
5000
60
41/35/36/79
3.09G
753
4.66m/106.76m
10000
60
49/50/49/77
3.06G
826
7.04m/157m
20000
60
30/28/32/78
3.04G
1.10k
6.05/m79.29m
50000
60
23/21/22/57
3.01G
1.13k
4.18m/88m
5w数据反而低了,***端当机,故停止测试。
1000 60s
2000c60s
5000c 60s
10000c 60s
Requests: 108481 susceed, 644 failed.
有644个失败
20000c 60s
50000c 60s
-----------------------------------------------------------------------------------
Benchmarking: GET http://192.168.100.91/index.php
1000 clients, running 60 sec.
Speed=77441 pages/min, -23620158 bytes/sec.
Requests: 77441 susceed, 0 failed.
Benchmarking: GET http://192.168.100.91/index.php
2000 clients, running 60 sec.
Speed=64788 pages/min, -31623218 bytes/sec.
Requests: 64788 susceed, 0 failed.
Benchmarking: GET http://192.168.100.91/index.php
10000 clients, running 60 sec.
Speed=109125 pages/min, -5413559 bytes/sec.
Requests: 108481 susceed, 644 failed.
# netstat -an | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S}'
TIME_WAIT 52014
CLOSE_WAIT 1
FIN_WAIT1 2
FIN_WAIT2 5
ESTABLISHED 89
SYN_RECV 39
LISTEN 8
总图:
煮酒品茶;最开始用1G单核测,系统本身要占用资源,静态页面轻松的当掉是没有问题的,后增加四核四G内存测试,效果才慢慢出来,测试数据采集有所不精确请原谅,直至最后phpinfo.php页面5w***端当掉为止。此为采样数据。有所不当的地方请指教。
个人分析:1k-5w的连接cpu占用率为40左右单70左右,内存一直占用1G左右,连接的地页面的压缩优化至关重要。
安装参数:
Nginx依赖包:
Yum install -y gcc openssl-devel pcre-devel zlib-devel
Nginx安装:
Wget http://www.nginx.org/download/nginx-1.2.1.tar.gz
Tar zxvf nginx-1.2.1.tar.gz
Cd nginx-1.2.1
./configure --prefix=/usr/local/nignx
Make
Make install
Php依赖包:
Yum install -y gcc-c++ libxml2 libxml2-devel autoconf libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel
安装Php;
http://cn2.php.net/get/php-5.3.14.tar.gz/from/cn.php.net/mirror
cd php-5.3.14
./configure --prefix=/usr/local/php --enable-fpm
Make
Make install
cp /usr/local/php/etc/php-fpm.conf.default/usr/local/php/etc/php-fpm.conf
修改nginx.conf让其支持php:
保证有以下行
--------------------------------------------------------------
location ~ \.php$ {
root /data/www;
fastcgi_pass 127.0.0.1:9000;
fastcgi_indexindex.php;
fastcgi_paramSCRIPT_FILENAME/data/www$fastcgi_script_name;
include fastcgi_params;
}
启动nginx与php
/usr/local/nginx/sbin/nginx
/usr/local/php/sbin/php-fpm
----------------------------------------------------
页:
[1]