用于分析应用程序的Tomcat配置

时间:2011-04-20 15:25:14

标签: java tomcat apache2 timeout analytics

我正在开发与Google Analytics非常相似的分析应用程序。 它基本上存储了数据库中各个站点的统计信息。

该应用程序具有以下属性:

  • 大量请求(高峰时间为2.5k / s)
  • 每次请求处理少量

我正在使用Tomcat 6和Apache HTTPD 2。

我应该为此特定类型的应用为Tomcat的maxThreadsconnectionTimeout属性设置哪些值?

1 个答案:

答案 0 :(得分:1)

确定特定网站的最佳设置的唯一方法是通过测试。很明显,您的Tomcat实例将处理大量相当小的请求而几乎没有返回数据 - 这不是正常情况。我的猜测是你需要大量的线程(1000个可能,默认值为200)和短暂的超时,但最佳的确切值必须通过测试确定,并可能在现场试验后进行调整。

在过去,我编写了一些小型多线程应用程序来解决服务器上的请求,它既便宜又开朗,可以达到很高的请求率。如果你想要更复杂的东西,请查看JMeter它可以很好地加载对大多数网站的测试。

如果您担心淹没单个实例的请求数量,我认为您应该考虑使用某种形式的负载平衡运行多个Tomcat实例。由于您似乎在Apache后面运行Tomcat,因此在AJP连接器中进行设置应该相当简单。

修改

刚看到你的数据更新。我更愿意看看请求/秒,你给出的数字大约是18 /秒。我本以为Tomcat能够在不改变设置的情况下应对这种情况。我的猜测是你在其他地方有一个瓶颈,可能存储数据,因为我猜它正在进入数据库。