Перейти к контенту
  • 0

IPS Driver Error. more than 'max_user_connections' active conn


Gev

Вопрос

Сегодня у меня возникла проблема, которая сама по себе быстро ушла.

Но я бы хотел узнать причины и лекарство от нее.

 

Форум IPB 2.3.6

PHP version 4.4.9

MySQL version 5.0.81-community

 

IPB Предупреждение [2] mysql_connect() [function.mysql-connect]: User sam_ipb already has more than 'max_user_connections' active connections (Строка: 141 файла /ips_kernel/class_db_mysql.php)

Ошибка с базой данных.
Вы можете попробовать обновить эту страницу, нажав сюда.

Возвращаемая ошибка

SQL error: User sam_ipb already has more than 'max_user_connections' active connections
SQL error code: 
Date: 4.1.2010, 2:08

Ссылка на комментарий
Поделиться на других сайтах

Рекомендуемые сообщения

  • 0

Причина:

 

Выское количество подключений к БД. MySQL по-умолчанию имеет в настройках параметр max_connections = 100, т.е. не более 100 подключений к БД одновременно. Т.е. одновременно во временном интервале, примерно равном среднему времени генерации одной страницы форума, вас могут посещать не более 100 человек.

 

Раз ошибка вылезла, то тут есть 3 варианта:

 

1) Вы долго работали над своим форумом, находя интересный контент, и, наконец, свершилось долгожданное - ваш форум стал очень популярен, уже сотня человек сидит там единовременно,

 

2) На вас совершили набег поисковые боты. По одному они милые ребята, не делающие более 10 подключений за раз, и запрашивающие страницы с интервалом в 3 секунды. Но всего их существует более 50, так что всем скором им ничего не стоит завалить ваш форум запросами.

 

3) Вас грабят. Есть такая темная секта в сети - SEO-шники, сиречь, поисковые оптимизаторы. Они очень любят надергивать откуда-нибудь статический контент (выдирая все страницы с сайта, аналогично поисковикам или программе TeleportPro), приправлять его огромным количеством рекламы и вывешивать в сети. От рекламы им капают денежки, а интересность вашего контента обеспечивает им достаточный Page Rank и ТиЦ.

 

Лекарства:

 

1) Повысить max_connections:

SET GLOBAL max_connections = 200;

 

Чтобы это сделать, нужно быть админом сервера MySQL. Поэтому, решение не подойдет для виртуального хостинга. Выставляя параметр, не переборщите - он служит для того, чтобы держать сервер упраляемым. Вы же не хотите, чтобы ваш mysql-сервер сделал вам "gone away"? :D

 

2) Поменять хостинг на более мощный, с более высоким значением max_connections (для виртуального хостинга).

 

3) Заняться оптимизацией скрипта, сокращая количество запросов и убирая "ненужный функционал" (последнее дело).

 

4) Найти источники запросов, и далее:

 

- если это поисковые боты - либо заблокировать, либо переконфигурировать посредством robots.txt

 

- если это злые дяди - забанить их по ip.

Изменено пользователем Ritsuka
Ссылка на комментарий
Поделиться на других сайтах

  • 0

Ага. Спасибо. Ну, посетителей у меня бывало и поболе. Думаю, тут дело в сервере. Пару недель назад перескочил на более современный сервер. Но видимо max_connections там ниже, чем на старом.

Я так понимаю, что должен попросить хостера изменить его, верно?

Или я сам могу это исправить?

У меня есть доступ в phpMyAdmin

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Узнать значение параметра можно запросом:

 

SHOW VARIABLES WHERE Variable_name = 'max_connections'

 

Изменить - запрос у вас есть. Если после его выполнения значение изменится - значит обойдетесь без помощи хостера. Но это маловероятно - настройка критична для безопасности, да вообще - не представляю себе хостера, что дает пользователям писать в GLOBAL VARIABLES :D

Изменено пользователем Ritsuka
Ссылка на комментарий
Поделиться на других сайтах

  • 0
max_user_connections

Да, вариант. По-умолчанию оно равно "0" = "не ограничено", но в вашем случае может быть источником проблемы, раз уж "на всех вместе" соединений так много :D

 

А еще у вас может быть очень много соседей.

 

Вам нужно с хостером общаться на эту тему ;)

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Ага. А вот и оно.

max_user_connections 50

 

Значит, попросить хостера увеличить эту цифру до 200 будет хорошая идея. :D

 

Спасибо, господа.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Здравствуйте!

У меня возникла похожая проблема

User already has more than 'max_user_connections' active connections

 

 

От службы техподдержки пришло письмо с комментариями:

С начала суток, к базе сделано 3538 больших запросов, которые в сумме

использовали 23506 секунд процессорного времени сервера баз данных.

Доступ к базе заблокирован, так как она мешает нормальной работе других

пользователей сервера.

 

Также были предоставлены логи с проблемными запросами, в которых я увидел то, что не понимаю, ибо с форумом это ну совсем никак не связано.. проще говоря спам

# User@Host: greenday_xmlbaza[greenday_xmlbaza] @ [77.221.130.10]

# Query_time: 3 Lock_time: 1 Rows_sent: 0 Rows_examined: 0

REPLACE INTO `cncat_main` VALUES('8941900094912653','Samsung C-105 AFR','микроволновые печи гриль, конвекция, объем 28 л, мощность микроволн - 900 Вт, электронное управление, автоматические режимы: разморозка, разогрев, приготовление, размеры: 520 x 310 x 517 мм, цвет: белый ','http://www.stol-zakazov.ru/index.php?productID=2653','23',' Руб.','6250','----','samsungc105afr','http://www.stol-zakazov.ru/picture/181/2653_big.jpg','16','2010-03-25 10:03:49');

# User@Host: greenday_xmlbaza[greenday_xmlbaza] @ [77.221.130.10]

# Query_time: 2 Lock_time: 0 Rows_sent: 0 Rows_examined: 0

REPLACE INTO `cncat_main` VALUES('89419000949129735','Siemens HB 336550','независимые духовки Электрическая, независимая, объём 65 л, размеры: 59.5x59.5x54.8 см, цвет: нерж. сталь','http://www.stol-zakazov.ru/index.php?productID=29735','24',' Руб.','25274','----','siemenshb336550','http://www.stol-zakazov.ru/picture/301/29735_big.jpg','16','2010-03-25 10:03:49');

 

Что можно сделать?

Форум 2.3.6

Изменено пользователем Santyou
Ссылка на комментарий
Поделиться на других сайтах

  • 0

Понимаю, что не совсем по теме.. но можно вопрос?

 

User@Host: greenday_xmlbaza[greenday_xmlbaza] @ [77.221.130.10]

 

Эта строчка указывает на имя юзера базы данных на сервере?

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Все сильно зависит от ПО, которым сделана эта выборка, но скорее всего так и есть. По крайней мере надпись "User@Host" крайне красноречива :D
Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.