我曾与Tomcat6和Apache2合作过。
在Ubuntu实例中,我使用8GB内存运行Apache2,因此决定采用以下apache2.conf配置。
<IfModule mpm_prefork_module>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 550
ServerLimit 550
MaxRequestsPerChild 0
</IfModule>上面的配置是使用以下参数和这篇博客文章(如何配置apache )完成的。
Apache Memory Usage (MB): 611.719
Average Proccess Size (MB): 8.26647在另一个例子中,我有一个运行8GB内存的Tomcat6。在Tomcat6 server.xml中,使用以下配置。
<Connector port="8009" protocol="AJP/1.3" redirectPort="8080" maxThreads="500"/>我的问题是,
maxThreads中计算/决定Tomcat6参数的过程/步骤是什么?发布于 2015-05-25 10:42:01
Tomcat6是一个Java应用程序,因此内存分配由JVM完成。我假设您愿意通过apache代理tomcat,如果是这样的话,通常情况下,一个apache客户机最终将成为1个apache线程,因此在tomcat中使用比apache中的MaxClients指令少的线程是可取的。这就是说,计算maxThreads参数可能很困难,取决于您的应用程序,每个线程可能会有不同的内存使用量,有一个平均值可能是有用的,但是您还必须考虑到其他JVM内存空间,eden,permgen,……
查看JVM内存设置,每个线程堆栈设置,...I认为这是您可能要寻找的。
https://stackoverflow.com/questions/30436305
复制相似问题