技术杂谈
网络新概念,云计算、大数据、O2O、电商。。。。
网络新概念,云计算、大数据、O2O、电商。。。。
2017-10-17 10:55:30
一、工具使用:
简单命令行:ab -n 500 -c 50 http://localhost/ 意思是50个用户并发访问http://localhost/,共500次请求。
二、工具获取:
ab压力测试工具是apache中带的,如果电脑中有安装apache则在命令行进入apache的bin目录进行运行即可;
如果没有apache则下载单独的apache即可,windows下没有官方编译的二进制文件,按照官方页面引导(http://httpd.apache.org/docs/current/platform/windows.html)去(https://www.apachehaus.com/cgi-bin/download.plx)下载Apache 2.4.28 x64(或32位),然后解压缩,然后cmd到bin目录运行ab工具即可;
直接cmd运行httpd.exe就是一个独立的apache服务器。
三、工具测试结果分析:
E:\apache24\bin>ab -n 500 -c 50 http://localhost/article-4330.html This is ApacheBench, Version 2.3 <$Revision: 1807734 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/ Benchmarking localhost (be patient) Completed 100 requests Completed 200 requests Completed 300 requests Completed 400 requests Completed 500 requests Finished 500 requests Server Software: Microsoft-IIS/8.5 Server Hostname: localhost Server Port: 80 Document Path: /article-4330.html #测试路径 Document Length: 19954 bytes #测试页面文件大小 Concurrency Level: 50 #并发数 Time taken for tests: 4.301 seconds #总共消耗的时间 Complete requests: 500 #总请求数 Failed requests: 0 #失败数量 Total transferred: 10170000 bytes #总共传送数据量 HTML transferred: 9977000 bytes Requests per second: 116.25 [#/sec] (mean) ########QPS每秒多少请求,这个是非常重要的参数数值,服务器的吞吐量 Time per request: 430.124 [ms] (mean) ##########用户平均请求等待时间 Time per request: 8.602 [ms] (mean, across all concurrent requests)#服务器平均处理时间,也就是服务器吞吐量的倒数 Transfer rate: 2309.02 [Kbytes/sec] received##每秒获取的数据长度 Connection Times (ms) min mean[+/-sd] median max Connect: 0 0 1.1 0 21 Processing: 114 424 589.3 301 3406 Waiting: 114 423 589.1 300 3406 Total: 114 424 589.2 302 3406 Percentage of the requests served within a certain time (ms) 50% 302 66% 344 75% 365 80% 385 90% 455 95% 1461 98% 3324 99% 3366 100% 3406 (longest request) E:\apache24\bin>
有时候出现大量的 Failed requests,分別有 Connect, Length,Exception :
1:Connect 无法送出要求,目标主机连接失败,要求的过程中连接被中断
2:Length 回应的内容长度不一致(以Content-Lenght) 标头值为判断依据
3:Exception 发生无法预期的错误
如果错误出现在Length上,只要更改测试的地址回应的内容长度就ok了,或简单的来个 return 0; 就OK了,不影响测试效果。