1、做压力测试的工具:ab
2、性能的监控工具:nmon
查看下linux主机上的ulimit -n 的数据,没有改动过的是1024,最好要改的大一点。这个是linux下最大线程数,如果过小的话无法进行大并量的测试。
ab经行压力测试时的脚本我用的形式为:
1.(get方式)./ab -n 1000 -c 1000 -k http://localhost/hello.php
2.(post方式./ab -n 2500 -c 2500 -k -p postfile http://localhost/hello.php
其中参数n为请求的次数,c为一次请求的并发次数,-k为keep_alive,一般出现链接被重置的错误时最好带上-k的参数。
还有好多参数,可以在ab--help中看下(这个是超级秘籍)。
[php] view plain copy
Usage: ab [options] [http[s]://]hostname[:port]/path
Options are:
-n requests Number of requests to perform
-c concurrency Number of multiple requests to make
-t timelimit Seconds to max. waitfor responses
-b windowsize Size of TCP send/receive buffer, in bytes
-p postfile File containing data to POST. Remember also to set -T
-u putfile File containing data to PUT. Remember also to set -T
-T content-type Content-type headerfor POSTing, eg.
'application/x-www-form-urlencoded'
Default is'text/plain'
-v verbosity How much troubleshooting info to print
-w Print out results in HTML tables
-i Use HEAD instead of GET
-x attributes String to insertas table attributes
-y attributes String to insertas tr attributes
-z attributes String to insertas td or th attributes
-C attribute Add cookie, eg. 'Apache=1234. (repeatable)
-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 usernameand password.
-P attribute Add Basic Proxy Authentication, the attributes
are a colon separated usernameand password.
-X proxy:port Proxyserverand port number to use
-V Print version numberand exit
-k Use HTTP KeepAlive feature
-d Do not show percentiles served table.
-S Do not show confidence estimatorsand warnings.
-g filename Output collected data to gnuplot format file.
-e filename Output CSV file with percentages served
-r Don'texit on socket receive errors.
-h Display usage information (this message)
-Z ciphersuite Specify SSL/TLS cipher suite (See openssl ciphers)
-f protocol Specify SSL/TLS protocol (SSL2, SSL3, TLS1,or ALL)