我正在使用JMeter(在分布式模式下)进行负载测试。它是一个JAVA应用程序和SQL数据库。应用程序服务器和数据库服务器是两个不同的映像。
如果我放50个用户的负载,60分钟后应用服务器达到100%。 如果我把100个用户的负载,60分钟后应用服务器达到100%。 如果我把500个用户的负载,60分钟后应用服务器达到100%。 如果我把1500用户的负载,60分钟后应用服务器达到100%。 如果我把2500用户的负载,60分钟后应用服务器达到100%。
无论用户数量多少,60分钟后CPU达到100%。
请让我知道背后的原因。
答案 0 :(得分:2)
看起来像Application Server JVM中的内存问题。
尝试监视JVM的内存使用情况(请求应用程序服务器管理员将-verbose:gc
添加到应用程序启动参数中。)
运行负载时,请查看应用程序服务器上生成的文件,并查找过多的GC时间(这是CPU使用率过高的原因)。 如果发生这种情况 - 您可能会建议增加应用服务器上的JVM内存。
如果没有记录过多的GC - 情况并非如此,您应该与应用程序服务器管理员一起解决。