java - So testen Sie die CPU eines HTTP-Dienstes (Tomcat) einem Stresstest
女神的闺蜜爱上我
女神的闺蜜爱上我 2017-06-28 09:22:50
0
5
1237

Prämisse: Hallo zusammen, jetzt muss ich einen Tomcat-Server einem Stresstest unterziehen, um herauszufinden, wo der Engpass der Anwendung liegt. Während des Testvorgangs hat die von der JVM-Ressource belegte CPU jedoch nicht 50 % erreicht, und MySQL wurde nach unten gezogen.

Jetzt möchte ich den Engpass des Anwendungsdienstes herausfinden. Wenn die Parallelität hoch ist, ist die CPU zu hoch.
Die Methode, an die ich gedacht habe, ist: Erstellen Sie mehrere Threads auf Codeebene, lesen und schreiben Sie nicht die Datenbank und lassen Sie die CPU hochfahren. Ist es möglich? ?
Vielen Dank~~

女神的闺蜜爱上我
女神的闺蜜爱上我

Antworte allen(5)
phpcn_u1582

一般来说Web应用的瓶颈都在数据库上,应用服务器(无论是Tomcat还是别的)负载过大的话,一般来说只要加服务器就能解决的。

如果希望降低成本,找出应用的瓶颈在哪,压测是有些窍门的,比如:

把mysql存储引擎改成blackhole,这样数据库就不会容易被轻易拖垮。

洪涛

如果 CPU 占用太多,是不是已经使用了数据库连接池,限制链接的创建。为了减少数据库的访问,某些更新少的数据是不是可以放缓存如 Redis,不需要每次都访问数据库去取数据。

简单压力的测试,我喜欢用 apache server 里的 ab,复杂的可以试试 JMeter,压力测试就比较容易分析找出问题在那。

仅有的幸福

jvm资源占用的cpu一直还没到50%,mysql已经被拖垮了

这怎么看都像是数据库操作方面的问题,比如 SQL 需要优化,或者需要加缓存以减少数据库操作。看不出与 Tomcat 有什么关系。

大家讲道理

mysql都挂了,应该不是tomcat瓶颈,你要查查sql是否都优化了,另外开启mysql统计,查查看是否有慢sql,是否有全表扫描,索引是否高效。另外有没有使用连接池对数据库做并发控制,mysql支持的并发跟cpu核心数有关。一般慢sql容易拖垮数据库

世界只因有你

一般系统瓶颈的话增加服务器数量、优化请求基本上都能解决,更大的瓶颈基本上都是在数据库链接上,按照你说的你是想要测试一下你的请求并发瓶颈,但是如果你不连接数据库进行测试,基本上是没什么效果的,对真实项目并没有什么帮助,获取的瓶颈并不是你真正的瓶颈

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage