分析应用程序的Tomcat配置

问题描述:

我正在研究一个与Google Analytics非常相似的分析应用程序。 它基本上存储来自数据库中各个站点的统计数据。分析应用程序的Tomcat配置

的应用具有以下属性:

  • 大量请求(2.5K/s的峰值时间)
  • 每个请求很少的处理

我使用的Tomcat 6和Apache HTTPD 2.

我应该为Tomcat的maxThreadsconnectionTimeout属性设置这个特定类型的值应用?

+0

你有一些关于如何在日常/每月/每年使用你的应用程序的数字/统计数据?如果没有,为什么不通过发送数百万个请求来测试,直到Tomcat开始轰炸并从那里开始工作。 – 2011-04-20 15:35:13

+0

我每天存储150万条记录,目前使用两个带有8GB内存和3GHz双核处理器的tomcat服务器。 – Rols 2011-04-20 15:59:50

确定特定网站最佳设置的唯一方法是通过测试。很显然你的Tomcat实例将处理大量相当小的请求,返回的数据很少 - 这不是正常情况。我的猜测是,你会想要大量的线程(1000或许,默认为200)和一个很短的超时时间,但是什么样的确切值将是最优的将要通过测试来确定,并且可能在现场试验后进行调整。

在过去,我已经编写了一些小型的多线程应用程序来在服务器上触发请求,它既便宜又开朗,并且可以获得非常高的请求率。如果你想要更复杂的检查JMeter它可以加载测试大多数网站相当不错。

我认为你应该考虑以某种形式的负载均衡运行多个Tomcat实例,如果你担心吞噬单个实例的请求数量。由于您似乎在Apache后面运行Tomcat,所以在AJP连接器中设置应该相当简单。

编辑

就看到了数字的更新。我更愿意看看每秒钟的请求数和你给出的数字,大概在18秒左右。我会认为Tomcat能够在不改变设置的情况下应对这种情况。我的猜测是,你在其他地方有瓶颈,可能在数据的存储中,因为我猜它正在进入数据库。

+0

我知道点击次数/天不是很丰富。在高峰时间,我在每台服务器上约2.5k点/秒。我绝对可以尝试碰撞最大线程。 – Rols 2011-04-20 17:36:15