Странности при загрузке страниц

InstantCMS 2.X
#1 19 апреля 2020 в 10:10
Форумчане, помогите победить проблему!

Вводная: Сайт крутиться на ВПС (3 ядра, 4 гб, apache+nginx, php7,3, OpCache). Главная страница, разделы типов контента, категории (да, собственно все страницы) загружаются весьма быстро (ttfb 100-300мс). Но, страницы самих записей (причем, только в одном типе контента) имеют ужасающе высокий ttfb 1500-3000мс.

Я понимаю, что в данном типе контента у меня используется множество полей, условий в шаблоне и т.д., но все же хочу разобраться, что именно тормозит начало загрузки (какие скрипты или участки кода так долго выполняются).

При включенной отладке не вижу каких-то долгих запросов или чего-то подозрительного. Все данные из отладки выполняются за тысячные доли секунды.

В шаблоне данного типа контента (дабы померить скорость моих костылей в файле) в начале прописал
  1. <?php $start = hrtime(true); ?>
, а в конце

  1.  
  2. <?php
  3. $finish = hrtime(true);
  4. $delta = $finish - $start;
  5. ?>
  6. <?php echo $delta . ' нс.'; ?>
  7.  
Не знаю, правильно ли так делать (программист из меня не очень). Полученный вывод (он же в наносекундах вроде?) при переводе в секунды составляет десятитысячные доли секунды, что позволяет мне думать, что все мои if, else и подобное в данном файле, не сильно тормозят систему.

Так в чем же проблема того, что первый байт при открытии записей прилетает только через 1,5-3 секунды? Как мне найти это узкое место? Помогите пожалуйста разобраться!
Прикрепленный файл
Screenshot3_jpabu.jpg 455 Кб
#2 19 апреля 2020 в 10:39
это из-за рекламы, попробуйте отключить "Рекомендательный виджет РСЯ" и замерить время загрузки еще раз
#3 19 апреля 2020 в 10:41
заметил баг, если контента на странице мало, то сайдбар очень большой получается
#4 19 апреля 2020 в 11:02

это из-за рекламы

Timmy

Это не так. Проверяю скорость с включенным адблоком — он сразу режет всю рекламу. В любом случае она грузится асинхронно и не имеет отношения к показателю ttfb.

заметил баг

Timmy

Это мелочи. Мне бы с загрузкой разобраться)
#5 19 апреля 2020 в 12:19
Вы проверяете своим кодом сколько времени уходит на контроллер.
А виноваты (с вероятностью 99%) виджеты.
Отключайте виджеты по одному и проверяйте. Кандидат №1 — второй сверху в левом сайдбаре ("вы подписаны")
#6 19 апреля 2020 в 13:49

Вы проверяете своим кодом сколько времени уходит на контроллер.
А виноваты (с вероятностью 99%) виджеты.
Отключайте виджеты по одному и проверяйте. Кандидат №1 — второй сверху в левом сайдбаре ("вы подписаны")

Олег Васильевич я

Снова не то( Аналогичные виджеты стоят в разделе типа контента и категориях — загрузка быстрая (большой TTFB только в записях типа контента "Моды"). Также отладка CMS показывает, что виджеты грузятся практически мгновенно.
#7 19 апреля 2020 в 13:55

Это не так. Проверяю скорость с включенным адблоком — он сразу режет всю рекламу. В любом случае она грузится асинхронно и не имеет отношения к показателю ttfb.

адблок лучше отключить и тестировать без него, так как он искажает картину. отключайте тогда по очереди поля в этом типе контента и замеряйте, только опытным путем можно выяснить)
#8 19 апреля 2020 в 14:19

отключайте тогда по очереди поля в этом типе контента

Timmy

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

Это сильно печалит, так как на всех этих полях завязана широкая функциональность и в дальнейшем их должно было стать еще больше.
#9 19 апреля 2020 в 14:26


отключайте тогда по очереди поля в этом типе контента

Timmy

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

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

@Kerncraft1

Я об этом говорил ранее, мне писали быть не может. У меня было такое, пришлось отказаться от того компонента которым вы пользуетесь для выстраивания категорий. Меняйте логику контента. Мне ни кто не смог помочь ни тут ни на хосте. Идём привышение каких то ключей.
#10 19 апреля 2020 в 14:29

мне писали быть не может

@Happy2019

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

Боюсь логику менять поздно. В данном типе контента почти 10 тысяч записей.
#11 19 апреля 2020 в 14:31


мне писали быть не может

@Happy2019

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

Боюсь логику менять поздно. В данном типе контента почти 10 тысяч записей.

@Kerncraft1

Скиньте плиз в личку ваш сайт, на тот тип контента. Хочу посмотреть кое что

А по вашему вопросу пишите на хост, у них все ограничения как правило, возможно ограниченно тарифом или местом нахождения сервера ( облачный, виртуальный, и тд) они смогут хотя бы дать ответ.
#12 19 апреля 2020 в 14:39

Скиньте плиз в личку ваш сайт, на тот тип контента. Хочу посмотреть кое что

@Happy2019

Сайт виден на скриншотах в первом посте.


пишите на хост

@Happy2019

У меня VPS — настраиваю самостоятельно.

PS закралось одно подозрение. Попробую сейчас кое-что подшаманить. Возможно в этом и кроется проблема. Отпишусь.
#13 19 апреля 2020 в 15:10
Больше всего полей (45) у меня типа "SEO поле" от уважаемого DWD. Сейчас посмотрел, в некоторых я сам не использовал функцию "Кешировать результаты", в результате чего скорее всего и были столь внушительные задержки. Включил кеширование значений текущих полей — TTFB опустился до 900-1300мс. Тоже многовато, но уже ощутимо лучше. Буду продолжать поиски.
#14 19 апреля 2020 в 15:18


Больше всего полей (45) у меня типа "SEO поле" от уважаемого DWD. Сейчас посмотрел, в некоторых я сам не использовал функцию "Кешировать результаты", в результате чего скорее всего и были столь внушительные задержки. Включил кеширование значений текущих полей — TTFB опустился до 900-1300мс. Тоже многовато, но уже ощутимо лучше. Буду продолжать поиски.

@Kerncraft1

Отписывайся плиз, важно
#15 19 апреля 2020 в 15:52


Вы проверяете своим кодом сколько времени уходит на контроллер.
А виноваты (с вероятностью 99%) виджеты.
Отключайте виджеты по одному и проверяйте. Кандидат №1 — второй сверху в левом сайдбаре ("вы подписаны")

Олег Васильевич я

Снова не то( Аналогичные виджеты стоят в разделе типа контента и категориях — загрузка быстрая (большой TTFB только в записях типа контента "Моды"). Также отладка CMS показывает, что виджеты грузятся практически мгновенно.

@Kerncraft1
Все то. Гружу страницу top-mods.ru/mods PageSpeed Insights показывает 23 / 60, но не это главное, а то что дальше
Даже визуально видно, как почти мгновенно грузится основной контент и потом догружаются многочисленные виджеты. На скринах видно кто дает основные тормоза.
Мало? Включите Отладку и смотрите ее данные
Вы не можете отвечать в этой теме.
Войдите или зарегистрируйтесь, чтобы писать на форуме.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.