ab压力测试_逃不开的压力测试

3fbc80048afa41060079e39a1dbbba10.png

1 压力测试

618将近,看似一切都在有条不稳的进行着。但其实618的备战在5月份就已经打响了(我真真切切感受到的是从这个时候开始的,或许开始的时间比5月更早)。首先最先开始的就是压力测试,每一年的大促不管是618还是双十一,压测都是不可或缺的一部分。今天就记录一下我接触的压力测试。

2 不一样的压测

一般在中小型互联网企业中,压力测试不外乎是使用Jmeter,LoadRunner,AB等等的工具。我对这些工具有一个简单的了解,但是在真实的工作中并没有使用过这些工具,因为公司有自己的一整套标准的压力测试的流程。我们这一次不会去讲这些工具如何使用,而是来说一下通过这次参加618大促的压测总结的一些知识。

3 压测过程

3.1 压测开始

在压力测试真正的开始之前,首先会编写要进行压力测试的脚本。通过脚本去模拟真实的用户请求接口,通过不断的增加这个脚本的执行来达到预期的TPS值。在618压测时,是分两种情况的:第一种是可以拿到服务端JSF接口的jar包的;第二种就是在编写压测脚本的时候拿不到jar包的。在第一种的情况下,在调用接口时,可以直接通过new的方式来完成调用接口,之后可以通过实例化出的对象直接调用方法来完成请求。在第二种情况下,是无法直接调用接口服务的,在这种情况下可以通过dubbo的泛化调用来完成接口和方法的调用。这里贴出一些dubbo的泛化调用的主要代码:

通过spring方式实现:Spring 配置申明 generic="true":

在 Java 代码获取 barService 并开始泛化调用:

GenericService barService = (GenericService) applicationContext.getBean("barService");Object result = barService.$invoke("sayHello", new String[] { "java.lang.String" }, new Object[] { "World" });

以上就是在压测前期需要准备的,接下来就可以开始压测了。

3.2 压测进行中

在压测进行中时,之后的工作主要是一个体力活了。在刚刚开始时先给一个初始值的并发值,然后在依次的向上添加并发数,一直达到压测开始之前设定的目标值,然后观测一段时间。比如你在压测开始之前设定的目标值是1W的TPS,那么你就需要在压测的过程中,慢慢的向这个值去靠拢。同时需要关注TPS波动变化,可以通过TPS变化来检测压测的接口是否有问题。TPS波动越大,接口就表示有问题,这时候服务该降级的就降级,该熔断的就熔断;TPS越平稳,接口出问题的概率越小。当压测的TPS值达到我们预期时,我们跑一段时间没有太大的波动的话,压测就可以告一段落了。

3.3 压测结束

当压测结束时,需要第一件事做的就是记录重要的节点信息。可以把在压测过程中出现的相关问题接口记录一下,比如是哪个接口在压测过程中,引起的TPS的抖动,那么就需要把这个接口记录下来,方便之后去优化。接着就可以去整理压测报告了,报告里面需要体现的点有:测试是否通过, 这也是第一点需要交代的,接着就可以把在压测过程中出现的问题接口,或者发现的的问题都描述一下,最后就可以放一些压测时候的截图,例如TPS的截图,TP99的等等。到这里我们的压测就可以结束了。

4. 总结

以上就是我对压力测试的一些简单的总结,或许有说的不对的地方,也希望大家可以给出建议,我们可以一起交流和学习。对于我来说,真的有太多太多需要学习的地方了,但是每段时间都有简单的收获也是不错的。大家一起加油吧!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值