云服务器 性能测试之web压力测试
评测员会测试游戏的服务器稳定性 #生活乐趣# #游戏乐趣# #游戏评测#
前言:现在云服务器是主流,成了许多中小型公司的首选服务器,但是云服务器都是虚拟机,所以性能是一大疑问,这里就开始简单介绍云服务器的性能测试,云端web服务器的压力测试。
Linux下常用的四款Web服务器压力测试工具(http_load、webbench、ab、siege),这里采用apache自带的ab工具来测试。
1,开始安装apache
前期准备:
yum install gcc* -y
yum install libtool* -y
1.1,去官网下载
apache,http://httpd.apache.org/download.cgi#apache24
下载软件包是:httpd-2.4.12.tar.gz
解压tar -zxvf httpd-2.2.6.tar.gz,完成之后,会在当前目录出现一个httpd-2.2.6目录,然后顺序执行如下命令改名:
tar -zxvf httpd-2.2.6.tar.gz mv httpd-2.2.6 apache cd apache 123
设置安装参数,命令如下:
./configure --prefix=/usr/local/apache2 --enable-module=so --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util
[root@bwebhttpd-2.4.12]# ./configure --prefix=/usr/local/apache2 --enable-module=so --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util checking for chosen layout... Apache checking for working mkdir -p... yes checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E checking build system type... x86_64-unknown-linux-gnu checking host system type... x86_64-unknown-linux-gnu checking target system type... x86_64-unknown-linux-gnu configure: configure: Configuring Apache Portable Runtime library... configure: checking for APR... configure: error: the --with-apr parameter is incorrect. It must specify an install prefix, a build directory, or an apr-config file. [root@bwebhttpd-2.4.12]# 12345678910111213
<版权所有,文章允许转载,但必须以链接方式注明源地址,否则追究法律责任!>
原博客地址: http://blog.csdn.net/mchdba/article/details/46381741
原作者:黄杉 (mchdba)
报错APR…问题
1.2 解决apr not found问题
去http://apr.apache.org/download.cgi下载
wget http://archive.apache.org/dist/apr/apr-1.4.6.tar.gz,然后源码安装
[root@bwebdata]# cd apr-1.4.6 [root@bwebapr-1.4.6]# ./configure --prefix=/usr/local/apr [root@bwebapr-1.4.6]# make [root@bwebapr-1.4.6]# make install 1234
1.3.解决APR-util not found问题
需要安装apr-util组件:
[root@bwebdata]# wget http://apache.fayea.com//apr/apr-util-1.5.4.tar.gz [root@bwebdata]# tar -xvf apr-util-1.5.4.tar.gz [root@bwebdata]# cd apr-util-1.5.4 [root@bwebapr-util-1.5.4]# ./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/bin/apr-1-config [root@bwebapr-util-1.5.4]# make [root@bwebapr-util-1.5.4]# make install 123456
或者 yum install -y apr-util*
1.4 configure: error: pcre-config for libpcre not found问题
…/configure添加了–with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util仍提示 configure: error: pcre-config for libpcre not found. PCRE is required and available from http://pcre.org/的错误
查看下是否有pcre参数
[root@bwebhttpd-2.4.12]# ./configure -help | grep pcre
–with-pcre=PATH Use external PCRE library
[root@bwebhttpd-2.4.12]#
没有这个参数,所以需要重新下载安装:
下载pcre,下载地址一:http://sourceforge.net/projects/pcre 下载地址二:http://ftp.exim.llorien.org/pcre/
[root@bwebdata]# wget http://ftp.exim.llorien.org/pcre/pcre-8.36.tar.gz --这里因为下载失败,所以重新去csdn资源库下载了pcre的zip包 [root@bwebdata]# unzip pcre-8.36.zip [root@bwebdata]# cd pcre-8.36 [root@bwebpcre-8.36]# ./configure --prefix=/usr/local/pcre [root@bwebpcre-8.36]# make [root@bwebpcre-8.36]# make install 1234567
或者 yum安装也可以:
[root@bwebhttpd-2.4.12]# yum install -y pcre* 1
**必要的组件安装完了,我们可以继续源码编译apache了**
2 最后编译安装apache
[root@bwebhttpd-2.4.12]# ./configure --prefix=/usr/local/apache2 --enable-module=so --with-apr=/usr/local/apr --with-apr-util=/usr/local/apr-util --with-included-apr [root@bwebhttpd-2.4.12]# make [root@bwebhttpd-2.4.12]# make install 123
启动apache
/usr/local/apache2/bin/apachectl start
[root@bwebhttpd-2.4.12]# /usr/local/apache2/bin/apachectl start AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 172.16.1.4. Set the 'ServerName' directive globally to suppress this message [root@bwebhttpd-2.4.12]# 123
查看下:
在浏览器中输入地址:http://172.16.1.4/,会显示如下信息:
It works!
apache安装完毕后ab命令存放在apache安装目录的bin目录下。如下:
[root@bwebhttpd-2.4.12]# ll /usr/local/apache2/bin total 2308 -rwxr-xr-x. 1 root root 80799 Jun 4 12:48 ab -rwxr-xr-x. 1 root root 3438 Jun 4 12:43 apachectl -rwxr-xr-x. 1 root root 23515 Jun 4 12:43 apxs -rwxr-xr-x. 1 root root 12277 Jun 4 12:48 checkgid -rwxr-xr-x. 1 root root 8925 Jun 4 12:43 dbmmanage -rw-r--r--. 1 root root 1073 Jun 4 12:43 envvars -rw-r--r--. 1 root root 1073 Jun 4 12:43 envvars-std -rwxr-xr-x. 1 root root 20200 Jun 4 12:48 fcgistarter -rwxr-xr-x. 1 root root 66594 Jun 4 12:48 htcacheclean -rwxr-xr-x. 1 root root 40674 Jun 4 12:48 htdbm -rwxr-xr-x. 1 root root 22263 Jun 4 12:48 htdigest -rwxr-xr-x. 1 root root 41346 Jun 4 12:48 htpasswd -rwxr-xr-x. 1 root root 1933978 Jun 4 12:48 httpd -rwxr-xr-x. 1 root root 19488 Jun 4 12:48 httxt2dbm -rwxr-xr-x. 1 root root 21908 Jun 4 12:48 logresolve -rwxr-xr-x. 1 root root 34593 Jun 4 12:48 rotatelogs [root@bwebhttpd-2.4.12]#
12345678910111213141516171819/usr/local/apache2/bin/ab -c 1000 -n 1000 http://127.0.0.1/phpinfo.php
3,ab压测结果如下:
3.1 微软云压测
ab压测结果如下:
[root@bwebhttpd-2.4.12]# /usr/local/apache2/bin/ab -c 1000 -n 1000 http://127.0.0.1/phpinfo.php This is ApacheBench, Version 2.3 <$Revision: 1638069 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/ Benchmarking 127.0.0.1 (be patient) Completed 100 requests Completed 200 requests Completed 300 requests Completed 400 requests Completed 500 requests Completed 600 requests Completed 700 requests Completed 800 requests Completed 900 requests Completed 1000 requests Finished 1000 requests Server Software: Apache/2.4.12 Server Hostname: 127.0.0.1 Server Port: 80 Document Path: /phpinfo.php Document Length: 209 bytes Concurrency Level: 1000 Time taken for tests: 0.676 seconds Complete requests: 1000 Failed requests: 0 Non-2xx responses: 1000 Total transferred: 387000 bytes HTML transferred: 209000 bytes Requests per second: 1478.80 [#/sec] (mean) Time per request: 676.224 [ms] (mean) Time per request: 0.676 [ms] (mean, across all concurrent requests) Transfer rate: 558.88 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect: 4 28 20.1 14 65 Processing: 4 90 155.1 18 608 Waiting: 3 87 156.2 13 608 Total: 16 118 169.9 29 665 Percentage of the requests served within a certain time (ms) 50% 29 66% 52 75% 266 80% 267 90% 270 95% 662 98% 663 99% 663 100% 665 (longest request) [root@bwebhttpd-2.4.12]
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556以下是加带了-k参数。表示不释放连接:
ab -k -c 1000 -n 1000 http://127.0.0.1/phpinfo.php
[root@bwebhttpd-2.4.12]# /usr/local/apache2/bin/ab -k -c 1000 -n 1000 http://127.0.0.1/phpinfo.php This is ApacheBench, Version 2.3 <$Revision: 1638069 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/ Benchmarking 127.0.0.1 (be patient) Completed 100 requests Completed 200 requests Completed 300 requests Completed 400 requests Completed 500 requests Completed 600 requests Completed 700 requests Completed 800 requests Completed 900 requests Completed 1000 requests Finished 1000 requests Server Software: Apache/2.4.12 Server Hostname: 127.0.0.1 Server Port: 80 Document Path: /phpinfo.php Document Length: 209 bytes Concurrency Level: 1000 Time taken for tests: 5.136 seconds Complete requests: 1000 Failed requests: 125 (Connect: 0, Receive: 0, Length: 125, Exceptions: 0) Non-2xx responses: 885 Keep-Alive requests: 877 Total transferred: 374749 bytes HTML transferred: 184965 bytes Requests per second: 194.69 [#/sec] (mean) Time per request: 5136.408 [ms] (mean) Time per request: 5.136 [ms] (mean, across all concurrent requests) Transfer rate: 71.25 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect: 0 18 25.2 0 73 Processing: 1 1342 2013.5 12 5060 Waiting: 1 728 1499.3 11 5060 Total: 1 1360 2023.8 45 5130 Percentage of the requests served within a certain time (ms) 50% 45 66% 1137 75% 2201 80% 4997 90% 5005 95% 5128 98% 5129 99% 5129 100% 5130 (longest request) [root@bwebhttpd-2.4.12]#
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657583.2 华为云压测
[root@hwweb02 httpd-2.4.12]# /usr/local/apache2/bin/ab -c 1000 -n 1000 http://127.0.0.1/phpinfo.phpThis is ApacheBench, Version 2.3 <$Revision: 1638069 $>Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/Licensed to The Apache Software Foundation, http://www.apache.org/Benchmarking 127.0.0.1 (be patient)Completed 100 requestsCompleted 200 requestsCompleted 300 requestsCompleted 400 requestsCompleted 500 requestsCompleted 600 requestsCompleted 700 requestsCompleted 800 requestsCompleted 900 requestsCompleted 1000 requestsFinished 1000 requestsServer Software: Apache/2.4.12Server Hostname: 127.0.0.1Server Port: 80Document Path: /phpinfo.phpDocument Length: 209 bytesConcurrency Level: 1000Time taken for tests: 0.642 secondsComplete requests: 1000Failed requests: 0Non-2xx responses: 1000Total transferred: 387000 bytesHTML transferred: 209000 bytesRequests per second: 1558.26 [#/sec] (mean)Time per request: 641.742 [ms] (mean)Time per request: 0.642 [ms] (mean, across all concurrent requests)Transfer rate: 588.91 [Kbytes/sec] receivedConnection Times (ms) min mean[+/-sd] median maxConnect: 1 16 11.5 8 30Processing: 8 101 170.6 20 609Waiting: 2 98 171.8 18 609Total: 15 116 176.2 25 634Percentage of the requests served within a certain time (ms) 50% 25 66% 45 75% 231 80% 234 90% 238 95% 632 98% 634 99% 634 100% 634 (longest request)[root@hwweb02 httpd-2.4.12]#
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556以下是加带了-k参数。表示不释放连接:
[root@hwweb02 httpd-2.4.12]# /usr/local/apache2/bin/ab -k -c 1000 -n 1000 http://127.0.0.1/phpinfo.phpThis is ApacheBench, Version 2.3 <$Revision: 1638069 $>Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/Licensed to The Apache Software Foundation, http://www.apache.org/Benchmarking 127.0.0.1 (be patient)Completed 100 requestsCompleted 200 requestsCompleted 300 requestsCompleted 400 requestsCompleted 500 requestsCompleted 600 requestsCompleted 700 requestsCompleted 800 requestsCompleted 900 requestsCompleted 1000 requestsFinished 1000 requestsServer Software: Apache/2.4.12Server Hostname: 127.0.0.1Server Port: 80Document Path: /phpinfo.phpDocument Length: 209 bytesConcurrency Level: 1000Time taken for tests: 6.265 secondsComplete requests: 1000Failed requests: 100 (Connect: 0, Receive: 0, Length: 100, Exceptions: 0)Non-2xx responses: 910Keep-Alive requests: 900Total transferred: 385300 bytesHTML transferred: 190190 bytesRequests per second: 159.62 [#/sec] (mean)Time per request: 6264.951 [ms] (mean)Time per request: 6.265 [ms] (mean, across all concurrent requests)Transfer rate: 60.06 [Kbytes/sec] receivedConnection Times (ms) min mean[+/-sd] median maxConnect: 0 10 12.9 0 29Processing: 0 1425 2150.0 8 6235Waiting: 0 934 1811.3 8 6235Total: 0 1434 2155.1 8 6261Percentage of the requests served within a certain time (ms) 50% 8 66% 1402 75% 2419 80% 3416 90% 5004 95% 6260 98% 6261 99% 6261 100% 6261 (longest request)[root@hwweb02 httpd-2.4.12]#
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657583.3 idc机房测试
[root@idc_web~]# /usr/bin/ab -k -c 1000 -n 1000 http://127.0.0.1/phpinfo.phpThis 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/Benchmarking 127.0.0.1 (be patient)Completed 100 requestsCompleted 200 requestsCompleted 300 requestsCompleted 400 requestsCompleted 500 requestsCompleted 600 requestsCompleted 700 requestsCompleted 800 requestsCompleted 900 requestsCompleted 1000 requestsFinished 1000 requestsServer Software: Apache/2.2.15Server Hostname: 127.0.0.1Server Port: 80Document Path: /phpinfo.phpDocument Length: 286 bytesConcurrency Level: 1000Time taken for tests: 0.341 secondsComplete requests: 1000Failed requests: 0Write errors: 0Non-2xx responses: 1000Keep-Alive requests: 0Total transferred: 466000 bytesHTML transferred: 286000 bytesRequests per second: 2929.00 [#/sec] (mean)Time per request: 341.414 [ms] (mean)Time per request: 0.341 [ms] (mean, across all concurrent requests)Transfer rate: 1332.92 [Kbytes/sec] receivedConnection Times (ms) min mean[+/-sd] median maxConnect: 23 41 9.9 42 57Processing: 78 177 65.4 178 274Waiting: 72 176 65.4 177 274Total: 120 218 72.0 234 316Percentage of the requests served within a certain time (ms) 50% 234 66% 278 75% 288 80% 294 90% 307 95% 312 98% 315 99% 316 100% 316 (longest request)[root@idc_web~]#
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758参考文章地址:http://blog.csdn.net/chenxiaohua/article/details/2047757
参考文章地址:http://blog.chinaunix.net/uid-7411781-id-2056132.html
参考文章:http://www.cnblogs.com/shipengzhi/archive/2012/10/09/2716766.html
网址:云服务器 性能测试之web压力测试 https://www.yuejiaxmz.com/news/view/429668
相关内容
网络压力测试软件是什么(分析十款Web服务器性能压力测试工具)测试工具之压力测试工具推荐
web压力测试工具
软件测试之压力测试
常用压力测试工具锦集 · 测试之家
[性能测试] Benchmarks(压力测试工具汇总)
软件测试之压力测试详解
Web压力测试工具:http
性能测试、负载测试、压力测试之间的差异(超详细)
压力测试工具