Это также может относиться к ошибке сервера. Это своего рода комбинация между конфигурацией сервера и кодом (я думаю)
Вот мои настройки:
Rails 2.3.5 app running on jruby 1.3.1
Service Oriented backend over JMS with activeMQ 5.3 and mule 2.2.1
Tomcat 5.5 with opts: "-Xmx1536m -Xms256m -XX:MaxPermSize=256m -XX:+CMSClassUnloadingEnabled"
Java jdk 1.5.0_19
Debian Etch 4.0
Запуск top
, каждый раз, когда я нажимаю на ссылку на своем сайте, я вижу, как java
всплывает загрузка ЦП процесса. Если это небольшая страница, иногда она используется только на 10%, но иногда на более сложной странице мой процессор поднимается до 44% (никогда выше, не знаю почему). В этом случае запрос может занять более нескольких минут, в то время как load average
моего сервера постоянно поднимается до 8 или больше. Это просто от нажатия одной ссылки, которая загружает несколько запросов от некоторых служб, ничего сложного. Память процесса Java колеблется около 20% большую часть времени.
Если я ненадолго оставлю это значение, средняя нагрузка возвращается к нулю. Нажав еще несколько ссылок, вылазит обратно.
Я управляю небольшим экземпляром amazon для внешнего интерфейса rails и большим экземпляром для всех служб.
Так вот, это явно недопустимо. Один пользователь может довести пиковую среднюю нагрузку до 8, а при ее использовании два человека поддерживают эту среднюю нагрузку в течение всего периода использования нашего сайта. Мне интересно, что я могу сделать, чтобы проверить, что происходит? Я в полной растерянности относительно того, как я могу отладить это. (это не происходит локально, когда я запускаю приложение rails через jruby, а не внутри контейнера tomcat)
Может ли кто-нибудь объяснить мне, как я могу проверить свое приложение jruby, чтобы выяснить, как оно может использовать такие огромные ресурсы?
Обратите внимание, я заметил это немного раньше, казалось бы, наугад, но теперь, после обновления с Rails 2.2.2 до 2.3.5, я вижу это ВСЕ ВРЕМЯ, и это делает сайт совершенно непригодным для использования.
Любые советы о том, где искать, приветствуются. Я даже не знаю с чего начать.