У меня есть установка tomcat 7 на сервере Solaris 10. Моя проблема в том, что запуск сервера (или развертывание новой войны) происходит очень медленно. Обычно это занимает 30-60 минут. Приложение war - это приложение Grails среднего размера, поэтому файлов здесь довольно много. На сервере работают и другие серверные приложения, но, исходя из моих базовых навыков, я не вижу в этом проблемы.
Может ли кто-нибудь дать мне несколько советов, как это проанализировать? Настройки в Tomcat, java, server, доступ к диску или еще что-то?
Я использую эти параметры для tomcat:
CATALINA_OPTS="-Dcom.sun.management.jmxremote=true -Djava.awt.headless=true -Dfile.encoding=UTF-8 -server -Xms1536m -Xmx1536m -XX:NewSize=256m -XX:MaxNewSize=256m -XX:PermSize=512m -XX:MaxPermSize=512m -XX:+DisableExplicitGC"
И я использую 32-битную java 1.6.
Как долго:
java -version
взять для запуска, где java - это java, который вы используете для своего кота?
Смотрите этот ответ:
Проблема с производительностью при вызове JVM (1.6.0_22) команды ОС в Solaris 10
Хотя предварительная компиляция вашего приложения может помочь, я сомневаюсь, что это вызывает 30-60-минутную задержку. Возможно ли, что ваше приложение выполняет несколько задач при запуске или загрузке данных, которые могут вызывать проблемы при первоначальном запуске?
Попробуйте предварительно скомпилировать файлы Ruby в классы Java для файла WAR. Тем не менее, это выполняется во время развертывания WAR, поэтому на это уходит много времени ... особенно на машинах SPARC. Выгрузить компиляцию .rb
файлы с сервера на вашу машину разработки.