|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
16.10.2016, 01:07 | #1 |
Новичок
Джуниор
Регистрация: 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 |
19.10.2016, 11:31 | #2 |
Пользователь
Регистрация: 25.11.2011
Сообщений: 52
|
e-mail: igor23dec@yandex.ru , ICQ: 2168364 , Telegram: @IgorVN
Delphi, PHP Примеры http://igorvn.ucoz.ru/ |
19.10.2016, 22:54 | #3 |
Форумчанин
Регистрация: 01.08.2016
Сообщений: 182
|
У вас - форум, close() не поможет, потому, что вся работа скриптов форума - "шариться" по БД. У форума нет больших "вычислительных" участков кода, на время которых соединения с БД можно закрывать. А если и закрыть - то скрипт зависнет, потому что когда ему потребуется соединение с БД - он будет ждать общей очереди, а если напорется на max_user_connections - вообще оборвётся.
Скорее всего посещаемость вашего форума превысила возможности хостинга. Навскидку вижу 2 решения: - увеличить max_user_connections(интересно, какое оно у вас сейчас), это делает хостер. Если что - можно сменить хостера на более адекватного. - сделать кэширование страниц, чтобы старые страницы брались из файлового кэша, а не из БД. Надо смотреть штатные "плагины" для вашего типа форума, тк самому лезть туда - не комильфо, всё слетит при обновлении движка форума. Возможно, поможет "административное" ограничение веток форума в 100 страниц, если переваливает - открывать новую, тк движки многих форумов начинают тормозить при очень большом количестве постов в ветке. Как временное решение - сделать ANALYZE TABLE и OPTIMIZE TABLE чтобы пересобрать индексы и структуру таблиц - после удаления постов в таблицах появляются дырки и БД начинает работать не оптимально. Естественно, перед этим надо сделать полный бэкап БД. Последний раз редактировалось predefined; 19.10.2016 в 23:08. |
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Исключающие комбинаторные соединения без повторений [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 |