LINUX.ORG.RU

Разгрузка MySQL


0

0

Есть готовый проект на PHP. Есть два сервера, на обоих стоит MySQL. Между ними поднята репликация, один соответственно master, другой - slave.

Каким образом не меняя код, можно заставить читать (SELECT) данные из обоих БД, тем самым снимая нагрузку?

P.S. Для работы с БД используется ПДО Zend Framework'a.

★★★

SELECT-то надо из обоих, а INSERT-то один фиг только в одну. Так что не имей себе и окружающим мозги и переписывай свой базовый класс для работы с БД, если таковой у тебя есть, конечно.

У меня, например, таковой класс наследуется от PDO и в конструкторе читает конфиг. При необходимости что-нибудь отдебажить переопределяются необходимые методы и рассматривается под лупой результат.

INFOMAN ★★★★★
()
Ответ на: комментарий от INFOMAN

> SELECT-то надо из обоих, а INSERT-то один фиг только в одну.

Я про селекты и говорил. А вопрос заключался в том, что бы ничего не переписывать.

VirRaa ★★★
() автор топика
Ответ на: комментарий от VirRaa

А у тебя в приложении совсем нет запросов, изменяющих содержимое БД? Тогда выше ответ уже предложили.

INFOMAN ★★★★★
()
Ответ на: комментарий от INFOMAN

INSERT'ы и UPDAT'ы в модели master-slave в любом случае идут в одну БД (в master). Но Вам должно быть понятно, что в большинстве случаев нагрузку вызывают именно SELECT'ы, в именно с помощью распределения SELECT'ов мне бы хотелось распределить на грузку на два сервера.

VirRaa ★★★
() автор топика
Ответ на: комментарий от VirRaa

если не удается красиво и легко переписать приложение - смотри на mysql-proxy там можно указать какие сервера rw а какие ro

zhiltsov
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.