Недавно я столкнулся с проблемой развертывания с вызовом Mac.getInstance("HmacSHA1")
.
Для выполнения этого единственного вызова на этом конкретном сервере может потребоваться до 10 минут, в то время как на других компьютерах его выполнение выполняется мгновенно.
Использование ЦП также вызывает всплески во время вызова.
Здесь немного деталей на сервере:
Любые подсказки о том, что может быть проблемой здесь?
Я подозреваю, что у вас низкая системная энтропия для обеспечения безопасности случайных чисел. См. Эту страницу, чтобы проверить: Проверить доступную энтропию в Linux. И на этот вопрос есть ответы: Как решить проблему производительности с Java SecureRandom? В частности, этот вариант Java должен помочь вам:
-Djava.security.egd=file:/dev/./urandom
Это намного быстрее, но немного менее безопасно.
RUNNABLE
. Смотрите этот ответ для команды я обычно использую, просто заменитьBLOCKED
сRUNNABLE
, так как вы видите спайки CPU вместо блокирующих проблем: stackoverflow.com/questions/5390317/...