У меня проблема с приложением Spring Boot, развернутым в Google Cloud App Engine. Приложение представляет собой API, который использует JPA и JWT и подключено к базе данных MySQL, хранящейся в Google Cloud SQL.
. Проблема в том, что приложение застревает из-за ограничения памяти. После каждого запроса я получаю следующие сообщения в журнале:
- Превышен предел мягкой памяти 256 МБ с 298 МБ после обслуживания всего 0 запросов. Рассмотрите возможность установки более крупного класса экземпляра в app.yaml.
- Этот запрос вызвал запуск нового процесса для вашего приложения и, таким образом, вызвал загрузку кода вашего приложения в первый раз. Таким образом, этот запрос может занять больше времени и использовать больше ресурсов ЦП, чем обычный запрос для вашего приложения.
- При обработке этого запроса было обнаружено, что процесс, обработавший этот запрос, использует слишком много памяти и был прерван. Это может привести к использованию нового процесса для следующего запроса к вашему приложению. Если вы часто видите это сообщение, возможно, у вас утечка памяти в приложении или вы используете экземпляр с недостаточным объемом памяти. Подумайте об установке большего экземпляра класса в app.yaml.
Я попытался изменить файл src / main / appengine / app.yaml , чтобы установить другую конфигурацию ( с большей памятью) но я не вижу никакой разницы после каждого изменения. Как будто этот файл был проигнорирован.
Это мой текущий app.yaml :
runtime: java
env: flex
runtime_config:
jdk: openjdk8
env_variables:
SPRING_PROFILES_ACTIVE: "gcp,mysql"
# JAVA_GC_OPTS: -XX:+UseSerialGC
# JAVA_USER_OPTS: -XX:MaxRAM=200m
# With -XX:+UseSerialGC This will perform garbage collection inline with the thread allocating the heap memory instead of a dedicated GC thread(s)
# With -Xss512k This will limit each threads stack memory to 512KB instead of the default 1MB
# With -XX:MaxRAM=72m
handlers:
- url: /.*
script: this field is required, but ignored
beta_settings:
cloud_sql_instances: guitar-tab-manager-api:europe-west3:guitar-tab-manager-db
# manual_scaling:
# instances: 1
# instance_class: F4
# manual_scaling:
# instances: 1
# instance_class: F2
# basic_scaling:
# max_instances: 5
# idle_timeout: 10m
instance_class: F2
# automatic_scaling:
# target_cpu_utilization: 0.65
# min_instances: 5
# max_instances: 100
# min_pending_latency: 30ms # default value
# max_pending_latency: automatic
# max_concurrent_requests: 50
Я пытался применить различные конфигурации, но, похоже, ничего не работает. Может быть, кто-то может помочь. Заранее спасибо.