2

我在具有 2GB RAM、8GB 交换空间和 Intel Xeon CPU X3330 的 debian-lenny x64 服务器上运行带有 apache 2.2 和 mod_jk 1.2.26 的 tomcat 7。我有一个 GWT 应用程序,它使用连接池与后端 mysql 数据库进行交互。此应用程序必须处理许多请求,但每个请求需要一点时间来处理(假设 1 秒),然后它必须释放分配的资源以供其他请求使用。选择时并发客户端的数量可能会增加超过 200 个,但通常会少于 100
个。Apache 以 prefork-mpm 模式配置,具有以下配置:

<IfModule mpm_prefork_module>
    StartServers       8
    MinSpareServers    5
    MaxSpareServers   20
    MaxClients       256
    MaxRequestsPerChild  2000
</IfModule>

& 这是我的 worker.properties 文件:

worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009

worker.worker1.lbfactor=1
worker.worker1.connect_timeout=6000
worker.worker1.prepost_timeout=6000
worker.worker1.connection_pool_size=256
worker.worker1.connection_pool_minsize=64
worker.worker1.connection_pool_timeout=60
worker.worker1.reply_timeout=1000
worker.worker1.retries=5

worker.worker1.fail_on_status=-500

worker.worker1.cachesize=64
worker.worker1.cache_timeout=60

& 这是 server.xml 中 tomcat 连接器的配置:

 <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" URIEncoding="UTF-8"  connectionTimeout="60000" maxThreads="256" acceptorThreadCount="2" />

现在,问题是我的一些应用程序请求失败并出现 504 网关超时错误。我已经更改并测试了许多设置都在配置文件之上,但我无法获得稳定的状态。此外,在运行tomcat几个小时后,服务器上许多正在运行的应用程序崩溃,并出现与fork新进程和系统资源泄漏相关的错误(我在VPS上运行,但我确信我有足够的资源&甚至比我需要运行这样的应用程序还要多,所以我确定问题只是因为 apache、tomcat 和 mod_jk 的错误配置)。
任何想法?请为 mpm_prefork、mod_jk worker 属性和建议一个理想的配置
谢谢

4

0 回答 0