【发布时间】:2020-11-04 06:02:41
【问题描述】:
感谢您查看此问题,我有一个从 JMS 队列读取并处理消息并将处理后的消息发布到外部 http 服务的应用程序。使用 gatling 进行负载测试的最佳方法是什么。
我可以使用 gatling.jms 模拟队列上的负载。如何验证 POST 到外部服务。
【问题讨论】:
标签: load-testing gatling
感谢您查看此问题,我有一个从 JMS 队列读取并处理消息并将处理后的消息发布到外部 http 服务的应用程序。使用 gatling 进行负载测试的最佳方法是什么。
我可以使用 gatling.jms 模拟队列上的负载。如何验证 POST 到外部服务。
【问题讨论】:
标签: load-testing gatling
使用 Gatling 进行负载测试是一件相当复杂的事情。我已经做了足够多的事情来了解一些陷阱,所以这里有一些可能有用的见解:
注意事项:
您无需进行破坏测试,但有时需要注意它是一个有用的指标。我发现在这里使用二分搜索策略效果很好,可以相对较快地获得峰值负载。
您应该测试的是,您的应用程序可以处理您期望它在最坏的情况下接收到的负载;不同的组织对于他们期望他们的应用程序能够处理多少负载有不同的容忍度。在我工作过的一些地方,他们使用了很多优化来直接减少服务器的负载,但如果这些保护措施失败,服务器预计将处理比通常负载多 10 倍的流量。在其他地方,那些相同的优化没有到位,而是有可用的灾难恢复系统,准备好在主应用程序出现故障时恢复。在这种情况下,应用程序只需要能够处理 2 倍的峰值负载(通过评估过去一年的日志/指标可以观察到)。
我主要使用 JVM 上的垃圾收集语言。我知道现在有零垃圾收集设计/功能可以帮助最小化 GC 任务累积的影响......所以几乎总是可以通过语言/内存设置、数据库索引或在你的在您开始更改硬件之前,应用程序本身或您用来有效执行任务的策略。
可以通过日志/指标系统评估峰值负载
【讨论】: