Как масштабировать систему для снижения нагрузки?

Всем привет!

У нас есть сервер, на нем крутится nginx + php-fpm + mysql.
Столкнулись с проблемой: вырос трафик, выросли нагрузки.
MySQL забивается от большого количества запросов, в следствии чего в медленные запросы начали попадать даже выборки по PRIMARY KEY.

Хотелось бы понять как возможно масштабировать систему, чтобы распределить нагрузку? Какие есть способы это сделать?
Заранее спасибо.
  • Вопрос задан
  • 4607 просмотров
Пригласить эксперта
Ответы на вопрос 2
script88
@script88
Ну как минимум можно развернуть еще 1 сервер приложений и 1 сервер mysql, в nginx upstreem подключаете app сервера (php-fpm), mysql настраиваете master-master тем самым нагрузка будет распределена между сервера.
На больших нагрузках советую использовать percona server вместо msyql,
П.С. по мимо серверной инфраструктуры надо заниматься оптимизацией и самого приложения.
Ответ написан
sledopit
@sledopit
Без картины реального распраделения нагрузки (мониторинга) это будет небольшим гаданием на кофейной гуще.

Скорее всего и nginx и mysql активно кушают диск и мешают друг другу.
Имхо, первым шагом было бы логично вынести mysql на отдельный физический диск или, если этого окажется недостаточно, даже отдельный физический сервер.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы