Странная ошибка после переезда на 2.7.2 2.X

Ошибки у некоторых пользователей при входе на сайт.

 
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатийПочетный донор проекта
Сообщений: 2601
После переноса базы на новый движок у многих пользователей возникает странная ошибка. Жалуются на долгое зависание и что-то про 30 секунд.
Глянул в логи сервера
[Thu Jun 15 19:54:57 2017] [error] [client 95.81.197.***] PHP Fatal error: Maximum execution time of 30 seconds exceeded in /var/www/***/data/www/***.ru/system/core/database.php on line 0
[Thu Jun 15 19:55:44 2017] [error] [client 95.81.197.***] PHP Fatal error: Maximum execution time of 30 seconds exceeded in /var/www/***/data/www/***.ru/system/core/database.php on line 0
[Thu Jun 15 19:56:35 2017] [error] [client 95.81.197.***] PHP Fatal error: Maximum execution time of 30 seconds exceeded in /var/www/***/data/www/***.ru/system/core/database.php on line 0
[Thu Jun 15 19:58:10 2017] [error] [client 95.81.197.***] PHP Fatal error: Maximum execution time of 30 seconds exceeded in /var/www/***/data/www/***.ru/system/core/database.php on line 212
Поднял старый сайт на поддомене на том же сервере - он доступен у всех.

Посмотрел, что в /system/core/database.php в 212-ой строке:
$trace = debug_backtrace();

В нулевой строке, само собой, ничего нет
Сервер перегружал, не помогает.
Что это такое может быть?
Посетитель
small user social cms
МедальПочетный донор проектаАвторитет форумаКубок зрительских симпатий
Сообщений: 2470
а какое значение max_execution_time в php.ini на старом сервере?
сравните с новым.
ну конечно если у вас на старом сервере max_execution_time больше то всё равно это плохо, нужно разбиратся почему так долго скрипты выполняются.
Редактировалось: 2 раз (Последний: 15 июня 2017 в 21:52)
Раньше РАЙ был везде - РАЙсовет, РАЙком, РАЙсобес...., а сейчас везде АДминистрации!
Не надо давать людям советы. Каждый должен лохануться самостоятельно!
Любишь в продакшн, люби и баги починить!
Реклама
cms
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатийПочетный донор проекта
Сообщений: 2601
eoleg,
Сервер один. Я переезжал с Instantcms1.9 на Instantcms2.7.2
Старый (я не стал удалять старый сайт, похоже, что не зря) и новый сайты в соседних папках в каталоге www на одном сервере.
Старый работал и работает без проблем. По поводу нового пользователи завалили сообщениями об ошибках.
Вот теперь пишут, что периодически вылетает надпись "Ошибка создания комментария".
В логах по поводу комментариев ошибок нет.
Зато ошибками про system/core/database.php on line 0 лог забит под завязку.
Посетитель
small user social cms
Сообщений: 38
Ris:

eoleg,
Сервер один. Я переезжал с Instantcms1.9 на Instantcms2.7.2
Старый (я не стал удалять старый сайт, похоже, что не зря) и новый сайты в соседних папках в каталоге www на одном сервере.
Старый работал и работает без проблем. По поводу нового пользователи завалили сообщениями об ошибках.
Вот теперь пишут, что периодически вылетает надпись "Ошибка создания комментария".
В логах по поводу комментариев ошибок нет.
Зато ошибками про system/core/database.php on line 0 лог забит под завязку.

базу данных нужно было новую создавать и было бы тебе счастье...
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатийПочетный донор проекта
Сообщений: 2601
@Alexey80:
базу данных нужно было новую создавать и было бы тебе счастье...
Гениально! Кто-то сегодня по телевизору отвечал похожими ответами.
InstantCMS Team
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 4336
Ris, похоже, что-то с настройками php и/или конфигурации сервера в целом. Какая версия php стоит?
Видео каталог для InstantCMS | Аудио каталог для InstantCMS | Мы Вконтакте | Предложение для спонсоров
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатийПочетный донор проекта
Сообщений: 2601
Fuze:
акая версия php стоит?
Спойлер
Я тоже подозреваю, что тоже что-то с настройками сервера. Я в порядке эксперимента подключал nginx и fast-cgi, и даже сайт на Инстант 1.9 нормально работал.
Но как только я перетащил всё на 2.7.2 - начались нюансы. Я поотключал все нгинксы и прочее и оставил голый апач 2.2.2
Причем старый сайт, вынесенный на поддомен работает нормально. И новый почти у всех нормально работает, но некоторые пользователи не могут войти, им выдает ошибку Maximum execution time of 30 seconds exceeded.
Сам я такую ошибку тоже один раз видел с мобильника, пока возвращался с работы. Дома через вайфай опять стало все нормально и больше не повторялось.
Пробовал отключать memcached и кэширование вообще, все равно некоторые люди войти не могут.
Вот phpinfo:
http://instantcms.ru/users/files/download6576.html
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатийПочетный донор проекта
Сообщений: 2601
Прошло три месяца, но проблема так и не решилась.
То и дело (раз в день стабильно) не могу зайти на сайт. И еще кто-то не может судя по логам сервера:
Спойлер
Эти пики стопроцентной загрузки - кто-то пытался зайти на сайт по кукису.
Проблема проявляется если попытаться зайти с компьютера, где хоть раз была при авторизации поставлена галка "запомнить меня".
Настройки сервера... поменял версию mySql, php менял дважды, пробовал менять режим работы php (модуль apache, CGI, голый nginx) - ничего не помогает.
Знакомым написал чтобы чистили куки, периодически очищаю таблицу cms_users_auth_tokens (многие пользователи считают, что сайт давно умер, так как не могут войти).

Лечится данная проблема довольно просто. Очистка кукисов. Либо очистить куки браузера, либо очистить куки в настройках браузера, либо зайти с другого браузера, где не ставилась галка запомнить.
После захода в неавторизованном виде и ввода логина/пароля все некоторое время нормально работает.
Юзеры жалуются, что не могут зайти на сайт.

Пример логов при моей сегодняшней попытке зайти на сайт:
Спойлер
На локальном сервере копия сайта загружается тоже довольно долго, но тут 1500 мега оперативки.
Похоже, что проблема в огромном количестве комментариев (около миллиона), но почему проявляется только при авторизации по кукису - непонятно.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Пока писал пришла мысль уменьшить memory_limit до 128М на локальном сервере.
Вот результат первой загрузки сайта:
Fatal error: Maximum execution time of 180 seconds exceeded in D:\OSPanel\domains\BACK280.tes\system\core\database.php on line 232.
Редактировалось: 1 раз (Последний: 14 сентября 2017 в 22:06)
Посетитель
small user social cms
Медаль
Сообщений: 653
Ris:
Похоже, что проблема в огромном количестве комментариев (около миллиона), но почему проявляется только при авторизации по кукису - непонятно.
Какое-то подтверждение теории есть или пальцем в небо? - попробуйте настроить логирование медленных запросов и посмотреть что будет в логах - описание.

Можно посмотреть размер таблиц cms_users_auth_tokens и cms_users - при авторизации по токену запрос к ним идет, а с комментами сложно связать это..
Посетитель
small user social cms
Медаль
Сообщений: 653
Ris:
Похоже, что проблема в огромном количестве комментариев (около миллиона), но почему проявляется только при авторизации по кукису - непонятно.

Ris, еще вариант. Может и правда комменты.. Отключите в админке событие user_login для компонента Комментарии
Посетитель
small user social cms
МедальПочетный донор проектаАвторитет форумаКубок зрительских симпатий
Сообщений: 2470
@SmartControl:
Можно посмотреть размер таблиц cms_users_auth_tokens и cms_users
Ну можно в phpmyadmin посмотреть время выполнения запросов в таблицах и если гдето тормоза то попробовать может индексы добавить или как то оптимизировать Серверные переменные и настройки
Раньше РАЙ был везде - РАЙсовет, РАЙком, РАЙсобес...., а сейчас везде АДминистрации!
Не надо давать людям советы. Каждый должен лохануться самостоятельно!
Любишь в продакшн, люби и баги починить!
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатийПочетный донор проекта
Сообщений: 2601
@SmartControl:
Какое-то подтверждение теории есть или пальцем в небо? - попробуйте настроить логирование медленных запросов и посмотреть что будет в логах
Пальцем в небо на самом деле. Просто в остальных таблицах строк не так много, максимум 130000.
Логирование медленных запросов настраивать пробовал. Эта штука как-то странно работает. Даже если ставить long_query_time=20 оно все равно сыплет в лог все подряд. А сайт-то принципе довольно шустро работает. Если не учитывать зависание с авторизацией по кукису, то самый долгий запрос при заходе в профиль пользователя:
Спойлер
@SmartControl:
Отключите в админке событие user_login для компонента Комментарии
А вот это мысль очень интересная! Потому что заметил, что зависание при входе наблюдается в случаях долгого отсутствия на сайте, но достаточно зайти с другого компа, где не запомнены кукисы (даже с другого айпи) - сразу нормально входит и на том компе, где зависало.
А в хуках user_login в компонентах комментарии и форум (от Loadыря) написано:
Спойлер
То есть, есть зависимость от $user['date_log'], а стоит обновить дату последней авторизации - авторизует и по кукису без проблем.

Теперь дождусь зависания, зайду в phpmyadmin и попробую поотключать эти два хука по очереди. О
О результатах эксперимента отпишусь.
Посетитель
small user social cms
Медаль
Сообщений: 653
Ris:
Эта штука как-то странно работает. Даже если ставить long_query_time=20 оно все равно сыплет в лог все подряд.
А потому что у вас один запрос вешает весь сервак и все остальные за ним тоже получаются "медленными") Там же выводится время выполнения.

Ris:
А в хуках user_login в компонентах комментарии и форум (от Loadыря) написано:
Да, я посмотрел это.. Там при авторизации вызывается хук для комментов, вот и связка с вашим предположением. Скорее всего так и есть. Но это вызывается всегда, не только при авторизации по хукам. При простой авторизации по логину-паролю тоже этот хук вызывается.

Теперь дождусь зависания, зайду в phpmyadmin и попробую поотключать эти два хука по очереди.

А зачем в phpmyadmin? - это же можно делать из админки. Компоненты->Управление событиями и там отфильтруйте по колонке Компонент->Комментарии. Или просто сразу по названию хука user_login
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатийПочетный донор проекта
Сообщений: 2601
@SmartControl:
А зачем в phpmyadmin? - это же можно делать из админки.
Для чистоты эксперимента.
Ведь если зайти под своим логином (все равно откуда) - сайт сразу развешивается.
================================================================
А вот и момент истины!
Возвращаюсь с обеда и не могу зайти на сайт. В режиме инкогнито (ну то есть без авторизации) сайт доступен.
Захожу в phpmyadmin, в таблице cms_events отключаю user_login в комментариях - сайт не загружается. Отключаю user_login в admin - сайт не загружается. Отключаю user_login в forum - бинго, мгновенная загрузка!
Пойду писать Loadырю привет...
Редактировалось: 1 раз (Последний: 15 сентября 2017 в 13:52)
Посетитель
small user social cms
МедальАвторитет форумаКубок зрительских симпатий
Сообщений: 3501
Ris:
Пойду писать Loadырю привет...
И вам привет laugh
В начало страницы
Предыдущая темаСледующая тема Перейти на форум:
Быстрый ответ
Чтобы писать на форуме, зарегистрируйтесь или авторизуйтесь.