Низкая производительность приложения Spring при фильтрации данных

Низкая производительность приложения Spring при фильтрации данных
  • Я создал приложение Spring в app engine B2, в логах я вижу, что приложению требуется 1 с для завершения фильтрации данных (после пробуждения приложения). На моей локальной машине это занимает 10 мс.
  • Объем данных действительно небольшой, а логика не такая сложная, это только начало проекта.

Так что мои вопросы, возможно ли, что моему экземпляру app engine не хватает каких-то ресурсов или чего-то еще? Может быть, мне не хватает какой-то конфигурации или JAVA OPTIONS, потому что теперь я использую default. Может быть, кто-то сталкивался с похожими проблемами производительности.

Обновлять. Я снова попробовал использовать экземпляры B1 B2 B3 B4. Тот же результат. Такое ощущение, что у приложений действительно мало ресурсов.

Проблема решена, когда я создал Compute Engine VM. В виртуальной машине у меня запущен образ docker с тем же приложением. И теперь все работает отлично. Ответы отличные.

Я бы с удовольствием использовал App Engine, но все еще не могу понять, что вызывает это. Я использую все настройки по умолчанию app.yaml из руководств Google без дополнительных опций.

Обновление 2. Я пробовал использовать среду App Engine Flex с разными параметрами. Результат тот же. Возможно, я вижу разницу, когда вызываю тот же API больше раз, а не получаю ответ за 30 с, я получаю 28–25. Поэтому я пришел к выводу, что App Engine (в моем понимании) не подходит для работы со сложными пиковыми операциями CPU JAVA (FILTER, SORT ENTITY). На Compute Engine мое решение работает отлично. Затем я попробовал на GKE, и там оно тоже отлично работает с 30 с (без накладных расходов на запуск), ответ уменьшился до 200 мс. В GCE или GKE я использую виртуальную машину с самым низким рангом ресурсов.

решение1

Путем изменения класса экземпляра на еще более эффективный для вычислительных операций (например, класс экземпляраВ4, с более высоким пределом ЦП, в вашем случае) действительно сделает ваше приложение быстрее в этом отношении, но это, однако,стоить больше.

Прежде чем обновлять класс экземпляра, мы рекомендуем убедиться, что никакие программные действия не могут повысить скорость работы вашего приложения, поскольку в этом случае цена, скорее всего, увеличится вдвое.

Связанный контент