Класс расширенной отладки для InstantCMS 2.1.2 (v.8) + оптимизация скорости

+25
2.22K
Обновление класса расширенной отладки и оптимизации для InstantCMS 2.1.2.
Также исправлены несколько ошибок предыдущей версии.
Иллюстрация
Иллюстрация
Подробное описание и справка в предыдущем посте
Класс расширенной отладки для InstantCMS 2.1.0-2.1.1 (v.7) + оптимизация скорости

Изменения в этой версии:
------------------
• Совместимость с InstantCMS 2.1.2.
• Сделаны косметические изменения с учётом комментариев к версии 7: некоторые значения в суммарной таблице для наглядности перенесены из колонки "PHP" в колонку "Скрипт".
• Отключён перехват и вывод сообщений о предупреждениях в SQL-запросах. Причина: некорректно работающие функции PHP, через которые выполнялся перехват. Это приводило к «исчезновению» только что добавленного виджета в Админке.
• В Админке отключена одна из оптимизаций, приводившая к пустому списку полей в "Типах контента" при выключенном "Перехвате ошибок PHP" в "Отладке". На фронтенде сайта эта оптимизация осталась.
• В классе отладки функцию allowShow() переименовал в isAllowShow() — так правильнее по канонам ООП.


Суммарные изменения в оригинальном InstantCMS 2.1.0-2.1.1:
\index.php
\system\config\autoload.php
\system\controllers\admin\frontend.php
\system\controllers\admin\actions\install_finish.php
\system\controllers\admin\actions\settings.php
\system\controllers\content\model.php
\system\controllers\content\widgets\list\options.form.php
\system\controllers\typograph\hooks\html_filter.php
\system\core\cache.php
\system\core\config.php
\system\core\controller.php
\system\core\core.php
\system\core\database.php
\system\core\eventsmanager.php
\system\core\form.php
\system\core\mailer.php
\system\core\model.php
\system\core\template.php
\system\languages\en\controllers\admin\admin.php
\system\languages\ru\controllers\admin\admin.php
\templates\default\admin.tpl.php
\templates\default\main.tpl.php

Если вы уже изменяли для себя какие-то из этих файлов, то сделайте сравнение моих версий с вашими файлами и внесите изменения в свои файлы вручную.
Файлы класса отладки (добавленные к оригинальной InstantCMS 2.1):
\system\config\debug.php
\system\controllers\admin\actions\settings_debug.php
\system\controllers\admin\forms\form_debug.php
\system\core\debug.php
\system\core\debugconfig.php
\templates\default\controllers\admin\settings_debug.tpl.php
\templates\default\css\debug.css

Скачать класс отладки можно тут

Достаточно просто распаковать содержимое архива с заменой файлов в папку с уже установленной системой. Это версия только для InstantCMS 2.1.2, для более ранних не подходит.

В конфиге по-умолчанию отладка уже включена (смотрите новый раздел "Отладка" в "Настройках" админки). Если отладочная информация на сайте не показывается, убедитесь, что вы зашли под админом или выключите параметр «Показывать отладочную информацию только администраторам».
0
qwest qwest 9 лет назад #
Отлично плюс.
А отдельно от отладки оптимизацию скорости как нибудь поставить можно?
+2
WebMan WebMan 9 лет назад #
Посмотрите предыдущие посты в моём блоге. Там выложены правки кода для нескольких самых важных оптимизаций для InstantCMS 2.0. Они подходят и для версии 2.1.2, только могли измениться номера строк в обновлённых файлах.
Начиная с версии Инстанта 2.0.1 в блоге публикую отладку совместно с оптимизазией. Отдельно делать и выкладывать оптимизацию не предполагаю.
0
qwest qwest 9 лет назад #
Спасибо. Буду смотреть.
0
Demet Demet 9 лет назад #
Бывает работаю на ipad со своим сайтом, через 3g он долго загружался, поставил ваш класс расширенной отладки, сайт загружается почти мгновенно. Огромное спасибо за ваш труд, очень полезную вещь делаете.
0
WebMan WebMan 9 лет назад #
Пожалуйста!
В Вашем случае проблема, скорее всего, не в 3G, а в каких-то тормозах на сервере. Посмотрите в итоговой таблице, что именно занимает много времени. Сравните это с приведённой в посте таблицей и с таблицей дома на локалке. Можете посмотреть подробнее нужную информацию, включив вывод в лог запросов или инклудов. И уже после этого появится возможность общаться с поддержкой хостинга об устранении узких мест на сервере. Возможно тормоза были из-за файловой системы или из-за слабого/загруженного проца.
0
Demet Demet 9 лет назад #
После установки отладки появилась одна проблемка, даже не знаю из-за установки отладки или проблема на стороне хостинга, но до установки год такого не было. Через раз стал нормально срабатывать скрипт отправки комментария, нажимаешь отправить коммент и после этого крутится картинка "загрузка" и ничего не происходит, а после страница выпадает в ошибку 504 Gateway Timeout.
0
WebMan WebMan 9 лет назад #
Ошибка 504 всё таки чаще бывает связана с тормозами на сервере. Иногда с проблемами сетевого обрудования. И очень редко из-за ошибок в скриптах на сервере. Тем более когда ошибка проявляется случайным образом.
На всякий случай потестил на локалке, содал более 20 камментов - ни одной ошибки. Если сможете описать чёткую последовательность действий для гарантированного воспроизведения ошибки - проверю её.
0
Demet Demet 9 лет назад #
Целый месяц, день за днем проявлялась проблема с зависание отправки комментов и ошибкой 504 Gateway Timeout, решил удалить отладку заменой оригинальных файлов и проблема совсем пропала, но опять на айпаде через 3G долго загружаются страны сайта, огорчительно, хотелось бы чтобы загрузка была как с отладкой, но без зависания скрипта комментов.
0
Demet Demet 9 лет назад #
Сейчас опять зависание проявилось, по ходу зря я напраслину возводил насчет отладки, видимо действительно дохлый сервер у меня, не тянет нормально скрипты.
0
WebMan WebMan 9 лет назад #
Хорошо, что выяснили. Поставьте отладку заново, включите её и посмотрите, что именно на сервере даёт тормоза. Возможно ещё до ошибки 504 будут видны аномалии. В любом случае, с информацией Вам будет легче и предметнее общаться с поддержкой хостинга. В августе я с помощью информации из отладки убедил хостера перевести меня на новый сервер. У меня тогда тоже наблюдались периодические притормаживания открытия страниц, вплоть до 504-й ошибки.
0
Demet Demet 9 лет назад #
Совсем замучился с проблемой зависание скрипта отправки комментария, подскажите как выявить что его тормозит с помощью отладки, если можно то поподробнее, за ранее спасибо.
0
WebMan WebMan 9 лет назад #
Решить Ваш вопрос только средствами этой отладки скорее всего не получится. С её помощью Вы можете увидеть и исключить то, что точно работает и, может быть, понять где происходят тормоза.
Что я бы сделал - включил бы расширенную отладку и много раз в разное время открывал бы разные страницы сайта. На что и как смотреть я описал в отдельном посте в блоге Использование расширенной отладки для определения проблем на сервере. Часть 1

Если постоянные или периодические тормоза будут наблюдаться на всех страницах сайта, да ещё и в случайном порядке, то точно нужно писать в поддержку с передачей им всех наблюдаемых цифр или предоставить им возможность самим посмотреть на реальную таблицу отладки прямо на сайте.

Если тормоза только при отправке комментариев, а на других страницах отсутствуют даже периодические при длительном наблюдении, то тормоза скорее всего возникают в коде обработки/сохранения комментариев. Нужно включать профилирование в xDebug или подобном. Другого способа я не знаю.
И в этом случае подумайте, не добавляли ли Вы какие-то сторонние компоненты, которые могут обрабатывать комментарии? Если да, то можно попробовать их отключить на время и понаблюдать за результатом.

Еще от автора

Хуки-хухуки: Исключаем неактивных пользователей из списков
Как иногда начинают свой монолог неопытные стендаперы: «У всех в жизни было такое …
«Расширенная отладка» для InstantCMS 2.14.1 (v.14.1.2) – большое обновление для разработчиков
Новые возможности и удобства, облегчающие разработчикам отладку компонентов и шаблонов.
Использование расширенной отладки. Часть 11. Анализ ошибок 403/404 и редиректов
Одной из неудобных задач при отладке для меня является поиск причины ошибки 403/404.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.