我租了一个小型 tomcat 服务器,通过dailyRazor 上的jsp 为android 应用程序提供http-get 服务。最大 Java 堆是“最大内存:92.81 MB”。
maxThreads 的默认 tomcat 设置为 25。随着使用我的服务的用户数量的增加,我在黄金时段收到很多服务器拒绝连接/超时(我认为这是因为线程池太小)。这就是我将 maxThreads 增加到 250 的原因。在这个晚上,服务器崩溃了,显示了多个 java.lang.OutOfMemoryError 。对于小堆来说,250 似乎有点重:p 我暂时将 maxThreads 减少到 50,这似乎很好,因为我没有得到任何错误。
由于我对tomcat知之甚少,因此我想寻求一种为maxThreads找到正确数字的好方法。我考虑过查看一个线程的最大内存使用量。然后 maxThreads = (maxMemory / memoryOfOneThread)。有更好的解决方案吗?
谢谢danijoo