我在Amazon EC2实例上运行了嵌入式Tomcat应用程序。该网站的流量增加,因此我升级到更大的实例。但是,由于流量相同且服务器数量更大,速度仍然存在。我增加了maxThreads和xmx / xms,但这没有多大帮助。
Web服务器和数据库服务器(RDS)上使用的服务器资源都很小(内存少于10%,CPU少于20%)。
有什么办法可以加速Tomcat吗?或者我应该咬紧牙关并使用多个Tomcat实例和负载均衡器?
编辑:为了澄清,应用程序中没有任何变化,只是流量增加(几乎翻倍)。我的假设是(超过)加倍资源(Web服务器和数据库)应该足够了。我想这不是那么简单。
答案 0 :(得分:4)
现在最好不要做任何事情。你显然不知道实际上什么在减慢应用程序的速度,这就是为什么当你升级服务器时你感到惊讶并且它没有效果。
不要随意用打字机做猴子之类的东西,希望能有所帮助的东西,分析你的应用程序(并针对它运行负载测试),看看什么是“最重”的动作。 然后决定如何修复它,无论是代码优化,架构更改,负载平衡还是任何其他解决方案。
不要猜,知道。
答案 1 :(得分:1)
stepanian,尽管我不确定你的意思是什么?减速',几个月前我遇到类似的情况,当时交通量大幅增加(一些病毒式运动)导致我们的tomcat表现得非常奇怪,即使瓶颈不在磁盘,CPU或内存上。
在我们的案例中,更改Connector
configuration基本上解决了问题,特别是理解:
希望这有帮助! :)