Locust(推荐)
了解服务器端性能的好工具。 语言python3。源码 python3+ python2.7+ github上star和fork最多的性能测试工具。
Locust是易于使用、分布式的用户负载测试工具。用于网站(或其他系统)的负载测试,计算出系统可以处理并发用户数。
测试时大量蝗虫会攻击你的网站。每只蝗虫(或叫测试用户)可以自定义、测试过程由web界面实时监控。这能帮助测试并确定瓶颈。
Locust 完全基于的事件,单机可以支持数千用户。它不使用回调,而是基于轻量进程gevent, 能简单地实线各种场景。
Multi-Mechanize(推荐)
Multi-Mechanize 是一个开源的性能和负载测试框架,它并发运行多个 Python 脚本对网站或者服务生成负载(组合事务)。测试输出报告保存为HTML或JMeter的兼容的XML。Multi-Mechanize最常用于web性能 和可扩展性(scalability)测试,也适用于任何python可以访问的API。尤其适合后台性能测试。稍微懂点编程的话,这个工具会远强过商业 的性能测试工具。
主要特性:
支持各种 HTTP methods
高级超链接和HTML表单支持
支持 SSL
自动处理 Cookies
可设置HTTP头
自动处理重定向
支持代理
支持 HTTP 认证
--基于python多进程和多线程实现,学习自行开发性能测试的佳品。 Python 2.6 or 2.7 较长时间没有更新,一般只建议改造使用。
nGrinder(推荐)
nGrinder是基于Grinder开源项目,由NHN公司的开发团队进行了重新设计和完善。nGrinder是一款非常易用,有简洁友好的用户界面和controller-agent分布式结构的强大的压力测试工具。
nGrinder测试基于python测试脚本(groovy也可),用户按照一定规范编写测试脚本,controller会将脚本一集需要的资源分发到agent,用jython执行。并且在执行的过程中收集运行情况、相应时间、测试目标服务器的运行情况等。并且保存这些数据生成测试报告,以供查看。
这款框架的一大特点就是非常的简单易用,安装也很容易,可以说是开箱即用。
源码地址:https://naver.github.io/ngrinder/
性能测试工具nGrinder介绍
grinder
分布式结构的强大的压力测试工具 http://grinder.sourceforge.net/
GTmetrix
基于Google的Pagespeed和Yslow,还可以监控网站。
- 收集关键性能指标如页面加载时间,总页面大小和请求的总数。
- 在真实Android设备上分析页面。
- 从世界各地测试你的页面。
LoadWise
LoadWise是一个简单的性能负载测试工具,使用Firefox浏览器脚本记录器。 也可用于功能测试,免费版本只支持三个用户。
Badboy
Badboy是功能强大的开源工具,专门用于复杂的Web应用的自动化测试和负载测试。支持录制/回放界面、性能测试、报告等功能,很多地方和JMeter类似,在处理AJAX方面更好。
Webperformance
Webperformance是商业负载测试工具,无需安装应用程序和配置服务器。测试启动可以创建基于URL和录制。
主页:http://www.webperformance.com/
webPagetest
WebPagetest是用于测量和分析网页性能的开源工具。提交URL后它产生的页面级指标问题的报告,包括加载时间,所有加载时间,第一个字节的时间,开始渲染时间,速度指标,DOM元素和返回码。
主页:http://www.webpagetest.org/
百度也提供了类似功能,参见:http://developer.baidu.com/apm/
Loader.io
Loader.io是免费的负载测试服务,可以对你的webapps和API进行上千并发连接的压力测试。上传token文件验证网站之后即可实时或定时测试。
SourceMonitor
免费程序SourceMonitor可查看软件源代码大小及相对模块复杂度。
- 分析速度:一万行/秒
- 支持C++, C, C#, VB.NET, Java, Delphi, Visual Basic (VB6) or HTML
- 在软件开发过程中保存检查点指标
- 显示和打印度量表格和图表,包括Kiviat图。
性能测试参考资料:
https://blazemeter.com/blog/open-source-load-testing-tools-which-one-should-you-use
Bees with Machine Guns
进行负载测试的蜜蜂(微型EC2实例)。 语言python3+ python2.6+
Siege
http负载测试和基准测试工具。 Siege支持基本身份验证,Cookie以及HTTP和HTTPS协议,并允许用户使用可配置数量模拟Web浏览器访问Web服务器。
Apache Bench
ApacheBench 是一个用来衡量http服务器性能的单线程命令行工具。原本针对Apache http服务器,但是也适用于其他http服务器。
Httperf
测量Web服务器性能,并为生成各种HTTP工作负载和测量服务器性能提供灵活的工具。重点不是实施特定的基准,而是提供强大的高性能工具,有助于构建微观和宏观基准。 httperf的三个显着特征是强大,包括产生和维持服务器过载的能力;支持HTTP / 1.1和SSL协议;及其对新工作负载生成器和性能测量的可扩展性。
JMeter (推荐)
测试静态和动态资源(文件,servlet,Perl脚本,Java对象,数据库和查询,FTP服务器等)的性能。您还可以使用它来模拟服务器,网络或对象上的重负载,以测试其强度或分析不同负载类型下的整体性能。还可对性能进行图形分析,或者在繁重的并发负载下测试服务器/脚本/对象的行为。
Google PageSpeed Insights
分析网页内容并生成建议以加快网页加载速度的服务。
Sitespeed.io
根据性能最佳实践和时序指标分析您网站的速度和性能。您可以分析一个站点,分析和比较多个站点,或者在性能不合格时让持续集成服务器停止构建。
Google ngx_pagespeed
可加快您的网站速度并缩短网页加载时间。此开源Apache服务器模块自动将Web性能最佳实践应用于页面和关联资源CSS,JavaScript,图像。
Google mod_pagespeed
可加快您的网站速度并缩短网页加载时间。此开源nginx服务器模块自动将Web性能最佳实践应用于页面和关联资源CSS,JavaScript,图像。
参考资料
- 本文涉及的python测试开发库 请在github上点赞,谢谢!
- 紧张整理更新中,讨论 钉钉免费群21745728 qq群144081101 567351477
- 本文相关书籍下载
- 更多python性能测试工具参考
- 2018最佳12个开源或免费web服务器和客户端性能测试工具