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实例。