Вопрос о смысле max_user_connections

Хам

Новичок
Вопрос о смысле max_user_connections

Возможно меня клинит...
Родился такой насущный вопрос...
Есть весьма посещаемый ресурс...
на хостинге max_user_connections 15
max_connections 150
есть небольшая базулька(150 килобайт) из 3-х таблиц
есть скрипт:
PHP:
<?php
$adr="localhost";
$user="user1";
$pass="xxxxxx";
$db="bib";
$link=mysql_connect($adr, $user, $pass) or die ("Error!");
mysql_select_db($db) or die ("Error!");
.....
//выполняется простенький запрос к одной из таблиц и результаты заносятся в масив
.....
mysql_close($link);
?>
переодически срабатывает or die....
Вопрос: это из-за установленного лимита max_user_connections ???
 

Хам

Новичок
а вообще для хорошо посещаемых ресурсов (трафик за 10 суток 1340 Мега байт, общий обьем сайта 1,3 Мегабайта) приемлема ли max_user_connections = 15???
и другой вопрос... max_user_connections - означает лимит коннектов для одного юзера к базе или вообще к MySQL??? (в манах не совсем понятно описано)
 

Steamroller

Новичок
а вообще для хорошо посещаемых ресурсов (трафик за 10 суток 1340 Мега байт, общий обьем сайта 1,3 Мегабайта) приемлема ли max_user_connections = 15???
Да, это даже много очень. Если при небольшой нагрузке доходит до 15 подключений, значит что-то ненормально.
и другой вопрос... max_user_connections - означает лимит коннектов для одного юзера к базе или вообще к MySQL??? (в манах не совсем понятно описано)
От одного юзера к базе.
 

Хам

Новичок
Автор оригинала: Steamroller
Да, это даже много очень. Если при небольшой нагрузке доходит до 15 подключений, значит что-то ненормально.
Дело в том что распределение трафика по времени суток - неравномерно... там народ тусуется восновном в обеденное время или рано утром.. также вечером после работы... по статистике, на страницы использующие одну SQL базу, заходит до 25 пользователей одновременно...

"значит что-то ненормально." например что???
 

Хам

Новичок
Из логов:

PHP Warning: mysql_connect(): #08004Too many connections in /home/xxxxx/public_html/tom/connektsql.php on line 32
(строка 32: $link=mysql_connect($adr, $user, $pass) or die ("Error!"); )

PHP Warning: mysql_connect(): Lost connection to MySQL server during query in /home/xxxxx/public_html/tom/connektsql.php on line 32

PHP Warning: mysql_connect(): Can't connect to local MySQL server through socket '/var/tmp/mysql.sock' (2) in /home/xxxxx/public_html/tom/connektsql.php on line 32
 

Steamroller

Новичок
А это дело не в max_user_connections, а в max_connections. При превышении max_user_connections ошибка другая (#42000).
Если такое часто - хостинг надо менять.
Можно попытаться это обойти - примерно так
PHP:
$link=mysql_connect($adr, $user, $pass);
if (!is_resource($link)) {
 sleep(5);
 $link = mysql_connect($adr, $user, $pass) or exit(mysql_error());
}
...
Либо вообще экстрим
PHP:
$link=mysql_connect($adr, $user, $pass);
while (!is_resource($link)) {
 sleep(1);
 $link = mysql_connect($adr, $user, $pass);
}
 

Хам

Новичок
Спасибо за совет!

частенько происходит... :(

это настройками правится (в том плане, что обратиться к сапорту, дабы они проверили свои настройки)???
ПО: PHP 4.3.11, MySQL 4.1.13-standard
 

Steamroller

Новичок
Хам, ну вообще да, это правится грамотным администрированием, но простого решения нет, если админ тупо в my.cnf поменяет max_connections на большее значение - то все равно не поможет. То есть надо заставить саппорт привести в порядок работу сервера.
 
Сверху