ç»ä½ åå 个æèªå·±å¸¸ççæ§è½ææ ï¼
Concurrency Level #æµè¯ç并åæ°
Time taken for tests #å®æææ请æ±çæ¶é´å计
Complete requests #å®æç请æ±æ°å计
Failed requests #失败ç请æ±æ°
Requests per second #å¹³åæ¯ç§å¤çå¤å°ä¸ªè¯·æ±
Time per request #å¹³åçååºæ¶é´ï¼åä½æ¯æ¯«ç§
PSï¼ç½ç«æ§è½ååæµè¯æ¯æ§è½è°ä¼è¿ç¨ä¸å¿
ä¸å¯å°çä¸ç¯ãåªæ让æå¡å¨å¤å¨é«åæ
åµä¸æè½çæ£ä½ç°åºåç§è®¾ç½®ææ´é²çé®é¢ãApacheä¸æ个èªå¸¦çï¼å为abçç¨åºï¼å¯ä»¥å¯¹Apacheæå
¶å®ç±»åçæå¡å¨è¿è¡ç½ç«è®¿é®ååæµè¯ã
ApacheBenchå½ä»¤åçï¼
abå½ä»¤ä¼å建å¾å¤ç并å访é®çº¿ç¨ï¼æ¨¡æå¤ä¸ªè®¿é®è
åæ¶å¯¹æä¸URLå°åè¿è¡è®¿é®ãå®çæµè¯ç®æ æ¯åºäºURLçï¼å æ¤ï¼æ¢å¯ä»¥ç¨æ¥æµè¯Apacheçè´è½½ååï¼ä¹å¯ä»¥æµè¯nginxãlighthttpãtomcatãIISçå
¶å®Webæå¡å¨çååã
abå½ä»¤å¯¹ååºè´è½½ç计ç®æºè¦æ±å¾ä½ï¼æ¢ä¸ä¼å ç¨å¾é«CPUï¼ä¹ä¸ä¼å ç¨å¾å¤å
åï¼ä½å´ä¼ç»ç®æ æå¡å¨é æ巨大çè´è½½ï¼å
¶åç类似CCæ»å»ãèªå·±æµè¯ä½¿ç¨ä¹é¡»æ³¨æï¼å¦åä¸æ¬¡ä¸å¤ªå¤çè´è½½ï¼å¯è½é æç®æ æå¡å¨å èµæºèå®ï¼ä¸¥éæ¶çè³å¯¼è´æ»æºã
ApacheBenchåæ°è¯´æ
æ ¼å¼ï¼ab [options] [http://]hostname[:port]/path
åæ°è¯´æï¼
-n requests Number of requests to perform
//å¨æµè¯ä¼è¯ä¸ææ§è¡ç请æ±ä¸ªæ°ï¼æ¬æ¬¡æµè¯æ»å
±è¦è®¿é®é¡µé¢ç次æ°ï¼ãé»è®¤æ¶ï¼ä»
æ§è¡ä¸ä¸ªè¯·æ±ã
-c concurrency Number of multiple requests to make
//ä¸æ¬¡äº§çç请æ±ä¸ªæ°ï¼å¹¶åæ°ï¼ãé»è®¤æ¯ä¸æ¬¡ä¸ä¸ªã
-t timelimit Seconds to max. wait for responses
//æµè¯æè¿è¡çæ大ç§æ°ãå
¶å
é¨éå«å¼æ¯-n 50000ãå®å¯ä»¥ä½¿å¯¹æå¡å¨çæµè¯éå¶å¨ä¸ä¸ªåºå®çæ»æ¶é´ä»¥å
ãé»è®¤æ¶ï¼æ²¡ææ¶é´éå¶ã
-p postfile File containing data to POST
//å
å«äºéè¦POSTçæ°æ®çæ件ï¼æä»¶æ ¼å¼å¦âp1=1&p2=2â.使ç¨æ¹æ³æ¯ -p 111.txt ã ï¼é
å-Tï¼
-T content-type Content-type header for POSTing
//POSTæ°æ®æ使ç¨çContent-type头信æ¯ï¼å¦ -T âapplication/x-www-form-urlencodedâ ã ï¼é
å-pï¼
-v verbosity How much troubleshooting info to print
//设置æ¾ç¤ºä¿¡æ¯ç详ç»ç¨åº¦ â 4ææ´å¤§å¼ä¼æ¾ç¤ºå¤´ä¿¡æ¯ï¼ 3ææ´å¤§å¼å¯ä»¥æ¾ç¤ºååºä»£ç (404, 200ç), 2ææ´å¤§å¼å¯ä»¥æ¾ç¤ºè¦ååå
¶ä»ä¿¡æ¯ã -V æ¾ç¤ºçæ¬å·å¹¶éåºã
-w Print out results in HTML tables
//以HTML表çæ ¼å¼è¾åºç»æãé»è®¤æ¶ï¼å®æ¯ç½è²èæ¯ç两å宽度çä¸å¼ 表ã
-i Use HEAD instead of GET
// æ§è¡HEAD请æ±ï¼èä¸æ¯GETã
-x attributes String to insert as table attributes
-y attributes String to insert as tr attributes
-z attributes String to insert as td or th attributes
-C attribute Add cookie, eg. -C âc1=1234,c2=2,c3=3â (repeatable)
//-C cookie-name=value 对请æ±éå ä¸ä¸ªCookie:è¡ã å
¶å
¸åå½¢å¼æ¯name=valueçä¸ä¸ªåæ°å¯¹ãæ¤åæ°å¯ä»¥éå¤ï¼ç¨éå·åå²ã
æ示ï¼å¯ä»¥åå©sessionå®ç°åçä¼ é JSESSIONIDåæ°ï¼ å®ç°ä¿æä¼è¯çåè½ï¼å¦
-C â c1=1234,c2=2,c3=3, JSESSIONID=FF056CD16DA9D71CB131C1D56F0319F8â³ ã
-H attribute Add Arbitrary header line, eg. âAccept-Encoding: gzipâ Inserted after all normal header lines. (repeatable)
-A attribute Add Basic WWW Authentication, the attributes
are a colon separated username and password.
-P attribute Add Basic Proxy Authentication, the attributes
are a colon separated username and password.
//-P proxy-auth-username:password 对ä¸ä¸ªä¸è½¬ä»£çæä¾BASIC认è¯ä¿¡ä»»ãç¨æ·ååå¯ç ç±ä¸ä¸ª:éå¼ï¼å¹¶ä»¥base64ç¼ç å½¢å¼åéãæ 论æå¡å¨æ¯å¦éè¦(å³, æ¯å¦åéäº401认è¯éæ±ä»£ç )ï¼æ¤å符串é½ä¼è¢«åéã
-X proxy:port Proxyserver and port number to use
-V Print version number and exit
-k Use HTTP KeepAlive feature
-d Do not show percentiles served table.
-S Do not show confidence estimators and warnings.
-g filename Output collected data to gnuplot format file.
-e filename Output CSV file with percentages served
-h Display usage information (this message)
//-attributes 设置å±æ§çå符串. 缺é·ç¨åºä¸æåç§éæ声æçåºå®é¿åº¦çç¼å²åºãå¦å¤ï¼å¯¹å½ä»¤è¡åæ°ãæå¡å¨çååºå¤´åå
¶ä»å¤é¨è¾å
¥ç解æä¹å¾ç®åï¼è¿å¯è½ä¼æä¸è¯åæãå®æ²¡æå®æ´å°å®ç° HTTP/1.x; ä»
æ¥åæäºâé¢æ³âçååºæ ¼å¼ã strstr(3)çé¢ç¹ä½¿ç¨å¯è½ä¼å¸¦æ¥æ§è½é®é¢ï¼å³ä½ å¯è½æ¯å¨æµè¯abèä¸æ¯æå¡å¨çæ§è½ã
åæ°å¾å¤ï¼ä¸è¬æä»¬ç¨ -c å -n åæ°å°±å¯ä»¥äºãä¾å¦:
# ab -c 5000 -n 600
http://127.0.0.1/index.phpApacheBenchç¨æ³è¯¦è§£ï¼
å¨Linuxç³»ç»ï¼ä¸è¬å®è£
好Apacheåå¯ä»¥ç´æ¥æ§è¡ï¼
# ab -n 4000 -c 1000
http://www.ha97.com/å¦ææ¯Winç³»ç»ä¸ï¼æå¼cmdå½ä»¤è¡çªå£ï¼cdå°apacheå®è£
ç®å½çbinç®å½ä¸ï¼
-nåé¢ç4000代表æ»å
±ååº4000个请æ±ï¼-cåé¢ç1000表示éç¨1000个并åï¼æ¨¡æ1000个人åæ¶è®¿é®ï¼ï¼åé¢çç½å表示æµè¯çç®æ URLã
ç¨çä¸ä¼å¾å°ç±»ä¼¼å¦ä¸æ¾ç¤ºç»æï¼
ç»æåæï¼
This is ApacheBench, Version 2.3
Copyright 1996 Adam Twiss, Zeus Technology Ltd,
http://www.zeustech.net/Licensed to The Apache Software Foundation,
http://www.apache.org/Benchmarking 192.168.80.157 (be patient)
Completed 400 requests
Completed 800 requests
Completed 1200 requests
Completed 1600 requests
Completed 2000 requests
Completed 2400 requests
Completed 2800 requests
Completed 3200 requests
Completed 3600 requests
Completed 4000 requests
Finished 4000 requests
Server Software: Apache/2.2.15
Server Hostname: 192.168.80.157
Server Port: 80
Document Path: /phpinfo.php
#æµè¯ç页é¢
Document Length: 50797 bytes
#页é¢å¤§å°
Concurrency Level: 1000
#æµè¯ç并åæ°
Time taken for tests: 11.846 seconds
#æ´ä¸ªæµè¯æç»çæ¶é´
Complete requests: 4000
#å®æç请æ±æ°é
Failed requests: 0
#失败ç请æ±æ°é
Write errors: 0
Total transferred: 204586997 bytes
#æ´ä¸ªè¿ç¨ä¸çç½ç»ä¼ è¾é
HTML transferred: 203479961 bytes
#æ´ä¸ªè¿ç¨ä¸çHTMLå
å®¹ä¼ è¾é
Requests per second: 337.67 [#/sec] (mean)
#æéè¦çææ ä¹ä¸ï¼ç¸å½äºLRä¸çæ¯ç§äºå¡æ°ï¼åé¢æ¬å·ä¸çmean表示è¿æ¯ä¸ä¸ªå¹³åå¼
Time per request: 2961.449 [ms] (mean)
#æéè¦çææ ä¹äºï¼ç¸å½äºLRä¸çå¹³åäºå¡ååºæ¶é´ï¼åé¢æ¬å·ä¸çmean表示è¿æ¯ä¸ä¸ªå¹³åå¼
Time per request: 2.961 [ms] (mean, across all concurrent requests)
#æ¯ä¸ªè¿æ¥è¯·æ±å®é
è¿è¡æ¶é´çå¹³åå¼
Transfer rate: 16866.07 [Kbytes/sec] received
#å¹³åæ¯ç§ç½ç»ä¸çæµéï¼å¯ä»¥å¸®å©æé¤æ¯å¦åå¨ç½ç»æµéè¿å¤§å¯¼è´ååºæ¶é´å»¶é¿çé®é¢
Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 483 1773.5 11 9052
Processing: 2 556 1459.1 255 11763
Waiting: 1 515 1459.8 220 11756
Total: 139 1039 2296.6 275 11843
#ç½ç»ä¸æ¶èçæ¶é´çå解ï¼å项æ°æ®çå
·ä½ç®æ³è¿ä¸æ¯å¾æ¸
æ¥
Percentage of the requests served within a certain time (ms)
50% 275
66% 298
75% 328
80% 373
90% 3260
95% 9075
98% 9267
99% 11713
100% 11843 (longest request)
#æ´ä¸ªåºæ¯ä¸ææ请æ±çååºæ
åµãå¨åºæ¯ä¸æ¯ä¸ªè¯·æ±é½æä¸ä¸ªååºæ¶é´ï¼å
¶ä¸50ï¼
çç¨æ·ååºæ¶é´å°äº275毫ç§ï¼66ï¼
çç¨æ·ååºæ¶é´å°äº298毫ç§ï¼æ大çååºæ¶é´å°äº11843毫ç§ã对äºå¹¶å请æ±ï¼cpuå®é
ä¸å¹¶ä¸æ¯åæ¶å¤ççï¼èæ¯æç
§æ¯ä¸ªè¯·æ±è·å¾çæ¶é´çé个轮转å¤ççï¼æ以åºæ¬ä¸ç¬¬ä¸ä¸ªTime per requestæ¶é´çº¦çäºç¬¬äºä¸ªTime per requestæ¶é´ä¹ä»¥å¹¶å请æ±æ°ã
æ»ç»ï¼å¨è¿ç¨å¯¹webæå¡å¨è¿è¡ååæµè¯ï¼å¾å¾ææä¸çæ³ï¼å 为ç½ç»å»¶æ¶è¿å¤§ï¼ï¼å»ºè®®ä½¿ç¨å
ç½çå¦ä¸å°æè
å¤å°æå¡å¨éè¿å
ç½è¿è¡æµè¯ï¼è¿æ ·å¾åºçæ°æ®ï¼å确度ä¼é«å¾å¤ãå¦æåªæåç¬çä¸å°æå¡å¨ï¼å¯ä»¥ç´æ¥æ¬å°æµè¯ï¼æ¯è¿ç¨æµè¯ææè¦åç¡®ã