[雪峰磁针石博客]软件测试专家工具包2性能测试
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 较长时间没有更新,一般只建议改造使用。
![
](https://upload-images.jianshu.io/upload_images/12713060-2ad4113d61eb2f47.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
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
https://gtmetrix.com/ 基于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文件验证网站之后即可实时或定时测试。
主页:https://loader.io/
SourceMonitor
免费程序SourceMonitor可查看软件源代码大小及相对模块复杂度。
- 分析速度:一万行/秒
- 支持C++, C, C#, VB.NET, Java, Delphi, Visual Basic (VB6) or HTML
- 在软件开发过程中保存检查点指标
- 显示和打印度量表格和图表,包括Kiviat图。
主页:http://www.campwoodsw.com/sourcemonitor.html
性能测试参考资料:
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服务器和客户端性能测试工具
[雪峰磁针石博客]软件测试专家工具包2性能测试相关推荐
- [雪峰磁针石博客]软件测试专家工具包1web测试
web测试 本章主要涉及功能测试.自动化测试(参考: 软件自动化测试初学者忠告) .接口测试(参考:10分钟学会API测试).跨浏览器测试.可访问性测试和可用性测试的测试工具列表. 安全测试工具和性能 ...
- python3基础教程雪峰_[雪峰磁针石博客]python3快速入门教程2数据结构1变量与赋值...
Published: 日 02 九月 2018 语法基础 解释器像简单的计算器:可以输入表达式,它会返回值.表达式语法很简单:运算符 + , - , * 和 / 与其它语言一样(例如Pascal或C) ...
- [雪峰磁针石博客]可爱的python测试开发库
欢迎转载,转载请注明来源:github地址 谢谢点赞 相关书籍下载 测试开发 Web UI测试自动化 splinter - web UI测试工具,基于selnium封装. 链接 selenium - ...
- [雪峰磁针石博客]2018最佳12个开源或免费web服务器和客户端性能测试工具
更多参考 软件测试专家工具包2性能测试 服务器端性能 image.png Locust.io – 了解服务器端性能的好工具. 语言python3.源码 python3+ python2.7+ gith ...
- [雪峰磁针石博客]性能测试艺术
为什么要进行性能测试? 什么是好的与坏的性能?为什么性能测试在软件开发生命周期(SDLC software development life cycle)中很重要? 性能不佳的应用通常无法实现企业预期 ...
- 大学使用python 编辑器_[雪峰磁针石博客]2018 最佳python编辑器和IDE
IDE没有统一的标准,自己习惯就是最好的.本文列出一些较常用的IDE,供大家参考. 一般而言,WingIDE.PyCharm.Spyder.Vim是比较常用的IDE. Spyder Spyder是Py ...
- 雪峰磁针石博客]渗透测试简介2入侵工具
本书目录 入侵工具 黑客工具是计算机程序和脚本,可帮助您查找和利用计算机系统,Web应用程序,服务器和网络中的弱点. 在此列表中,我们重点介绍了Web应用程序,服务器和网络的道德黑客攻击的前20个工具 ...
- [雪峰磁针石博客]kotlin书籍汇总
2019独角兽企业重金招聘Python工程师标准>>> 下载地址 Learning Kotlin by Building Android Applications - 2018 初级 ...
- [雪峰磁针石博客]计算机视觉opcencv工具深度学习快速实战1人脸识别
使用OpenCV提供的预先训练的深度学习面部检测器模型,可快速,准确的进行人脸识别. 2017年8月OpenCV 3.3正式发布,带来了高改进的"深度神经网络"(dnn deep ...
- [雪峰磁针石博客]大数据Hadoop工具python教程9-Luigi工作流...
管理Hadoop作业的官方工作流程调度程序是Apache Oozie.与许多其他Hadoop产品一样,Oozie是用Java编写的,是基于服务器的Web应用程序,它运行执行Hadoop MapRedu ...
最新文章
- Spring+SpringMVC+shiro+mysql(一)
- 用服务器安装nginx部署web页面
- 6.19决战光荣日,一场魔兽狂欢里的青春、父爱和友谊
- python 素描化图像_python实现图片素描效果
- 移动通信考前预习_第2章_蜂窝技术
- Hibernate4 注解方法说明
- HDU - 6383 百度之星2018初赛B 1004 p1m2(二分答案)
- 数据结构-链表1-顺序存储
- WPF中ContextMenu(右键菜单)使用Command在部分控件上默认为灰色的处理方法
- 你可能学了假流程图,三步教会你绘制大厂流程图
- 对Linux 目录的认识
- python画图渐变颜色的代号_plt绘图颜色渐变以及colormap
- android 按钮点击声音,如何在Android中单击按钮时播放声音?
- Spring Data Jpa出现Not supported for DML operations
- 日常邮件用语(一)网摘学习
- MySQL源码—线程篇
- 木马免杀实践-golang
- 计算机四级 网络工程师 考过指南
- 计算机四级网络工程师(操作系统单选)- 知识点
- 内存颗粒和闪存颗粒的区别_slc、mlc、tlc闪存芯片颗粒哪个好?有什么区别?