Tomcat org.apache.catalina.connector.requestfacade.getsession()占用超过44.7%的CPU资源

时间:2011-10-19 10:12:00

标签: java performance tomcat jvisualvm

我已经构建了一个无状态的java servlet Web应用程序,并且要求每秒至少接受5000个事务(使用150个并发线程)。我正在使用ehcache和SQL server 2005来避免写入慢速硬盘。

在性能测试中(使用Jmeter 150线程),我每秒只能获得大约2800个事务(不到预期的一半)。当我在JVisualVM中使用采样器时,我注意到:

 org.apache.catalina.connector.requestfacade.getsession()   <-- take more than 44.7% of CPU time

知道requestfacade.getsession()做了什么,有没有办法加快速度?虽然我必须优化我的代码,我仍然需要弄清楚上面的行每秒5000做什么实际上是不可能的。

Tomcat conf:

-single Tomcat实例(6.0.23) - 使用Connectir executor,150 maxThread

服务器配置:

-Windows 2008

-xeon quad core

-8GB ram

-1TB raid 5 HDD

必须得到任何帮助!

2 个答案:

答案 0 :(得分:1)

如果您的servlet是真正的无状态,为什么它会访问会话?

: - )

答案 1 :(得分:0)

如果您是以无状态方式工作,请参阅默认情况下配置tomcat以不创建会话。

此外,如果您使用的是JSP,请确保将其设置为不创建会话。