简要测试服务器并发处理能力
一台web服务器的能力高低所在于它的并发处理能力,说到web服务器的并发处理能力,就一定会有一个量化的描述,即吞吐率。它在此处特指web服务器单位时间内处理的请求数。
当然,从定义上来讲,吞吐率只是描述了web服务器在运行期间的单位时间内处理的请求数,但一般在web程序部署上线时更加关心的是部署服务器并发处理能力的上限,即最大吞吐率。
这里用apache的ab来进行压测,有别于loadrunner和jmeter等压力测试软件,ab测试的本质是基于http的,所以可以说它是web服务器软件的黑盒测试。而loadrunner和jmeter这种测试往往更偏向于用户的角度。
虚拟机配置
cpu: Intel(R) Core(TM) i5-5287U CPU @ 2.90GHz
内存: 600M
硬盘转速: 15kr/min
查看ab版本:
1 2 3 4 |
[root@vagrant-centos64 /]# ab -V This is ApacheBench, Version 2.3 <$Revision: 655654 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/ |
1.ab静态html文件测试
条件:总请求数1000,并发用户数10
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
[root@vagrant-centos64 html]# ab -n1000 -c10 http://192.168.33.10/test.html This is ApacheBench, Version 2.3 <$Revision: 655654 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/ Server Software: nginx/1.0.15 Server Hostname: 192.168.33.10 Server Port: 80 Document Path: /test.html Document Length: 35 bytes Concurrency Level: 10 Time taken for tests: 0.430 seconds Complete requests: 1000 Failed requests: 0 Write errors: 0 Total transferred: 245000 bytes HTML transferred: 35000 bytes Requests per second: 2326.20 [#/sec] (mean) Time per request: 4.299 [ms] (mean) Time per request: 0.430 [ms] (mean, across all concurrent requests) Transfer rate: 556.56 [Kbytes/sec] received |
由上可知Requests per second(吞吐率):2326.20 [#/sec] (mean)
2.系统负载请求
测试前:
1 2 |
[root@vagrant-centos64 html]# cat /proc/loadavg 0.00 0.00 0.00 1/167 26132 |
1/167:其中1表示此时运行队列中的进程个数,167表示此时的进程总数。
26132:表示最后创建的一个进程id
0.00:表示系统负载,数值越大,表示cpu越繁忙,越无法满足所有进程的需要。当系统负载为0时,说明任何进程只要就绪,就可以马上获得cpu,不需要等待,此时系统响应时间最快。
通过top 和 w等工具也可以获取系统负载:
1 2 3 4 5 |
[root@vagrant-centos64 html]# w 12:03:23 up 1 day, 2:52, 2 users, load average: 0.00, 0.00, 0.00 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT vagrant pts/0 10.0.2.2 Thu09 19:25m 0.06s 0.00s sshd: vagrant [priv] vagrant pts/1 10.0.2.2 11:20 0.00s 0.04s 0.00s sshd: vagrant [priv] |
编写测试脚本:
1 2 3 4 5 6 7 8 |
<?php $max = 100000000; $sum = 0; for ($i = 0; $i < $max; ++$i) { $sum += $i; } echo $sum; |
测试的负载结果:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
[root@vagrant-centos64 html]# top top - 12:13:33 up 1 day, 3:02, 2 users, load average: 100.13, 72.88, 34.21 Tasks: 196 total, 101 running, 95 sleeping, 0 stopped, 0 zombie Cpu(s): 98.6%us, 1.4%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 603764k total, 555476k used, 48288k free, 41064k buffers Swap: 1254392k total, 1140k used, 1253252k free, 95812k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 5801 www 20 0 320m 16m 4912 R 1.3 2.8 0:06.95 php-fpm 25612 www 20 0 315m 7720 2840 R 1.3 1.3 0:04.24 php-fpm 26192 www 20 0 314m 6096 1540 R 1.3 1.0 0:04.04 php-fpm 26211 www 20 0 314m 6096 1540 R 1.3 1.0 0:03.90 php-fpm 26216 www 20 0 314m 6096 1540 R 1.3 1.0 0:03.88 php-fpm 26219 www 20 0 314m 6096 1540 R 1.3 1.0 0:03.88 php-fpm 26226 www 20 0 314m 6096 1540 R 1.3 1.0 0:03.83 php-fpm 26239 www 20 0 314m 6096 1540 R 1.3 1.0 0:03.80 php-fpm 26250 www 20 0 314m 6096 1540 R 1.3 1.0 0:03.77 php-fpm 26270 www 20 0 314m 6096 1540 R 1.3 1.0 0:03.73 php-fpm 1019 redis 20 0 39936 6988 628 S 1.0 1.2 1:51.38 redis-server 5798 www 20 0 322m 16m 5496 R 1.0 2.9 0:07.47 php-fpm 5800 www 20 0 323m 18m 4856 R 1.0 3.2 0:07.68 php-fpm 5802 www 20 0 321m 16m 4832 R 1.0 2.8 0:06.45 php-fpm 5806 www 20 0 324m 18m 5556 R 1.0 3.1 0:06.43 php-fpm 5813 www 20 0 324m 18m 5496 R 1.0 3.1 0:06.82 php-fpm 25609 www 20 0 315m 7720 2840 R 1.0 1.3 0:04.43 php-fpm 25611 www 20 0 315m 7720 2840 R 1.0 1.3 0:04.33 php-fpm 25613 www 20 0 314m 7632 2840 R 1.0 1.3 0:04.23 php-fpm 25614 www 20 0 314m 7632 2840 R 1.0 1.3 0:04.24 php-fpm 25615 www 20 0 314m 7632 2840 R 1.0 1.3 0:04.24 php-fpm 26186 www 20 0 314m 6096 1540 R 1.0 1.0 0:04.16 php-fpm 26190 www 20 0 314m 6096 1540 R 1.0 1.0 0:04.10 php-fpm 26191 www 20 0 314m 6096 1540 R 1.0 1.0 0:04.04 php-fpm 26193 www 20 0 314m 6096 1540 R 1.0 1.0 0:04.04 php-fpm 26194 www 20 0 314m 6096 1540 R 1.0 1.0 0:04.04 php-fpm 26195 www 20 0 314m 6096 1540 R 1.0 1.0 0:03.99 php-fpm 26196 www 20 0 314m 6096 1540 R 1.0 1.0 0:03.99 php-fpm 26197 www 20 0 314m 6096 1540 R 1.0 1.0 0:03.99 php-fpm |
可见负载结果load average: 100.13, 72.88, 34.21 ,且大部分都在处理php-fpm
上一篇: 使用logrotate对nginx/php-fpm做日志转储 下一篇: 面向搜索引擎的网站seo优化点
发表评论