Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Работа для программиста > Фриланс
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 16.10.2016, 01:07   #1
Elena_V
Новичок
Джуниор
 
Аватар для Elena_V
 
Регистрация: 16.10.2016
Сообщений: 0
Стрелка Проблема с закрытием соединения (PHP)

Здравствуйте, уважаемые участники форума.

Ищу помощи в решении следующей проблемы. Имеется форум, который очень часто выдает ошибку:

FluxBB reported: Unable to connect to MySQL and select database. MySQL reported: User already has more than 'max_user_connections' active connections

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

После обращения к хостеру выяснилось, что запрос к базе у нас выполняется дольше оптимально установленного срока и посоветовал проверить, используется ли в скрипте функция mysql_close. Хостер посоветовал изменить код скриптов так, чтобы после нужных действий они закрывали соединение с базой.

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

Поэтому ищу человека, который смог бы "на пальцах" объяснить мне как правильно закрыть соединение или, (если дело все-таки не в соединении) помочь обнаружить источник проблемы.

Располагаю суммой в 1000 рублей.

Контакты:
почта: evasilen95@mail.ru
skype: evasilen95@mail.ru
Elena_V вне форума Ответить с цитированием
Старый 19.10.2016, 11:31   #2
Igor[Игорь]
Пользователь
 
Аватар для Igor[Игорь]
 
Регистрация: 25.11.2011
Сообщений: 52
По умолчанию

igor23dec@yandex.ru
e-mail: igor23dec@yandex.ru , ICQ: 2168364 , Telegram: @IgorVN
Delphi, PHP
Примеры http://igorvn.ucoz.ru/
Igor[Игорь] вне форума Ответить с цитированием
Старый 19.10.2016, 22:54   #3
predefined
Форумчанин
 
Регистрация: 01.08.2016
Сообщений: 182
По умолчанию

У вас - форум, close() не поможет, потому, что вся работа скриптов форума - "шариться" по БД. У форума нет больших "вычислительных" участков кода, на время которых соединения с БД можно закрывать. А если и закрыть - то скрипт зависнет, потому что когда ему потребуется соединение с БД - он будет ждать общей очереди, а если напорется на max_user_connections - вообще оборвётся.

Скорее всего посещаемость вашего форума превысила возможности хостинга.

Навскидку вижу 2 решения:

- увеличить max_user_connections(интересно, какое оно у вас сейчас), это делает хостер. Если что - можно сменить хостера на более адекватного.

- сделать кэширование страниц, чтобы старые страницы брались из файлового кэша, а не из БД. Надо смотреть штатные "плагины" для вашего типа форума, тк самому лезть туда - не комильфо, всё слетит при обновлении движка форума.


Возможно, поможет "административное" ограничение веток форума в 100 страниц, если переваливает - открывать новую, тк движки многих форумов начинают тормозить при очень большом количестве постов в ветке.


Как временное решение - сделать ANALYZE TABLE и OPTIMIZE TABLE чтобы пересобрать индексы и структуру таблиц - после удаления постов в таблицах появляются дырки и БД начинает работать не оптимально. Естественно, перед этим надо сделать полный бэкап БД.

Последний раз редактировалось predefined; 19.10.2016 в 23:08.
predefined вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Исключающие комбинаторные соединения без повторений [C++|C#|D|VB|php] JROUD Помощь студентам 2 25.02.2013 16:42
Неблокирующий сокет Си проблема с закрытием, проблема с закрытием сокетов в цикле mnx_vol C/C++ Сетевое программирование 0 06.11.2012 13:57
Потоки - проблема с закрытием программы abb777 Общие вопросы Delphi 1 19.12.2010 00:13
проблема с закрытием формы betirsolt Общие вопросы Delphi 46 03.08.2009 01:00