2009-10-19 1 views
2

Мы разрабатываем webapp с Grails. В продуктах webapp работает на Jetty. Мы использовали JMeter для запуска теста производительности и yourkit для анализа потребления памяти причала.Почему Jetty не использует всю выделенную память?

Мы начали Jetty с параметрами -Xms1500m -Xmx1500m, поэтому в yourkit мы также можем видеть, что выделенная память составляет около 1,5 ГБ. Но Jetty не использует все это, все время всегда около 300 - 500 м и обеспечивает плохую производительность. может обслуживать только несколько запросов/с.

  • CPU IST не полной загрузке, все время только около 50%
  • Пристань работает с настройками по умолчанию, 6.1.21 используется
  • MySQL запросы просты, размер БД мал и работает на том же машина, как Jetty, не может быть проблемы
  • Журналы R написанные над FileAppender на жесткий диск
  • JMeter производит запросы
  • прийти
  • YourKit показывает число живых потоков составляет около 60

так как мы можем заставить причал использовать всю выделенную память для лучшей производительности?

Thx you very much!

ответ

2

Проблема, вероятно, не в памяти, похоже, что у вас достаточно.

У вас, вероятно, есть другие споры, например, эксклюзивные блокировки.

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