Apache Jmeter 分布式压测与监控

本文介绍了如何使用Apache Jmeter进行分布式压力测试,包括Jmeter分布式环境的搭建,断言配置,变量设置以及性能测试结果分析。通过分布式压力测试,可以评估服务器性能瓶颈,为架构扩容提供数据参考。同时,文章还讲解了并发测试和稳定性测试中的监控策略,以确保测试的准确性和服务器的稳定性。
摘要由CSDN通过智能技术生成

1.前言

对于运维工程师来说,需要对自己维护的服务器性能瓶颈了如指掌,比如我当前的架构每秒并发是多少,我服务器最大能接受的并发是多少,是什么导致我的性能有问题;如果当前架构快达到性能瓶颈了,是横向扩容性能提升大,还是纵向扩容性能提升大。

如果需要了解这些信息,需要在两方面下功夫,一个是对服务器进行性能测试,一个是对服务器进行性能监控。

**通过对服务器进行性能测试:**我们可以了解到当前架构的性能瓶颈,还可以对架构横向扩容和纵向扩容来进行测试,对后期的架构扩容提供数据参考。

**通过对服务器进行性能监控:**我们可以了解当前服务器的CPU、内存、IO等资源是否耗尽,我们可以在监控系统添加触发器,一旦服务器资源在快要达到瓶颈的时候,我们可以触发一个报警让运维人员来处理,也可以触发一个让架构进行自动化扩容(如果是云平台,直接调用api创建主机,ansible部署应用和程序)

本文将介绍下,我在工作中使用jmeter测试性能瓶颈的一些实践。本文做性能测试适用于移动互联网架构,非移动互联网架构有其他更好的测试方法。

2.Jmeter分布式压测介绍

在工作中使用jmeter做大并发压力测试的场景下,单机受限内存、CPU、网络IO,会出现服务器压力还没有上去,但是压测服务器已经由于模拟的压力太大死机了。为了让jmeter工具提供更强大的负载能力,jmeter提供了多台机器同时产生负载的机制,下面是架构图。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3z5gQwOv-1650506145944)(/img/remote/1460000022391253)]

**原理:**比如我在jmeter server配置线程数为10,循环次数为100,也就是会对测试服务器发起1000次请求,我有3台agent服务器,如果我在server端选择远程启动压力测试,那么每台agent都会对测试服务器发起10*100次请求,那么这次压力测试产生的请求就是10*100*3=3000次。

如果对原理不是很明白,看完下面的操作之后就会理解了。

3.Jmeter分布式压测环境搭建

3.1.搭建前说明

服务器环境说明:做性能测试可以直接在在云平台按需购买压力机,一旦测试结束释放压力机即可。

分布式环境压力服务器要求:

您好!针对使用 JMeter 进行大数据量压测,我可以给您一些建议。 首先,确保您的 JMeter 客户端和被测系统所在的机器具备足够的资源,包括足够的内存、处理器、网络带宽等。否则,在大数据量下可能会影响测试结果的准确性。 其次,配置 JMeter 的线程组。线程组中的线程数应该根据测试需求和被测系统的性能承受能力来设定。可以使用分布式测试来增加并发用户数,从而模拟大规模用户访问。 在测试计划中,使用适当的采样器和监听器进行测试。采样器用于发送请求,例如 HTTP 请求或者数据库请求。监听器用于收集和分析测试结果。根据被测系统的特点,选择适当的采样器和监听器来模拟真实的请求场景和监控系统性能。 为了模拟大数据量,可以使用 JMeter 提供的 CSV 数据文件来作为测试数据源。将大量的测试数据保存在 CSV 文件中,然后通过 CSV 数据集配置元件来加载数据。 另外,可以根据实际需求进行参数化设置,例如动态生成请求参数、随机选择用户等,以增加测试的多样性和真实性。 最后,在运行测试之前,确保进行适当的预热,以使被测系统达到稳定状态。同时,监控被测系统的性能指标,如响应时间、吞吐量、错误率等,以及 JMeter 客户端的资源使用情况。 希望以上建议对您在 JMeter 中进行大数据量压测有所帮助!如果您有任何进一步的问题,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值