#java #performance #monitoring #ehcache #administration
#java #Производительность #мониторинг #ehcache #администрирование
Вопрос:
В документации http://ehcache.org/documentation/user-guide/monitor есть фраза:
Рекомендуется установить монитор на операционный сервер, отдельный от производственного.
Почему это так? Что будет, если я установлю его в рабочей среде?
И, второй вопрос, на который я не нашел там ответа — действительно ли этот монитор не влияет на производительность приложения?
Ответ №1:
Я попытаюсь объяснить, что, по моему мнению, они означают.
Прежде всего, я не думаю, что намерение состоит в том, чтобы вы не использовали монитор в рабочей среде. Скорее, я думаю, они означают, что монитор должен быть установлен на отдельном сервере в производственной среде. Для этого есть как минимум три веские причины.
Первый — это вопрос безопасности. Клиенты, которые обслуживает ваш рабочий сервер, не должны иметь возможности доступа к службам монитора. Разместив его на отдельном сервере (возможно, за брандмауэром), вы предотвратите это.
Второе — это простота ландшафта. Монитор может контролировать несколько серверов. Размещая его на отдельном сервере, вы предотвращаете «особый» статус одного сервера приложений — в этом отношении все серверы приложений идентичны. Упрощение масштабирования и обслуживания вашего ландшафта.
Третья причина заключается в производительности. Вызовы к монитору не повлияют на работу серверов приложений. Так и должно быть.
Что касается второй части вашего вопроса — очевидно, добавление мониторинга ehcache в некоторой степени повлияет на производительность. Вероятно, это означает лишь минимальные накладные расходы, но ничто не обходится совсем без затрат. Но если вы в конечном итоге оптимизируете кэши, это, вероятно, того стоит.
Я нашел в этом абзаце подробное описание того, как часто монитор выполняет выборки:
Объем памяти оценивается путем выборки. Измеряются первые 15 вводов или обновлений, а затем каждое 100-е ввод или обновление
(это из раздела статистики на странице монитора)