Недавно мы перевели большое приложение с высоким требованием к Tomcat 5.5 от Tomcat 4 и отметили некоторые особенности замедления, которые, как представляется, связаны с паузами JVM. Чтобы запустить наше приложение и поддерживать повышенную нагрузку с течением времени на Tomcat 4, многие нестандартные параметры JVM были настроены и настроены в соответствии с приведенным ниже, и я надеюсь, что кто-то с настройкой Tuncat JVM может прокомментировать все, что может быть вредным к установке Tomcat 5.5. Также обратите внимание, что некоторые из них могут переноситься из предыдущих версий Java (мы использовали Tomcat 4 на Java 1.6 с этими параметрами успешно в течение некоторого времени, но некоторые из них, возможно, были введены, чтобы помочь сборку мусора на Java 1.4, которая была основой наш Tomcat 4 устанавливается в течение длительного времени и может теперь принести больше вреда, чем пользы).Соответствующие параметры запуска Tomcat 5.5 для настройки JVM для чрезвычайно высокого спроса, большое приложение для кучи веб-страниц?
Некоторые примечания:
- объем памяти приложений является около 1 Гб, вероятно, чуть больше.
- процессора не является проблемой - все машины обслуживающих приложения (нагрузки сбалансировано) являются < 30% процессора
- Много запаса по физической памяти на машинах.
- -XX: MaxPermSize = 512m был единственным параметром, добавленным как часть обновления 5.5, и реагировал на проблему нехватки пространства памяти outofmemory (которая была решена).
- Запуск на Java 1.6, ОС Solaris
-server -Xms1280m -Xmx1280m -XX: MaxPermSize = 512m -XX: ParallelGCThreads = 20 -XX: + UseConcMarkSweepGC -XX: + UseParNewGC -XX: SurvivorRatio = 8 -XX: TargetSurvivorRatio = 75 -XX: MaxTenuringThreshold = 0 -XX: + AggressiveOpts -XX: + PrintGCDetails -XX: + PrintGCTimeStamps -XX: -TraceClassUnloading -Dsun.io.useCanonCaches = false -Dsun.net.client.defaultConnectTimeout = 60000 -Dsun.net.client.defaultReadTimeout = 60000
У меня много рабочих JVM, работающих с PrintGCDetails, всегда есть * некоторые * накладные расходы, но незначительные для значения, которое они предоставляют. – Xailor