Posted on

压力测试 (Pressure test) 解决方案

2015120804110711

测试介绍

性能/压力测试的内涵

  • 基准/基线测试 base line testing / benchmark testing
  • 负载测试 load testing
  • 压力测试 stress testing
  • 稳定性测试 scalability testing
  • 疲劳测试 endurance testing
  • 组合测试 combination testing
  • 远程/机房测试 remote/local testing

测试指标有哪些要关注的

  • 响应时间:从用户角度
  • 服务器资源:从系统角度
  • 吞吐量:从业务角度

压力测试的目标,搞死服务器,从而找到瓶颈点。

压力测试的过程

  1. 了解被测试应用的协议
  2. 了解被测系统的组成
  3. 编写压力测试脚本
  4. 生成压力
  5. 监控系统
  6. 收集并分析数据
  7. 得出结论

测试工具

工欲善其事,必先利其器*

  1. Apache JMeter
  2. FunkLoad
  3. tsung
  4. loadrunner (For money)
  5. http_load
  6. webbench
  7. ab
  8. Siege

Apache JMeter

Apache jmeter 是一个100%的纯java桌面应用,用于压力测试和性能测量。它最初被设计用于Web应用测试但后来扩展到其他测试领域。
Apache jmeter 可以用于对静态的和动态的资源(文件,Servlet,Perl脚本,java 对象,数据库和查询,FTP服务器等等)的性能进行测试。它可以用于对服务器,网络或对象模拟繁重的负载来测试它们的强度或分析不同压力类型下的整体性能。你可以使用它做性能的图形分析或在大并发负载测试你的服务器/脚本/对象。
我们希望看到随着开发人员利用插件架构的优势,JMeter的能力能够迅速扩展。将来使得JMeter尽可能地变成一个有用的衰退测试工具,而不损失JMeter的压力测试能力。

窗口程序

FunkLoad

FunkLoad是一个功能和负载的Web测试仪,主要的用于Web项目(进行回归测试),性能测试,负载测试(如音量的测试或寿命测试),压力测试的功能。它也可以用来编写Web代理脚本的任何Web重复性的任务。

python环境 web版

Tsung

tsung是用erlang开发的一款简单易用的压力测试工具,可以生成成千上万的用户模拟对服务器进行访问。
支持多种协议如xmpp,http,mysql,支持集群,高效率(可以用一台普通的机器压垮几台性能强大的服务器)。

通过XML配置进行测试

Loadrunner

LoadRunner 是一种预测系统行为和性能的负载测试工具。通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner 能够对整个企业架构进行测试。通过使用LoadRunner ,企业能最大限度地缩短测试时间,优化性能和加速应用系统的发布周期。

窗口程序

Http_load

程序非常小,解压后也不到100K
http_load以并行复用的方式运行,用以测试web服务器的吞吐量与负载。
但是它不同于大多数压力测试工具,它可以以一个单一的进程运行,一般不会把客户机搞死。
还可以测试HTTPS类的网站请求。

http_load -p 并发访问进程数 -s 访问时间 需要访问的URL文件

Webbench

webbench是Linux下的一个网站压力测试工具,最多可以模拟3万个并发连接去测试网站的负载能力。
这个程序更小,解压后不到50K。

webbench -c 1000 -t 130 url

Ab

ab是apache自带的一款功能强大的测试工具。

webbench -c 1000 -t 130 url

Siege

一款开源的压力测试工具,可以根据配置对一个WEB站点进行多用户的并发访问,记录每个用户所有请求过程的相应时间,并在一定数量的并发访问下重复进行。

siege -c 100 -r 10 -f site.url

总结

Apache JMeter ( 适合java压力测试 )
Loadrunner(需要钱,可以模拟千万用户。适合大型企业)
FunkLoad (Python编码测试,适合Pythoner)
Tsung(支持集群,高效率(可以用一台普通的机器压垮几台性能强大的服务器))

0 thoughts on “压力测试 (Pressure test) 解决方案

  1. Very nice Michelle – think maybe I need some little happy mushrooms – LOL – not the stamp set already have it. Hope you are feeling better soon gil!!riendfr!

发表评论

电子邮件地址不会被公开。 必填项已用*标注