Медленный старт Tomcat7 на серверах Digital Ocean
Столкнулись на работе с тем, что Tomcat7 ооочень медленно запускается в дроплетах DigitalOcean. Оказалось, что при запуске он долго ожидает данных от устройства /dev/random, которое использует Java.
Решение довольно простое, но, к сожалению оно занимает одно ядро процессора. Необходимо увеличить энтропию в системе. Для этого ставим приложение haveged:
sudo apt-get install haveged
Затем меняем в файле /etc/default/haveged значение -w на:
-w 2048
И перезапускаем службы:
sudo service haveged restart
sudo service tomcat7 restart
Проверить текущее значение энтропии можно так:
cat /proc/sys/kernel/random/entropy_avail
UPDATE
Можно сделать немного проще и не использовать сторонние демоны. В файле /etc/default/tomcat7 в настройку JAVA_OPTS дописать:
-Djava.security.egd=file:/dev/./urandom
В итоге Tomcat7 будет запускаться значительно быстрее.
Комментарии: