2013-02-19 7 views
2

У меня есть портал, который работает через SSL на Glassfish и использует Liferay. В прошлый раз мы отправили электронное письмо, в котором одновременно принимали около 200 человек, чтобы получить доступ к выпущенной информации, которую наша Glassfish «застопорилась».Портал работает с Glassfish 2.1.1, Liferay 5.2 и SSL получают слишком много заблокированных потоков

С сервера мы могли видеть, что системные ресурсы были в порядке. - Glassfish имеет до 8 ГБ для использования, но использует 5 ГБ - сервер имеет 4 процессора, а общее использование составляет около 30% - Glassfish настроен до 400 потоков HTTP.

Как только мы обнаружили, что наш сервер не отвечает на запросы пользователей, мы запустили профайлер, чтобы понять, что происходит.

резьбы обзор показывает слишком много заблокированных тема: HTTPS Threads blocking other HTPPS Threads
enter image description here

Из стека это не возможно, чтобы увидеть код, кроме солнца, гризли, Catalina классов: enter image description here

Я хотел бы исправить эту проблему, но сейчас я могу сказать, должен ли я работать над нашим кодом, мы должны заменить какой-то компонент, например, отключить SSL.

Любые мысли были бы очень признательны.

Спасибо.

ответ

1

Дамп потока мог быть проще и менее навязчивым, чем профилировщик - это могло бы показать вам, где потоки заблокированы в реальной рабочей системе.

Вам нужно выяснить, где произошло блокирование: было ли это в коде Лиферэй или в вашем собственном? Что у вас на страницах, как проходит тема? Кроме того, обратите внимание, что у вас работает действительно старая версия Liferay - на случай, если вы работаете CE. Это не работает в течение нескольких лет (Enterprise Edition все еще поддерживается, но, как вы не упомянули об этом, коэффициенты вы используете Community Edition (CE))

Кроме того, если вы вызываете ситуации, подобные описанным вами (отправка множества людей одновременно), вы можете загрузить тестовую систему с искусственной нагрузкой в ​​порядке чтобы увидеть, как он себя ведет. Кроме того, вам может потребоваться буферизация целевой страницы (это не означает, что 200 пользователей очень много, но для любой такой деятельности вы, вероятно, хотите знать, что ваша система может ее обрабатывать)

Пока вы не докажете обратное , Я бы предположил, что на странице есть какой-то пользовательский компонент (портлет или тема), который вызывает узкое место и блокировку, которую вы обнаружили.

+0

Спасибо Olaf, Действительно, я просто использовал профайлер, поскольку он уже был установлен на сервере. Из полученной информации основным узким местом является вызов webservice, который занимает несколько секунд. Это проблема в нашем приложении, которую мы должны исправить как можно скорее. Обновление liferay и переход на стеклянную рыбу 3 также будут выполнены, но я не ожидаю гораздо лучших результатов, чтобы обслуживать около 200 пользователей (также согласитесь, что это не так). В любом случае, большое спасибо, чтобы посмотреть :) –

+0

Спасибо за сообщение. Да, в этих условиях вы не получите большую производительность с Liferay (скорее, не настроите свой сервер), но вы вернетесь к текущей (и поддерживаемой) версии –

+0

... получите большую производительность при ** обновлении ** Liferay ... Я хотел сказать –