apache benchmark

1 ab是什么

是一个web高并发测试工具,可以发送get、put、post请求。

2 ab -n和-c共存

-c是concurrency的缩写,即同一时间发送多个请求。

-n是指本次总共发送多少个请求。

假如-n 100 -c 10,就是说,共进行10次请求发送,每次并发10个,总共发送的请求数是100。

相当于10个人同时访问。

3 -k http keepalive

是否使用http的keepalive特效,比如每个并发要发送10个请求,那么这些请求都在同一个tcp连接上发送,否则每个请求都要创建新的tcp请求,也就是说,这10个请求就在同一个socket上发送。

 4 -s

指定socket的timeout时间,默认是20s。

如果出现“apr_pollset_poll: The timeout specified has expired(70007)”错误,那么加-k,并且-s 100,加大socket timeout的值,就可以了。

5 ab是单线程的

所有的请求都在单个线程上发送。如果用于跑ab的机器有多个cpu,比如8个cpu,那么要充分使用cpu的性能,就应该启动8个ab实例。

 

posted @ 2018-02-24 23:01  PhoenixTree(梧桐树)  阅读(245)  评论(0编辑  收藏  举报