Как стать автором
Обновить

Комментарии 8

Попробуйте ходить из приложения не через 127.0.0.1, а через сокет /tmp/proxysql.sock будет быстрее.
По конфигу два коментария.
monitor_ping_interval у вас стоит в 200000ms (200 секунд), это означает что среднее время между падением сервера и обнаружением этого ProxySQL — 100 секунд, а в плохом случае ProxySQL будет ломиться на нерабочий сервер больше трех минут. Лучше поставить это значение хотя бы в дефолтное (8 секунд), а лучше раз в секунду, проверка легкая, сервер не тормозит.
max_connections у вас стоит в 10 000. Если каждый клиент откроет в пике 10к коннектов, базе может стать очень нехорошо. Лучше поставить в сотню, тем более что вы сами посчитали, что в среднем у вас 50-80 активных подключений с бокса, что честно говоря очень много и это значит что нужно смотреть на незакрытые транзакции и медленные запросы.
первое согласен — спасибо!
второе осталось на всякий случай, 10к коннектов норм. мы боролись когда было 35к коннектов, из-за чего пришлось выключить много вебов.

А вы не пробовали использовать его функционал по кэшированию запросов?
На тестовой нагрузке работает, а вот как он поведёт себя на >20k запросов в секунду — неизвестно.

В целом кеширование по TTL не самая умная штука. Под нагрузкой работает, но если нужно существенную часть данных отдавать из кеша, лучше научить приложение ходить вместо базы в memcache / редис / etc
Интересное совпадение — заговорили про кэширование, и как раз всплыло. Написал комментарий — его не видно…

Продублирую ещё раз в таком случае.
Не могу не согласиться — конечно решать на уровне приложения правильней. Но сейчас как-то часто случается что или разработчики заняты, или их уже нет. А нагрузка есть и с ней нужно что-то делать.
С микрокэшированием на уровне nginx-а я уже обжёгся. Теперь вот хочу набить шишек уровнем ниже.
Попробовал проксировать запросы через ProxySQL (v2.0.12 из исходников). Удивительно, но подключений к базе стало больше. Может этот multiplexing нужно как-то отдельно включать? Например в табличке mysql_query_rules есть поле 'multiplex'.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий