За последние несколько недель у меня была пара max_user_connections
. Мое старое значение было установлено на 50
, и я мог получать более 100 ошибок в день. Мое новое значение - 100
, и оно уменьшилось до 0-5 в день.
Я пытаюсь найти сладкое пятно, но не могу определить, что именно это должно быть. Есть ли конкретные c тесты или проверки, которые мы можем запустить, чтобы определить необходимое значение?
Вот пример ошибки с этого утра:
(HY000/1226): User 'y12345_yugipub' has exceeded the 'max_user_connections' resource (current value: 100)
Эта учетная запись пользователя используется в нескольких сценариях по всему сайту. Он используется для моих API вместе с внутренними проверками соединений.
Некоторые статистические данные сайта:
- 35 тыс. Пользователей в день
- 250 тыс. Просмотров страниц в день
- Кэширование на стороне сервера PHP кеширование с использованием PHPFastCache. Это уменьшает количество запросов к БД. Однако, когда кэш очищен, это может вызвать скачки.
MySQL Трафик / Соединения:
Я пытаюсь дать столько же Информация здесь возможна, так как я не знаю точно, что нужно для определения правильного значения. Мои теории:
- Использовать отдельные MySQL учетные записи для API? Насколько я понимаю, max_user_connections основывается на учетной записи?
- Просто увеличивайте лимит до тех пор, пока ошибки не прекратятся?
- Пересмотрите очистку кэша, чтобы попытаться избежать скачков
РЕДАКТИРОВАТЬ: В соответствии к этой статье , возможно, с использованием разных учетных записей решит проблему. Я думаю, что я, вероятно, настрою свой publi c API для использования учетной записи, отличной от моих внутренних API, поскольку в настоящее время большинство всех моих сценариев используют одну учетную запись.
Из статьи:
Есть лучшее решение: использовать разные учетные записи пользователей для разных скриптов и приложений и применять для них ограничение ресурсов.
РЕДАКТИРОВАТЬ 5 дней спустя: кажется, разделение API на собственную учетную запись MySQL БД решило проблему, так как с тех пор я получил 0 из этих ошибок. Однако я все равно был бы открыт для любого, у кого есть хороший способ составления теории, каким будет оптимальное значение.