При возникновении загадочной проблемы:
Попытайтесь понять это, изменяя вещи, которые легко изменить, рассказывая как можно больше о том, что с этим связано, а что нет. Думайте об этом, как о 20 вопросах, в которых вы систематически становитесь ближе и ближе.
Например:
Вы заметили проблему после изменения нескольких вещей: Azure-> AWS, MSSQL-> PostgreSQL, старой настройки -> новой настройки и т. Д. Любое из этих изменений может быть связано или не связано с проблемой, и вы хотите точно знать, что именно .
Сначала убедитесь, действительно, действительно , что вы тестируете веб-сервер и базу данных, с которой, по вашему мнению, тестируете. Измените hings в файлах конфигурации и убедитесь, что вы получаете ошибки, когда вы должны получить ошибки.
Вы говорите, что это работает сначала и перестает работать через некоторое время, похоже, что это может быть что-то из-за нехватки ресурсов, например, памяти, хранилища или открытых файлов. Когда он заблокирован, попробуйте запустить (на машине с Puma), «dmesg» и найдите любые ошибки и предупреждения, «df -h», чтобы увидеть использование диска, «top», чтобы увидеть использование памяти и процессора. Попробуйте временно обновить экземпляр до «большого» или чего-то значительно большего, чем у вас сейчас.
Если вы подозреваете, что это связано с переходом на Postgres (и это не слишком большая работа), вы можете попробовать изменить конфигурацию базы данных, чтобы она указала на базу данных MSSQL в Azure, хотя Puma работала в AWS. Вы можете попробовать временно переключиться на SQLite, чтобы посмотреть, сохраняется ли проблема. Вы можете попробовать запустить старую настройку в Azure и просто изменить базу данных на Postgres.
Вы говорите, что ничего не печатается в журналах, я ожидаю, что большинство проблем с базой данных появятся в журнале, по крайней мере, после истечения времени ожидания запроса. Попробуйте перейти с Puma на Unicorn (это должно быть быстро и легко) и посмотрите, изменится ли проблема или, по крайней мере, вы что-то получите в логах.
Эти шаги должны как минимум приблизить вас к поиску проблемы.