Задавайте вопросы, мы ответим
Вы не зашли.
Кластер percona из 3-х серверов, база данных с таблицами по несколько сот миллионов записей, к ней постоянно идут запросы select, update, insert. Открытых соединений с базой может быть несколько тысяч, причем в среднем раз в секунду каждое соединение посылает какой-либо запрос. Раньше был один сервер бд, база была поменьше, с 1000 соединений сервер более менее справлялся. Кластер же работает хуже чем тот один сервер который был, соединения висят в ожидании окончания репликации операций update/insert, потом все падает. Что подскажите?
Неактивен
Падает - имеете в виду segfault? В этом случае это бага продукта. Насчет скорости - синхронная репликация требует выполнения всех апдейтов на всех машинах и если приложение делает много апдейтов, то накладные расходы будут большими.
Неактивен
Сейчас падает из-за "Connection timed out" при количестве потоков больше 500 примерно. Тогда может помочь если я буду использовать асинхронную репликацию?
Неактивен
Если много апдейтов, то асинхронная репликация не поможет (в том смысле, что она не даст преимущества над одним сервером, хотя и не будет хуже). Попробуйте уменьшить число апдейтов в приложении (не делать апдейты ради статистики, например).
Неактивен
То есть количеством серверов проблему не решить? Может шардинг нужно использовать?
Неактивен
Шардинг скорее всего поможет, но потребуется переработка приложения.
Неактивен