Автор Тема: 1040 Too many connections  (Прочитано 4306 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн ash

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 10
  • +0/-0
  • 0
    • Просмотр профиля
    • http://artvladivostok.ru
1040 Too many connections
« : 29 Марта 2002, 08:26:58 »
Вот такая зараза вываливается переодически, надоело, а как исправить не нашел =(

Вот сейчас оно выползо при следующий обстоятельствах:
ошибка появилась и я ради интереса полез посмотреть сколько соединений образовалось (SHOW STATUS) и увидел такую вот цифрь Connections 322 при этом не открывались новые соединения, а старые функционировали.
Глянул я и SHOW PROCESSLIST, в нем отображались процессы запущенные недели две назад (судя по 7ми значиным числам).

Вот что с этим делать? =(((( перегружать сервис нехорошо...
Да, самое важное: Win2000+MySQL3.23.49

Я несколько в замешательстве, у меня под FreeBSD MySQL уже
Uptime   5081062   =(((((

Вот кусок из php.ini
Цитировать

[MySQL]
mysql.allow_persistent = On
mysql.max_persistent = -1
mysql.max_links = -1
mysql.default_port =
mysql.default_socket =
mysql.default_host =
mysql.default_user =
mysql.default_password =

Идентичная конфигарация и под фрёй.

P.S. Когда первый раз такое проявилось я решил немного поэксперементировать и следал параметр mysql.max_persistent = 100. Ожидания не подтвердились соединения как плодились так и продолжали в том же духе, за пол часа перевалили за 100 =((( и продолжали это делать.

Каким образом заставить MySQL отстреливать старые соединения? Ведь юниковая версия это делает без напоминания...

Оффлайн fidget

  • Непоседа
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 607
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
1040 Too many connections
« Ответ #1 : 29 Марта 2002, 11:59:55 »
такая фигня происходит, если ты используешь mysql_pconnect() , который не закрывает соединение с базой после загрузки
На Машине Тьюринга далеко не уедешь.

Оффлайн ash

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 10
  • +0/-0
  • 0
    • Просмотр профиля
    • http://artvladivostok.ru
1040 Too many connections
« Ответ #2 : 29 Марта 2002, 16:59:24 »
Да, действительно там используется pconnect, но и на юникс машине то же есть сайты использующие такую функцию. Проблем не возникает.

Есть ли иной выход, вместо переписывания кода?

Оффлайн fidget

  • Непоседа
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 607
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
1040 Too many connections
« Ответ #3 : 29 Марта 2002, 17:08:47 »
Цитировать
Есть ли иной выход, вместо переписывания кода?


сравни параметр для mysql серверов:
wait_timeout
он идентичный или там разное время установлено?

Возможно для юниксового сервера меньшее время установлено и он раньше закрывает соединение..
по умолчанию там кажется 8 часов установлено ...
На Машине Тьюринга далеко не уедешь.

Оффлайн ash

  • Заглянувший
  • Новичок
  • *
  • Сообщений: 10
  • +0/-0
  • 0
    • Просмотр профиля
    • http://artvladivostok.ru
1040 Too many connections
« Ответ #4 : 29 Марта 2002, 17:12:58 »
wait_timeout 28800
На обоих машинах =(

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
1040 Too many connections
« Ответ #5 : 29 Марта 2002, 18:49:50 »
ash
Цитировать
Есть ли иной выход, вместо переписывания кода?

А пишешь на чем?
Если на ПХП и есть файл, который инклюдится во все скрипты (например настройки или файл с функциями) то можно такое сделать:

function My_ShutDown()
{
 
mysql_close();
}
register_shutdown_function("my_shutdown");

и вставляешь это в этот файл
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

Оффлайн fidget

  • Непоседа
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 607
  • +0/-0
  • 2
    • Просмотр профиля
    • http://
1040 Too many connections
« Ответ #6 : 29 Марта 2002, 19:04:43 »
Цитировать
mysql_close();

может я и ошибаюсь, но mysql_close() кажется не закрывает соединение открытое mysql_pconnect()
На Машине Тьюринга далеко не уедешь.

Оффлайн Макс

  • vir magni ingenii
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3534
  • +0/-0
  • 2
    • Просмотр профиля
1040 Too many connections
« Ответ #7 : 29 Марта 2002, 21:52:48 »
Да, действительно, ступил малость. Признаю свою ашипку. Плохо доку прочел.
First learn computer science and all the theory. Next develop a programming style. Then forget all that and just hack. ( George Carrette )

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28