Я перемещаю приложение rails с heroku на AWS, чтобы повысить надежность и контроль над архитектурой стека.
Я планировал использовать amazon RDS, так как мне понадобится несколько серверов приложений, и управляемое решение MySQL в сети Amazon казалось идеальным вариантом для нашего случая. Я настроил сервер приложений и новую реликвию для трассировки и профилирования.
К сожалению, мой сервер работает хуже, чем на heroku, хотя мы используем 2 экземпляра m3.medium для наших тестов (по сравнению с 2 1x dynos на heroku).
Посмотрев на новую реликвию, выяснилось, что это база данных, требующая 90% времени (~ 1,0 секунды!) Для простых запросов выбора (ничего слишком сложного, поскольку это работало из коробки на heroku / cleardb). Простой SELECT запускается за секунду, поэтому я попробовал, настроив конфигурацию по умолчанию, так как нашел несколько предложений в сообщении в блоге, но ничего не изменилось (теперь конфигурация восстановлена по умолчанию) ... Я также попытался, включив IOPS (1000, где новая реликвия составляет ~ 6 запросов / с на сервере - разумеется, еще не общедоступна -), и все равно ничего не изменилось ...
Я сейчас перехожу из db.m3.medium
к db.m3.xlarge
чтобы проверить, не изменилось ли что-то ... Просто в целях тестирования я установил локальный mysql на машину, и ну ... страницы становятся сервером примерно через 0,2 секунды, поэтому я почти уверен, что это экземпляр RDS вызывает оставшуюся задержку.
Любые предложения о том, что я могу попробовать? Мне действительно не нужен большой экземпляр, так как db.m3.xlarge
в данный момент.