Здравствуйте. У меня на сайте постоянно превышается количество одновременно-доступных процессов в БД, и из-за этого он постоянно выдаёт ошибку mysql_error(); http://joxi.ru/eAOL18wu4eangr Я уже задолбал своего хостера, но проблема где-то у меня. Я не пойму куда копать. Сайт на DLE 10.6. В нём несколько встроенных модулей, среди которых и самописные, но дело не в них, по скольку я удалил их все, а проблема осталась. Код DLE немного изменён в некоторых местах. Вот статистика подключений и процессов в phpmyadmin: http://joxi.ru/MAj3ln6svBpaQr (Как видите, количество процессов постоянно растёт). Максимальное количество соединений у хостера: 20. Увеличивать отказываются. Так же в окне мониторинга есть кнопка "Рекомендации": http://joxi.ru/Rmz9kj7iW3EOEr
Ну дело в том что мне сказала служба поддержки хостинга что у меня превышено количество подключений, но в статистике phpmyadmin при 20 процессах начинается вылет ошибки. То есть получается что процессов. --- Добавлено --- http://joxi.ru/LmGaDOwiRjWvQA
Ну как оно там в DLE устроено, я в ядро сильно не лез. Без понятия сколько там подключений на 1 запрос))
В данный момент, их вообще нет, потому что сайт постоянно выдаёт ошибку. А вообще не очень много. Человек 5 - 10 максимум в день могут посетить. --- Добавлено --- Забыл сказать, к этой БД ещё форум подключен на LogicBoard (DLE edition)
Возможно глюк в скриптах или хостинг совсем плохой. Можешь сайты отключить и создать простой скрипт который подключается к mysql спит 200мс и всё, и на него натравить apache ab c "n" и "c" постепенно повышая и смотри когда начнутся глюки с подключением, их логируй в php скрипте который будешь запускать.
Можешь объяснить? Не совсем понял что это значит. --- Добавлено --- Скрипт типа этого? PHP: $sql = mysql_connect($confdb["host"], $confdb["user"], $confdb["pass"]) or die(mysql_error()); mysql_select_db($confdb["name"], $sql) or die(mysql_error()); sleep (200);
ab есть в папке bin, http://www.apachehaus.com/cgi-bin/download.plx#APACHE24VC09 n - это сколько запросов c - это сколько запросов одновременно почитай про apacheBench в поиске Можно такой запрос в cmd сделать: ab -n 10 -c 2 "http://example.com/" Грубо симулирует 10 запросов от двух людей. Ну ещё бы в этот скрипт добавить вывод ошибки 500 если не подключился к mysql и можно ещё записать в лог.
Что прям в цмд виндовс? --- Добавлено --- В консоль openserver ввожу твой пример, со своим хостом естественно, но выдаёт ошибку: ab: invalid URL Usage: ab [options] [http://]hostname[ort]/path --- Добавлено --- С этим разобрался. Консоль возвращает: http://joxi.ru/KAxn901F40xEem
так ты отключи сайты, посмотри если все соединение отключены. Потом делай тест. Вместо картинок консоли, можешь выкладывать весь результат команды. Ты смотри когда начнутся ошибки при каком количестве запросов.
Так то оно так, но когда арендовал виртуальный хостинг этого я не знал. Так что имеем что имеем. Хотя я не уверен что в этом дело. Они утверждают что у меня скрипт кривой. --- Добавлено --- Я просто не знаю от чего отталкиваться. Что может влиять на это?
Очень сильно тебя ограничили на хостинге или скрипт кривой. Я писал как определить при каком кол-ве будут ошибки.
То есть от моего скрипта ничего не зависит, и можно спокойно посылать на*** моего хостера? --- Добавлено --- В общем решил я вопрос... Удалил всё из корневой дирректории, но чудо не прроизошло... Запросы продолжали создаваться. Тогда я решил поменять пароль от БД, и свершилось. Не пойму как так. Возможно ли что кто-то как-то узнал мои данные от БД и делал такую каку? Или как это ещё объяснить?