#spring-boot #performance #rest #kubernetes
#весенняя загрузка #Производительность #rest #kubernetes
Вопрос:
У меня есть REST API, работающий в пространстве имен Kubernetes. Этот REST API, в свою очередь, вызовет другой REST API в том же пространстве имен Kubernetes. Иногда вызовы выполняются в течение 10 миллисекунд. Иногда для ответа требуется больше секунды. Как я могу проверить, почему в некоторых случаях это занимает более 500 миллисекунд?
REST API разработан с использованием SpringBoot. Я также провел хорошее тестирование производительности и отслеживал то же самое с помощью инструмента JCMD, Visual VM tools. Я не обнаружил существенных проблем с REST API.
Комментарии:
1. Как осуществляется доступ к внутреннему API? Используете ли вы внутренний DNS службы kubernetes? Какой базовый образ вы использовали для своего контейнера?
2. Я использую alpine linux с openjdk11. приложение в пространстве имен Kubernetes использует «взаимодействие между модулями» для общения с другими модулями.
3. Мы столкнулись с аналогичными проблемами при вызове быстрых запросов, требующих разрешения DNS. Поскольку Alpine не кэширует то, что он решает, это может создать серьезные проблемы с производительностью. Прочитайте это для получения дополнительной информации и способов смягчения — github.com/gliderlabs/docker-alpine/blob/master/docs /…