您好,欢迎来到有书房!

常见的压测工具

分类:知识大全作者:互联网王者 发布时间:2019-03-04 17:03:59阅读:1.8万+

引言:当我们架构部署了一个系统,我们想知道这个系统到底能够承受多大的用户访问量,或者有时候对系统进行一些优化后想知道优化了多少性能,就需要我们对系统进行压力测试了。

当我们架构部署了一个系统,我们想知道这个系统到底能够承受多大的用户访问量,或者有时候对系统进行一些优化后想知道优化了多少性能,就需要我们对系统进行压力测试了。


常见的压测工具有Apache Bench、Web bench、http_load、Siege、jmeter、Apache Bench、LoadRunner、云平台压测工具等。这些压测工具的不同点主要有以下几方面,比如工具的开发语言是什么、是否支持编写脚本语言和测试脚本语言(Lua、Python)、是否支持分布式、并发机制是线程还是协程、单机发起并发能力的高低、报告结果是简易还是丰富和是否有图形化等。



一、常用小型简单的压测工具

1.ab

Apache Bench(简称为ab)是Apache服务器自带的一个web压力测试工具,是Apache提供用于对Apache Web服务进行基准测试的工具。ab是一个命令行工具,

对负载机的要求很低,既不会占用很高CPU,也不会占用很多内存,可以高并发的创建线程对目标系统进行测试,常用于对HTTP接口的压力测试和性能测试。使用ab测试系统性能最好在局域网内测试,准确度会高很多。ab缺点就是没有图形化结果,不能监控。


2.Web bench

web Bench是有名的网站压力测试工具,它是由 Lionbridge公司开发。webbench的标准测试可以向我们展示服务器的两项内容:每秒钟响应请求数和每秒钟传输数据量。Web bench采用多进程发包,最多可以模拟3万个并发连接去测试网站的负载能力。Webbech能测试处在相同硬件上,不同服务的性能以及不同硬件上同一个服务的运行状况。


3.http_load

http_load是一款基于Linux平台的web服务器性能测试工具,用于测试web服务器的吞吐量与负载,web页面的性能。http_load是国外一个博主写的一个基于Linux的性能测工具,小巧轻便,http_load采用单一进程并行复用方式发包,由于只有一个进程,只能达到千的并发量。


4.Siege

Siege是一款开源的压力测试工具,设计用于评估WEB应用在压力下的承受能力。可以根据配置对一个WEB站点进行多用户的并发访问,记录每个用户所有请求过程的相应时间,并在一定数量的并发访问下重复进行。siege可以从您选择的预置列表中请求随机的URL。所以siege可用于仿真用户请求负载,而ab则不能。但不要使用siege来执行最高性能基准调校测试,这方面ab就准确很多。


目前来说Webbench、Apache Bench、http_load、Siege是四款比较流行的网站服务器压力Web性能测试工具,安装和使用都非常简单,属于轻量级的压测工具,结果不会特别准确,可以用作参考。尽量从远程访问、局域网访问和本地等多个方面进行全方位的测试。每种工具支持的并发级别不一样,因此具体工具的选用还要看实际情况。


二、常用大型成熟专业的压测工具

1.JMeter

Apache JMeter 是 Apache 组织基于 Java 开发的压力测试工具,用于对软件做压力测试。

jmeter是一个使用Java开发的Apache开源软件,用于软件的性能评估和压力测试。它最初是为测试Web应用程序而设计的,但此后又扩展到其他测试功能。jmeter可用于静态和动态资源、Web动态应用程序的性能测试,例如:HTTP、 HTTPS、LDAP、TCP、FTP、SMTP、POP3、IMAP、Shell脚本、数据库、Java 对象,也可以用于对服务器、服务器组、网络或对象上的巨大负载,以测试在不同强度的压力测试下它们的强度和整体性能。jmeter同样采用线程并发机制,但其主要依靠增加线程数提高并发量,当单机模拟数以千计的并发用户时,对于CPU和内存的消耗比较大。支持http、ftp、tcp等多种协议类型测试,界面可视化操作,表格、图形、结果树等多类可视化数据分析和报告输出,单机并发量不高,支持分布式。JMeter最主要的特点在于扩展性强,插件丰富。

2.LoadRunner

LoadRunner,是一种预测系统行为和性能的负载测试工具。通过模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner能够对整个企业架构进行测试。企业使用LoadRunner能最大限度地缩短测试时间,优化性能和加速应用系统的发布周期。LoadRunner是成熟的专业大型压测重量级工具,功能大而全,要学精通还是有点难度,需要专业的测试人员。LoadRunner可以对各种应用程序进行性能测试,包括Web应用程序、移动应用程序、企业级应用程序等。它提供了一个综合的性能测试解决方案,包括测试计划设计、脚本录制、测试执行、结果分析和报告生成等功能。


三、云计算平台下的压测工具

云平台自动给我们分配云主机,直接发起对被压测目标进行压测,轻易的实现分布式部署,高并发,跨地域,更加真实模拟生产环境,反映系统真实状况,提供各种压测指标。当然商业产品是需要收费的,但是各种优点也是很明显的。


1.阿里云:

性能测试PTS(Performance Testing Service)是阿里云一款商业化的性能测试工具。支持按需发起压测任务,可支持百万并发、千万TPS流量发起能力,100%兼容JMeter。PTS支持的场景编排、API调试、流量定制、流量录制等功能,可快速创建业务压测脚本,精准模拟不同量级用户访问业务系统,帮助业务快速提升系统性能和稳定性。



2.腾讯云:

服务性能测试(Server Performance Testing)是一款性能测试工具,可模拟百万用户发压,提供多维度性能测试报告,帮助业务快速定位产品性能瓶颈、准确验证系统能力,全面提升稳定性。


压测大师(Load Master,LM)是简单易用的自动化性能测试平台,为用户提供测试框架及压测环境,创建虚拟机器人模拟产品多用户并发场景。


云压测(Performance Testing Service, PTS)是一款分布式性能测试服务,可模拟海量用户的真实业务场景,全方位验证系统可用性和稳定性。支持按需发起压测任务,提供百万并发多地域流量发起能力。提供流量录制、场景编排、流量定制、高级脚本定制等功能,可快速根据业务模型定义压测场景,真实还原应用大规模业务访问场景,帮助用户提前识别应用性能问题。




声明:本文内容版权归原作者所有,未经授权,禁止转载!

声明:本站仅提供内容存储、展示服务,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的虚假信息,谨防诈骗。如发现有害或侵权内容,可联系本站删除!

发表评论

评论

联系
我们

平台负责人邮箱
282271588@qq.com

关注
公众号

关注官方公众号

下载
安卓版

下载安卓版

回到
顶部