Я разрабатываю MS с Kotlin
и Micronaut, которые обращаются к базе данных Firestore. Когда я запускаю эту MS локально, я могу заставить ее работать с 128M, потому что это очень просто - просто читать и записывать данные в Firestore, а не большие объемы данных, действительно небольшие данные, как это:
{
"project": "DUMMY",
"columns": [
{
"name": "TODO",
"taskStatus": "TODO"
},
{
"name": "IN_PROGRESS",
"taskStatus": "IN_PROGRESS"
},
{
"name": "DONE",
"taskStatus": "DONE"
}
],
"tasks": {}
}
Я Выполнение этого в App Engine Standard в экземпляре F1 (256 МБ 600 МГц) с этими свойствами в моем app.yaml
runtime: java11
instance_class: F1 # 256 MB 600 MHz
entrypoint: java -Xmx200m -jar MY_JAR.jar
service: data-connector
env_variables:
JAVA_TOOL_OPTIONS: "-Xmx230m"
GAE_MEMORY_MB: 128M
automatic_scaling:
max_instances: 1
max_idle_instances: 1
Я знаю все, что свойства для обработки памяти не являются необходимыми, но я отчаянно пытался сделать эту работу и просто попробовал много решений, потому что мое первое сообщение об ошибке было:
Exceeded soft memory limit of 256 MB with 263 MB after servicing 1 requests total. Consider setting a larger instance class in app.yaml.
Ошибка ниже не исправлена со свойствами в app.yaml
, но теперь каждый раз я делаю вызов для возврата JSON
Я получаю эту ошибку
2020-04-10 12:09:15.953 CEST
While handling this request, the process that handled this request was found to be using too much memory and was terminated. This is likely to cause a new process to be used for the next request to your application. If you see this message frequently, you may have a memory leak in your application or may be using an instance with insufficient memory. Consider setting a larger instance class in app.yaml.
Она всегда длится дольше в первом запросе, я думаю, из-за некоторой конфигурации Firestore, но дело в том, что я не могу заставить это работать, всегда получая ту же ошибку .
У вас есть идеи, что я могу делать неправильно или что мне нужно, чтобы это исправить?