K

Kerncraft1

+5
Репутация
12
Рейтинг
#1 Странности при загрузке страниц 20 апреля 2020 в 10:01

По содержимому этой части можно будет судить кто виноват и что с этим делать.

dwd

Еще раз спасибо за подсказку!

Нашел участок кода, который выполняется долго:

  1.  
  2. $start = hrtime(true);
  3.  
  4. // Парсим значения полей
  5. foreach($fields as $name=>$field){
  6. $fields[ $name ]['html'] = $field['handler']->setItem($item)->parse( $item[$name] );
  7. $fields[ $name ]['string_value'] = $field['handler']->getStringValue( $item[$name] );
  8. }
  9.  
  10. $finish = hrtime(true);
  11. $delta = $finish - $start;
  12. echo $delta . ' нс.';
  13.  
Данный участок кода выполняется приблизительно за 1 секунду (т.е. именно он ответственен за ttfb в 1000+ мс).

Другой вопрос, что тут можно сделать?
#2 Странности при загрузке страниц 20 апреля 2020 в 09:33
dwd, Вот прямо огромное спасибо за совет! Сейчас буду тестировать!
#3 Странности при загрузке страниц 19 апреля 2020 в 16:02

Гружу страницу top-mods.ru/mods

vikont

Эта страница (и страница категорий) меня не интересует. На них TTFB 200-300мс

А вот на странице записей этого типа контента TTFB 1500-3000мс (сейчас опустился до 900-1300мс за счет включения кеширования данных некоторых полей).

Мало? Включите Отладку и смотрите ее данные


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

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

@Happy2019

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


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

@Happy2019

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

PS закралось одно подозрение. Попробую сейчас кое-что подшаманить. Возможно в этом и кроется проблема. Отпишусь.
#6 Странности при загрузке страниц 19 апреля 2020 в 14:29

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

@Happy2019

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

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

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

Timmy

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

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

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

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

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

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

Timmy

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

заметил баг

Timmy

Это мелочи. Мне бы с загрузкой разобраться)
#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 Кб
#10 Что лучше использовать поля или свойства? 10 апреля 2020 в 19:41

если создадите более 60 полей — 61 уже создать не сможете

@Happy2019

Это от куда такая информация? Сейчас посмотрел — у меня в одном типе контента 86 полей.
#11 Убедите в выборе instantcms и wordpress 1 апреля 2020 в 13:38


Здравствуйте, а есть что нибудь подобное на вордпресс типо биллинга, что бы у пользователя была реферальная ссылка которой он делиться и отчисления при покупке ему?

@alexandr22

Есть. Смотрите плагин WP-Recall и дополнения к нему.
#12 Zauth: авторизация с помощью соц. сетей 28 марта 2020 в 10:38

Надо убирать во всех 3-х функциях.

vikont

В данном файле убрал слэш в трех местах.


Просто не пойму — почему у других такой проблемы не было. Или может я какую-то обнову пропустил, где это пофиксили?
#13 Генератор карты сайта sitemap.xml ошибка 404 28 марта 2020 в 08:36


Спасибо.

В robots.txt и в вебмастере указал
доменсайта/sitemap.xml

Правильным бы было указать и
сайт.рф/sitemap_content_типконтента.xml
или нет?

Polzovinst

Нет. В роботсе указывается только основной файл карты сайта (он называется индексный). Поисковые системы сами просканируют его и увидят ссылки на содержащиеся в нем карты.
#14 Zauth: авторизация с помощью соц. сетей 28 марта 2020 в 08:33
Андрей, может вы проверяли, когда я его уже убрал? Так-то я проверял с разных браузеров и ПК. Стабильно 404 ошибка. Вчера как убрал слеш в коде — сразу все заработало.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.