Есть подозрение что начальные пики времени ответа вызываются отправкой страниц памяти приложения в swap. Кто-то с этим успешно борется "разогревом", но правильный способ - использование вызова mlockall. Только по-умолчанию в контейнере запущенном в docker установлен очень низкий ulimit -l. Хотелось бы его увеличить, чтобы можно было быть уверенным, что приложению доступны все обещанные 4Гб памяти.
Есть подозрение что начальные пики времени ответа вызываются отправкой страниц памяти приложения в swap. Кто-то с этим успешно борется "разогревом", но правильный способ - использование вызова mlockall. Только по-умолчанию в контейнере запущенном в docker установлен очень низкий ulimit -l. Хотелось бы его увеличить, чтобы можно было быть уверенным, что приложению доступны все обещанные 4Гб памяти.
https://docs.docker.com/compose/compose-file/#ulimits
Нужно добавить в секцию ulimits блок memlock: