ryancoolround Posted October 12, 2021 Share Posted October 12, 2021 В последнее время стала появляться либо 500 ошибка, либо 503. После перехода на хостинг, которым сейчас пользуюсь, на протяжении полутора лет все работало без каких либо проблем. Последнюю неделю, словно по расписанию, каждые сутки получаю эти ошибки. Я узнал, что они вызываются из-за этого: Can't create more than max_prepared_stmt_count statements (current value: 16382) (1461) Выключил абсолютно все приложения кроме форумов, все равно возникают ошибки. Прочел здесь следующую тему: Воспользовался советом и переключил динамическое отображение тем на традиционное. Все равно возникает ошибка. Скажу так, сайт сутки работает нормально, но появляются такие 30-40 минут в сутки, когда на сайт вообще невозможно зайти. Техническая поддержка отмахивается, говорит что я превышаю максимальное количество разрешенных динамических запросов и абсолютно игнорирует то, что полтора года у них на хостинге сайт с большим количеством приложений обращающихся к mysql функционировал без таких проблем. Я бы правда не побеспокоил вас, но к сожалению, я админ любитель и мне остается только просить помощи у вас. Спасибо за ваши советы. Приятного вечера. Я долго копался, параметр max_prepared_stmt_count ограничивает максимальное количество подготовленных операторов, которые могут одновременно существовать в mysql на уровне сервера. Каждый раз, когда вы хотите создать новый подготовленный оператор, mysql сначала проверяет этот предел, и если сервер mysql имеет слишком много подготовленных операторов, то он блокирует новые с сообщением об ошибке. В принципе этот параметр можно было бы отредактировать через простой SQL запрос: set global max_prepared_stmt_count=xxxxxx; Но вся проблема в том, что если я отредактирую это значение, то после перезагрузки mysql сервера, этот параметр вернется в исходное положение. Quote Link to comment Share on other sites More sharing options...
ryancoolround Posted October 12, 2021 Author Share Posted October 12, 2021 36 минут назад, ryancoolround сказал: В принципе этот параметр можно было бы отредактировать через простой SQL запрос: set global max_prepared_stmt_count=xxxxxx; А к этому вообще нет доступа. Попробовал уже. Quote Link to comment Share on other sites More sharing options...
Desti Posted October 12, 2021 Share Posted October 12, 2021 Возможно это поисковые боты на форум нападают. Надо логи смотреть, кто в это время генерит много запросов и блокировать по IP/UserAgent. Но на неуправляемых хостингах это малореально. Quote Link to comment Share on other sites More sharing options...
ryancoolround Posted October 12, 2021 Author Share Posted October 12, 2021 Тоже стоит упомянуть. В такие моменты, если удалось зайти в ACP, и удалось очистить системные кэши, сайт на 2 минуты начинает функционировать. Но после, опять белый экран с ошибкой. Quote Link to comment Share on other sites More sharing options...
Zero108 Posted October 12, 2021 Share Posted October 12, 2021 (edited) То, что вы сколько то там пользовались хостингом, и проблем не было, - абсолютно не показатель. Потому что хостинг у вас VDS скорее всего. Раньше, возможно, на нем не было сайтов, которые грузят железо, а потом появились. И никакой софт никогда честно не разделит физические ресурсы сервера между пользователям, что бы кто ни говорил. Поэтому выход тут такой - покупайте свой сервер и ставьте под стол, просите провайдера пробросить на ваш выделенный IP запись PTR. Либо переезжайте на выделенный сервер на Hetzner, если средства позволяют. Наиболее дешевый вариант - подключить сайт через Cloudflare (бесплатно), делается за час. Там есть опция Firewall (по странам и по IP) и защита от ботов. Edited October 12, 2021 by Zero108 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.