Tomcat org.apache.catalina.connector.requestfacade.getsession () занимает более 44,7% ресурсов ЦП. - PullRequest
0 голосов
/ 19 октября 2011

Я создал веб-приложение Java-сервлета без сохранения состояния, и требуется принимать не менее 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, с 150 maxThread

Conf сервера:

-Windows 2008

-xeon quad core

-8 ГБ ОЗУ

-1 ТБ raid 5 HDD

Любая помощь должна цениться!

Ответы [ 2 ]

1 голос
/ 11 января 2012

Если ваш сервлет действительно не имеет состояния, почему он обращается к сеансу?

: -)

0 голосов
/ 19 октября 2011

Если вы работаете с этим без сохранения состояния, см. О настройке tomcat, чтобы не создавать сеанс по умолчанию.

Также, если вы используете JSP, убедитесь, что он настроен так, чтобы не создавать сеанс.

...