性能测试工具比较
1.性能测试略识
常用指标:
响应时间是指系统对请求作出响应的时间。
吞吐量是指系统在单位时间内处理请求的数量。
并发用户数是指系统可以同时承载的正常使用系统功能的用户的数量。
每秒查询率QPS是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。
如何提升QPS?
1)减少CPU的使用时间(哪些代码会消耗CPU:循环、字符串拼接\查找\替换、编码\解码、序列化\反序列化、压缩)
2)增加CPU的数量
3)减少同步锁
如何提升RT?
1)减少I/O的响应时间
2)减少I/O的调用次数
3)减少CPU使用时间(当然在I/O占大头的应用里,这方面优化效果肯定不明显)
2.各种性能测试软件
https://my.oschina.net/zlp5201/blog/530290
http://www.oschina.net/news/30374/10-free-tools-to-loadstress-test-your-web?from=rss
3.Http压测工具比较
互联网服务压测是非常重要的评价方法,ab,webbench,jmeter等都是业界流行的测试工具,ab和webbench作为shell模式下轻量级的测试工具,jmeter则作为有GUI界面的更高级测试工具,各有特点,ab比webbench功能更多一些,所以这里选择ab和jmeter来做一个对比。
ab就是Apache Benchmark的缩写,在linux下直接yum install ,使用方法:
ab -n 100 -c 10 -p post_data.txt -T 'application/json' http://localhost:8083/query/leui/v0/post/user/behavior/content
1.Jmeter
是一款优秀的开源测试工具,是每个自身测试工程师必须掌握的测试工具,熟练使用Apache Jmeter后,就不会使用LoadRunner了。
而且Jmeter为免安装版,是100%Java的压力测试工具。
2.Http_load
Linux安装方式:make&make install
基于linux平台的一种性能测工具。以并行复用的方式运行,用以测试web服务器的吞吐量与负载,测试web页面的性能。
优点
1.基于命令行,简单、易于上手
2.小巧轻便,解压缩后不到100k
3.开源,免费
缺点
1.仅适用于web页面的性能测试,不适用于访问数据库
2.测试结果分析有限
3.平台依赖linux
3.wrk
是一个很简单的 http 性能测试工具. 也可以叫做 http benchmark 工具. 只有一个命令行, 就能做很多基本的 http 性能测试.
C语言实现,自身性能好,结果统计更精确,基于redis事件循环AE,底层支持epoll
安装方式:make 需要open-ssl库支持
http://blog.csdn.net/xx123er/article/details/52401296
http://www.cnblogs.com/shirly1981/p/5613955.html