Проблема с max_user_connect?

seva2

Партнер PHPClub.ru
Проблема с max_user_connect?

Такая проблема свой сервер,
max_user_connect=200

Но сервер очень часто последнее время выдает сообщение:
Warning: mysql_connect(): User u30122 has already more than 'max_user_connections' active connections in /home/u30122/sotmarkettest.ru/www/admin/includes/functions/database.php on line 19
Unable to connect to database server!

Посешаемость действительно очень большая, поэтому вопрос:
1) 1U, Pentium4 2.8GHz, 1Gb, 160Gb SATA HDD - на этом сервере, полностью он мой в мастерхосте, говорят что больше 200 запросов сделать нельзя, это пагубно скажется на его работе, как Вы думаете это так?
2) Фнукция mysql_close() может помочь? Стоит ее использовать?

Посоветуйте как быть?

-~{}~ 27.05.06 09:17:

max_user_connections - как измеряется?

Количество одновременных коннектов? или как?
 
Можешь попробовать использовать connect вместо pconnect. Тогда соединения будут закрываться после завершения обработки запроса. Если одновременно больше 200 запросов, меняй max_user_connections, или оптимизируй скрипты.
 

seva2

Партнер PHPClub.ru
1) Под 10000 хостов + блоковая реклама под 50000 хостов
2) А зачем тогда создано pconnect?

-~{}~ 27.05.06 20:04:

Можете объяснить пожалуйста чем pconnect отличается просто от connect
 

seva2

Партнер PHPClub.ru
Не нашел я в доке)) ссылочку можно?

Еще в пхп май админ просматривая запросы, так вот там есть поле:
State, которое имеет следующие значения:
Copying to tmp table
Writing to net
statistics

Чем они отличаются, и что значат?
 

seva2

Партнер PHPClub.ru
mysql.com в поиске

А ответ на другие вопросы можеш дать?
 

seva2

Партнер PHPClub.ru
Тьфу... точно!
Raziel[SD] спасибо

Тогда не понятно, как определить когда лучше использовать mysql_pconnect а когда mysql_connect
 

seva2

Партнер PHPClub.ru
ок, а ты можеш расказать случаи когда выгоден pconnect?

Спасибо
 

liss

Новичок
если pconnect попробуй
SET interactive_timeout=20
вместо wait_timeout
есть в хелпе

-~{}~ 26.07.06 13:20:

Поднимаю тему опять.
Сам сталкнулся именно с выбором pconnect или connect.
1) pconnect оставляет много соединений на сервере и ждёт таймаута, эти соединения могут юзаться повторно. В итоге на сервере постоянно висит не менее 100 открытых соединений
interactive_timeout=20
max_connections=1000
2) connect вроде закрывает соединение после выполнения скрипта (за этим нужно следить), но постоянно кэширует хосты и в итоге MySQL умирает с ошибкой mysqladmin flush-hosts, лечится max_connect_errors, но страшно подумать что будет потом.
wait_timeout=20
max_connect_errors=1000

Вот и вопрос, что юзать при больших нагрузках на сервер?
Что оптимальнее и быстрее? Я никак не могу определиться.
Вроде pconnect не плох т.к. не конектится по новой, а берёт открытые соединения с этого хоста, и connect - который постоянно открывает/закрывает соединения.
 

PHPer

Новичок
Автор оригинала: liss
если pconnect попробуй
SET interactive_timeout=20
вместо wait_timeout
есть в хелпе

-~{}~ 26.07.06 13:20:

Поднимаю тему опять.
Сам сталкнулся именно с выбором pconnect или connect.
1) pconnect оставляет много соединений на сервере и ждёт таймаута, эти соединения могут юзаться повторно. В итоге на сервере постоянно висит не менее 100 открытых соединений
interactive_timeout=20
max_connections=1000
2) connect вроде закрывает соединение после выполнения скрипта (за этим нужно следить), но постоянно кэширует хосты и в итоге MySQL умирает с ошибкой mysqladmin flush-hosts, лечится max_connect_errors, но страшно подумать что будет потом.
wait_timeout=20
max_connect_errors=1000

Вот и вопрос, что юзать при больших нагрузках на сервер?
Что оптимальнее и быстрее? Я никак не могу определиться.
Вроде pconnect не плох т.к. не конектится по новой, а берёт открытые соединения с этого хоста, и connect - который постоянно открывает/закрывает соединения.
Насколько я знаю, сервер можно настроить специально под pconnect, либо просто connect, в зависимости от этого и юзать. Лично я юзаю pconnect, загрузка сервера большая. Все отлично работает
 
Сверху