VBsupport перешел с домена .ORG на родной .RU
Ура!
Пожалуйста, обновите свои закладки - VBsupport.ru
Блок РКН снят, форум доступен на всей территории России, включая новые терртории, без VPN
На форуме введена премодерация ВСЕХ новых пользователей
Почта с временных сервисов, типа mailinator.com, gawab.com и/или прочих, которые предоставляют временный почтовый ящик без регистрации и/или почтовый ящик для рассылки спама, отслеживается и блокируется, а так же заносится в спам-блок форума, аккаунты удаляются
Если вы хотите приобрести какой то скрипт/продукт/хак из каталогов перечисленных ниже: Каталог модулей/хаков
Ещё раз обращаем Ваше внимание: всё, что Вы скачиваете и устанавливаете на свой форум, Вы устанавливаете исключительно на свой страх и риск.
Сообщество vBSupport'а физически не в состоянии проверять все стили, хаки и нули, выкладываемые пользователями.
Помните: безопасность Вашего проекта - Ваша забота. Убедительная просьба: при обнаружении уязвимостей или сомнительных кодов обязательно отписывайтесь в теме хака/стиля
Спасибо за понимание
MySQL Error : MySQL server has gone away. Error Number : 2006
0
Добрый день.
Ребят со вчерашнего дня такая проблема: при нажатии на практически любую ссылку на showthread.php начало вылетать следующее:
Code:
Database error in vBulletin 4.2.5:
Invalid SQL:
SELECT template
FROM template
WHERE templateid = 4960;
MySQL Error : MySQL server has gone away
Error Number : 2006
При запуске данного запроса из phpMyAdmin всё норм. Погуглил, нашёл мол проверьте max_allowed_packet и увеличьте. Посмотрел, у меня 524288000 (500мб), как я понимаю более чем достаточно.
Хостер говорит, что дело в самом приложении (вб 4.2.5), что процесс слишком долгий и т.д.
В темах 10 постов на страничку (по умолчанию), посты далеко не лошадиные.
Ничего не устанавливал и не снимал, код не менял, хост не менял... Началось внезапно без видимых причин.
Заранее благодарю за помощь.
П.С. периодически приходят сообщения о превышении одновременных соединений с базой (1300 с лишним). Никак не могу словить момент, не знаю связано ли это с проблемой (предполагаю нет, но на всякий).
DJ Kukstyler добавил 10-16-2024 в 05:30 PM
Методом тыка высмотрел в логе что проблема в запросе на http://ip-api.com который виснет (перестало отвечать) и в итоге таймаутит запрос.
Last edited by DJ Kukstyler : 10-16-2024 at 06:30 PM.
Reason: Добавлено сообщение
периодически приходят сообщения о превышении одновременных соединений с базой (1300 с лишним).
Это проблема хостера. У меня такая была, пришлось уйти на другой хостер.
kerk
k0t
Join Date: May 2005
Location: localhost
Posts: 28,708
Версия vB: 3.8.x
Пол:
Reputation:
Гуру 20257
Репутация в разделе: 8432
2
Quote:
Originally Posted by DJ Kukstyler
При запуске данного запроса из phpMyAdmin всё норм
разумеется, норм
в майадмине выполнился только один запрос - конкртено этот
на форуме выполняется туева хуча запросов вместе с вашим (вот этим)
и скорей всего, в совокупности с запросами для других шаблонов, но глючит именно на этом
что там за шаблон?
много ли условий в шаблоне?
от имени какого аккаунта (админ/юзер/модер) выполняется запрос (и виснет)?
ну, в общем, нужно комплексно подходить к проблеме, а не грешить конкретно именно на данный запрос (хотя, не исключаю, что именно в нем проблема - см. выше)
Методом тыка высмотрел в логе что проблема в запросе на http://ip-api.com который виснет (перестало отвечать) и в итоге таймаутит запрос.
Не знаю, что за хрень была, ибо запрос туда идёт только при каждом новом ИП, а результат сохраняется в базе. Таким образом, первым делом смотрится, есть ли ИП в базе и если да, то запрос не посылается. Вся эта история только для зарегистрированных юзеров, которых не много, а постят меньше половины.
Каcаемо
Code:
mysqli_real_connect(): (08004/1040): Too many connections
/home/*******/public_html/includes/class_core.php on line 1351
Честно говоря вообще не понимаю, что за 1351 коннекшнов и откуда они берутся.
Я так понимаю, при подключении создаётся соединение с базой, и оно же используется на протяжении всего времени что юзер в форуме. Или оно не так?
@Лис
Эксперт
Join Date: Sep 2017
Location: Питер, Россия
Posts: 1,845
Версия vB: 3.8.4
Пол:
Reputation:
Expert 1382
Репутация в разделе: 320
1
Quote:
Originally Posted by DJ Kukstyler
Я так понимаю, при подключении создаётся соединение с базой, и оно же используется на протяжении всего времени что юзер в форуме. Или оно не так?
Я когда с этой ошибкой носился, мне хостер (Бегет) сказал что это могут быть спамеры и/или хакерские атаки. Потому что не было у меня столько юзеров на форуме, чтобы many connections.
Они меня так убеждали в том что это спамеры, что я подумал о том, что это их рук дело и свалил с Бегета. И все, ошибки больше нет. Новый хостер вмиг ее решил.
Хотя в разных источниках я почитал что это не ошибка БД, а ошибка кода. Но чтобы исправлять этот код, нужно естественно знать на что, а никто так и не понял.
Просто у меня небольшой ресурс, там просто не бывает никаких мэни коннекшен и быть не может. Поэтому я был удивлен, и конечно хотел бы разобраться. Но увы, это дорого и нервотрепка.
Потому что Бегет мне тогда сказал: хотите разбираться покупайте выделенный Сервер. Прям целый триллер можно написать, как они могли бы сами устроить эту ошибку, чтобы склонить меня (а может и не только меня) к покупке выделенного сервера.
Но мы в реальности живем. Я просто свалил и сейчас все хорошо.
@DJ Kukstyler
Продвинутый
Join Date: Jul 2006
Location: Мадрид
Posts: 432
Версия vB: 4.2.х
Пол:
Reputation:
Опытный 85
Репутация в разделе: 83
2
Quote:
Originally Posted by Лис
Потому что Бегет мне тогда сказал: хотите разбираться покупайте выделенный Сервер. Прям целый триллер можно написать, как они могли бы сами устроить эту ошибку, чтобы склонить меня (а может и не только меня) к покупке выделенного сервера.
У меня та же история. Предлагают взять дедикейтед. Прикол в том, что пока я сидел на 3.8.7 подобных историй не было. Проапгрейдил на четвёрку года полтора назад, только после этого подобные проблемы и начали всплывать. По-этому у меня у самого возникли сомнения по поводу кода. Но дело так и в том, что у меня постоянных юзеров человек 20 наверное + спайдеры и визитёры. Ну никак не складывается у меня, 1300 коннектов одновременно, притом захожу через минут минут 5 на форум (после получаения мэйла про ошибку), а там от силы 30 визитёров, всех вместе... Ну не может же быть так, что движок настолько корявый. Да и потом, если дело в коде, оно должно постоянно так делать.
Единственный вариант, теоретически, это что где-то циклит при создании соединения с базой. Но это "где-то" должно быть в мало видном/доступном месте, то есть куда юзеры попадают редко. Да и то, поди ищи где да как....
Интересно, на тройке был хак такой, сколько визитёров посетило форум. В своё время был установлен на 3-ке у меня. Может стоит посмотреть, пашет на 4-ке или поискать для 4-ки.
Но и тут, опять так и, боты сидят обычно на форуме минут 15 - полчаса. Бывало я получаю уведомление и сразу захожу, то есть задержка ну минут 5-10 максимум. А там, "19" визитёров, ну никак не 1300.
Интересно, а на новом хостинге у Вас те же свойства что и на старом? Или всё так может хоть чуток по-мощнее?
@Лис
Эксперт
Join Date: Sep 2017
Location: Питер, Россия
Posts: 1,845
Версия vB: 3.8.4
Пол:
Reputation:
Expert 1382
Репутация в разделе: 320
1
Quote:
Originally Posted by DJ Kukstyler
Интересно, а на новом хостинге у Вас те же свойства что и на старом? Или всё так может хоть чуток по-мощнее?
Я обновил на новом хосте php, до 7.2. Но по сути хаков никаких особо не ставил, скорее наоборот, многое удалил.
Народу ходит ровно столько же. Весной был какой-то прорыв, приходило втрое больше чем обычно, никаких мэни коннекшен.
А еще я тут вспомнил, что у меня на форуме несколько лет назад (до этой ошибки на старом хосте) было очень много народу. И никаких ошибок подобных не было.
И потом стало ходить от силы половина и пошли ошибки.
Причем они пошли у меня внезапно. Поэтому я честно грешу на сам Бегет. Последний год когда я там был, они безобразно общались с клиентами, чета все время повышали, постоянно форум был недоступен по несколько часов. Потом они грешили на мой инет-провайдер. А потом и вовсе подняли цену и конечно клиентам не особо сообщали.
Я рад что я оттуда ушел.
ПС: Я не верю в подобные ошибки на ровном месте.
kerk
k0t
Join Date: May 2005
Location: localhost
Posts: 28,708
Версия vB: 3.8.x
Пол:
Reputation:
Гуру 20257
Репутация в разделе: 8432
2
Quote:
Originally Posted by DJ Kukstyler
и оно же используется на протяжении всего времени что юзер в форуме
при входе юзера на форум, создается запись в БД (сессия, по умолчанию 15 мин), если юзер не поставил галку "запомнить" при входе, его выкинет с форума после неактивности в 15 мин
при переходе на любую страницу форума, создается свой запрос в БД (и не один, зависит от того, куда перешел юзер)
@DJ Kukstyler
Продвинутый
Join Date: Jul 2006
Location: Мадрид
Posts: 432
Версия vB: 4.2.х
Пол:
Reputation:
Опытный 85
Репутация в разделе: 83
0
@Лис, у меня php 5.6, когда меняю на версии по-выше, форум просто перестаёт работать ( у меня 4.2.5), в логах тонны ругани. В своё время попытался посмотреть, но потом времени не было и оставил так и на 5.6
kerk, насколько я понимаю дело не в количестве запросов, а именно в количестве одновременных соединений.
Что я имею в виду: предполагаю, что т.к. объект соединения с базой создаётся при первом попадании на любую страницу форума (как минимум да бы вытащить и использовать шаблоны, то есть запросы идут ото всех, зарегинных и визитёров).
Даже если это визитёр (гость), где-то (опять так и как я понимаю) должен сохраниться созданный объект соединения с базой, временно, да бы использовать его-же в последующих запросах в базу, на протяжении сессии данного гостя.
Возможно я не прав, но мне всё это представляется как-то так.
Есть ещё один интересный момент: запросы в базу от одного и того же юзера не могут идти все одновременно, а идти они должны секвенциально, один за другим, в соответствии с расположением в коде (исключением может являться только многопоточность (multithreading), которая вряд-ли тут используется, и вообще не знаю доступна ли в php).
За сим получается, что если на форум зашло одновременно 30 юзеров, то в одну единицу времени (скажем секунду) в среднем идет то же количество запросов, в зависимости от страницы на которую каждый юзер зашёл, их может быть больше или меньше (на разных страницах, очерёдность и количество и размер запросов асинхронна), но не в разы больше однозначно.
Исходя из этого можно предположить, что дело так и не в количестве запросов а именно в количестве соединений (созданных объектов типа "dbConnection"). А если так, то подозрения @Лис-а про проделки хостера, на мой взгляд, вполне легитимны.