Web开发,少不了的就是压力测试,它是评估一个产品是否合格上线的基本标准,下面咱们来一一剖析他们的使用方式。web
测试前,前面先把系统的端口限制数改大,看看Mac下面的默认限制apache
ulimit -a open files (-n) 2560
2000多的fd数是很小的,咱们把他改大,固然我测试过了,也只能开10000而已,Linux能够开6W多,因此:并发
ulimit -n 10000
在用 ulimit -a 检查一下socket
open files (-n) 10000
接下来把cpu检查打开,一般咱们只看使用率最高的那个便可:工具
top -n1
-n3 就是前面3个了,以此类推。测试
OK咱们能够继续了。。。网站
webbench是一枚强大得能够的压力测试工具,它最多能够模拟3万个并发链接去测试网站的负载能力,我的感受要比Apache自带的ab压力测试工具好,安装使用也特别方便。code
安装:开发
sudo port install webbench
用法:文档
webbench -c 并发数 -t 运行测试时间 URL
如:
webbench -c 5000 -t 120 http://www.epooll.com
ab是Apache自带的压力测试工具,很是小巧,惋惜的是在mac下面表现不佳,跳动太大,并且还会出现 apr_socket_recv: Connection reset by peer (54) 的错误。ab想说爱你不容易呀,不过Linux下仍是比较稳定的,因此仍是来讲说用法吧。
安装:
http://apache.mirrors.pair.com/httpd/
用法:
ab -c 并发数 -n 请求数 URL
如:
ab -c 1000 -n 10000 http://www.epooll.com
固然其余用法就本身 man ab 而后好好看文档啦
siege是我解决ab该死的 apr_socket_recv: Connection reset by peer (54) 错误时发现的一个好工具,不得不说这工具真心好,用法和webbench同样,可是信息全面不少。
安装:
sudo port install siege
用法:
siege -c 并发数 -t 运行测试时间 URL
如:
siege -c 1000 -t 5s URL
这里要注意的是-t后面的时间要带单位,s表示秒,若是不带,就是分钟,分钟的单位,仍是挺长的,因此要注意一下。