Мониторинг производительности и нагрузки ColdFusion 8

Вопрос. Какие советы и инструменты вы можете дать нам для устранения неполадок и отслеживания производительности в ColdFusion 8 и JRE?

Чем мы сейчас занимаемся: в настоящее время мы используем комбинацию из следующих, чтобы помочь нам, но чувствуем, что на самом деле ничего не добились. Я хотел бы иметь возможность заглянуть в JRE, чтобы увидеть, что происходит.

  • FusionReactor
  • / opt / coldfusion8 / bin / cfstat
  • / opt / coldfusion8 / bin / logs / * (в первую очередь exception.log и cfserver.log)
  • Выходные данные ColdFusion Debug (для отслеживания запросов и времени ответа на запрос)
  • Apache 'server-status'
  • Администратор MySQL для мониторинга активности базы данных

Информация о системе. У нас работает несколько серверов приложений ColdFusion 8. Они были установлены на RH Linux с ColdFusion 8,0,1,195765 Standard, с использованием Sun JRE v1.6.0_04 по умолчанию, поставляемого с установщиком. Наши базы данных находятся на выделенном сервере баз данных под управлением MySQL 5.0.45 на RH Linux.

Проблемы. Мы сталкиваемся со странными проблемами, например следующими:

  • Загрузка страницы зависает на полпути браузера, загружающего страницу (при этом окно браузера остается полностью белым, без загрузки HTML). Если вы остановите запрос и обновите его снова, он будет работать нормально во второй раз.
  • ColdFusion сильно рушится. Когда мы перезапускаем ColdFusion, в журнале исключений указывается, что файл license.properties поврежден. Мы должны переустановить ColdFusion, чтобы он снова заработал.
  • Стало видеть "слишком много открытых файлов" в exception.log. Мы следовали инструкциям, которые здесь, как изменить лимит файлов, которые могут быть открыты.

Дополнительная информация:

  • Мы начинаем использовать memcached в наших приложениях, чтобы уменьшить количество обращений к базе данных, которые у нас есть, надеясь, что это поможет.
  • Мы превратили наше клиентское хранилище в реестр, а не в базу данных, чтобы проверить, помогает ли это отсутствие вызовов базы данных.
  • Мы планируем обновить нашу JRE до последней версии (1.6.0_14), чтобы увидеть, как это поможет.

person Mike Jr    schedule 04.08.2009    source источник
comment
Это может быть лучше подходит для администраторов сервера (не для программистов), поэтому я отмечаю его, поскольку его следует перенести в ServerFault.   -  person Adam Tuttle    schedule 05.08.2009


Ответы (2)


Я настоятельно рекомендую вам обновить JRE, особенно если ваши приложения интенсивно используют компоненты cfc. В старой версии JRE есть ошибка, которая замедляет создание объекта.

Использование реестра не работает в Linux. Вы можете использовать только базу данных или файлы cookie, но я не знаю, что будет делать ColdFusion, если в Linux выбран реестр. Я бы предложил базу данных для клиентского хранилища. Имейте в виду, что пользователи могут изменять файлы cookie в своей системе, если вы используете файлы cookie для клиентского хранилища.

Apache JMeter может оказаться полезным инструментом, если у вас возникнут дополнительные проблемы.

Кроме того, подробнее см. здесь информация о проблемах с производительностью и клиентском хранилище.

person Jayson    schedule 04.08.2009
comment
@Jayson В системах UNIX записи реестра хранятся в /opt/coldfusion/registry/cf.registry, текстовом файле, который вы можете напрямую копировать и редактировать. Liveocs.adobe.com/coldfusion/8/htmldocs/sharedVars_09.html - person Henry; 05.08.2009
comment
Мы сделаем это. Кроме того, мы изучаем оптимизацию MySQL, так как думаем, что соединения из java сохраняются. - person Mike Jr; 06.08.2009
comment
@Jayson, какую версию JRE вы рекомендуете? - person kevink; 06.08.2009
comment
@kevink, я использую обновление 14 версии 6 на моих серверах CF, хотя обновление 15 доступно и должно работать нормально. - person Jayson; 07.08.2009

Как бы то ни было (хотя я пометил ваше сообщение как «следует переместить в ServerFault»), я думаю, вам следует начать с переключения клиентского хранилища с реестра на базу данных. Как указано в другом вашем вопросе, при объединении соединений с базой данных дополнительные обращения к базе данных довольно минимальны - и использование реестра не поддерживается в Linux; что должно поднять для вас красный флаг.

person Adam Tuttle    schedule 05.08.2009