前言:在接触过性能测试工具如jmeter/loadrunner后,多少也对执行性能测试的方式有一点认识,这些工具基本都实现了请求-响应-结果统计分析这样完整的测试链路,用户方面只需组织这些现成的插件即可实现性能测试过程,但是这些都不是对python友好的工具,对于python系用户来说不能用python接入和封装是一件很让人扫兴的事情( ╯□╰ )
“Locust是使用Python语言编写实现的开源性能测试工具,简洁、轻量、高效,并发机制基于gevent协程,可以实现单机模拟生成较高的并发压力。” --摘自某博客
例子源码:
启动脚本:访问百度首页,端口默认为8089
web端监控访问情况:通过浏览器访问:http://localhost:8089
主要特点如下:
1) 使用普通的Python脚本实现用户测试场景。可灵活组织python实现方式或者二次封装,模拟更加真实的使用场景。
2) 分布式和可扩展,支持成千上万的用户。单台机器可并发数量高于多线程或者多进程方式的工具(jmeter/loadrunner)。
3) 基于Web的用户界面,用户可以实时监控脚本运行状态。支持web和no web方式,支持以命令行调用方式集成到其他平台中。
4) 几乎可以测试任何系统,除了web http接口外,还可自定义clients测试其他类型系统
参考:
http://www.testclass.net/locust/introduce
http://lovesoo.org/locust-performance-testing-framework-from-entry-to-mastery.html