Вопрос

Я хочу масштабировать существующую установку phpBB, отделяя запросы чтения от запросов записи на два отдельных реплицированных сервера MySQL. Кому-нибудь удалось это сделать, особенно с phpBB?

Самая большая проблема, с которой я столкнулся на данный момент, заключается в том, что кажется, что запросы разбросаны по всему коду. Я хотел бы услышать, сделал ли кто-то еще это, и если так, как это пошло / каков был процесс.

Это было полезно?

Решение

Просто добавьте больше оперативной памяти. Достаточно ОЗУ для хранения всей базы данных. Вы будете удивлены, как быстро будет работать ваш неэффективный скрипт. Память прощает много ошибок масштабирования базы данных.

Другие советы

Вы можете попробовать MySQL Proxy , который будет простым способом разделения запросов без изменения приложение.

Я знаю, что об этом спрашивали давным-давно, но я хотел бы поделиться тем, что я испытал, на случай, если это кому-нибудь поможет.

Если ваша проблема связана с блокировками таблиц, и вы знаете, что механизмом хранения phpbb по умолчанию в тот день был MyISAM, рассматривали ли вы переход на механизм хранения InnoDB?

Просто выясните, какие таблицы чаще всего блокируются, и конвертируйте их в InnoDB. Таблица сессий является первым кандидатом здесь, хотя вы можете захотеть взглянуть на другие оптимизации (такие как хранение данных сеанса только в memcache или что-то в этом роде), если это ваше основное узкое место.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top