Медленная работа сайта при большом объеме страниц

Всем привет!
На сайте больше 180тыс страниц, и в связи с этим первая загрузка страницы до появления кэша длится очень долго, а именно ответ от сервера более 3с, подскажите с чем это может быть связанно, и как это можно отследить/исправить? Хостинг REG.RU сайт mytopsto.ru
Все сниппеты запускаю через fenom кэшируемыми, очень часто использую параметр where для выборки страниц.

Еще вопрос быстрее ли будет указывать чанк для формирования выдачи сниппета или указывать 'tpl' => '@INLINE...'?

И еще вопрос, так как много ссылок и их я генерирую с помощью {$_modx->makeURL($id,"",«full»)}, может есть быстрее решение?

Скрин из Google PSI



Одна из причин что цены на услуги хранятся в TV и при выводе таблицы цен на странице все зависает на 40сек, подскажите как лучше реализовать такой функционал, где хранить цену чтобы выводить ее было быстрее, я пока думаю что было бы логично расширить таблицу modx_site_content,  и добавить в нее столбец с ценой, или это плохая идея?
Вячеслав Варов
23 мая 2020, 20:01
modx.pro
639
0

Комментарии: 14

Вячеслав Варов
23 мая 2020, 21:22
0
+ очень долго сохраняются шаблоны страниц и чанки
    Александр Мельник
    23 мая 2020, 21:39
    0
    Сайт выглядит как одностраничный лендинг, откуда вы там 180 000 страниц набрали. И в карте сайта у вас одна страница.
    Ну это конечно не мое дело, просто удивлен.

    А по поводу «тормозит», тут ничего умного не скажу. Проекты которые планируются как большие и нагруженные, нужно изначально правильно планировать — не использовать TB, создавать свои таблицы для данных, подбирать сервер с учетом этих нагрузок и пятое десятое. Не обрадую вас, скорее всего у вас вряд ли получится существенно улучшить работу сайта.
      Вячеслав Варов
      23 мая 2020, 22:10
      0
      если выбрать одну из марок в разделе то переходишь на страницу марки вида Mazda.mytopsto.ru а там уже куча моделей и услуг, да видимо не самым умным было решением вставить цены на услуги в TV однако после кэширования modx, время выполнения даже самой нагруженной страницы с TV 0,2с
      Вячеслав Варов
      23 мая 2020, 22:11
      0
      Насколько замедляет работу сайта использование fastField?
        Aleksandr Huz
        24 мая 2020, 00:15
        0
        Одна из причин что цены на услуги хранятся в TV
        Попробуйте заменить вот эту срочку в коде
        $data[$k] = $this->modx->resource->getTVValue($k);
        на эту
        $this->resource[$k] = $v[1];
          Вячеслав Варов
          24 мая 2020, 08:35
          0
          Отказался вообще от tv параметров путем расширения таблицы modx_site_content, так как поле у меня одно — цена то это меня устроило, однако выборка 100 ресурсов н странице всеравно работает долгодоходит до 3 секунд
          Сергей Шлоков
          24 мая 2020, 12:04
          +2
          Да тут работы непочатый край. Сумашедшее количество файлов грузится. Стили и скрипты почти все не минимизированы. Необходимо выявить блокирующие. Не шибко важные перевести на асинхронную загрузку. Картинки неоптимизированы. Взял первую попавшуюся на 43Кб и уменьшил на 51%. А у тебя даже мегабайтные есть.
          Проверь страницу через debugParser. Посмотри, какие элементы грузят сайт. Кстати, кэшируемые сниппеты Fenom работают медленнее, чем обычные кэшируемые сниппеты. Ибо последние парсер заменяет их результат.
          Ну и профилирование запроса в базу данных. Смотреть, какие медленные. У pdoTools сниппетов есть возможность посмотреть готовый запрос. Его и проверяешь в том же phpMyAdmin.
            Павел Гвоздь
            24 мая 2020, 12:16
            0
            @Вячеслав Евгеньевич Яшников Ну или если есть нормальный бюджет, то обращайся ко мне. Я специализируюсь на подобного рода задачах.
              Вячеслав Варов
              24 мая 2020, 20:06
              0
              Не в картинках дело, это все я и так вижу, скорость выполнения запросов низкая, времени на запросы уходит много, задержка от сервера большая, вопрос только в этом
                Сергей Шлоков
                25 мая 2020, 08:04
                0
                Насколько я вижу, страница отдаётся достаточно быстро. Меньше минуты. А всё остальное время грузится статика.
                  Вячеслав Варов
                  25 мая 2020, 08:07
                  0
                  Я вчера убрал tv, переделал все ссылки на pdomenu, было pdoResources, и убрал вызовы лишних сниппетов
                Вячеслав Варов
                24 мая 2020, 20:07
                0
                Подскажите пожалуйста что значит профилирование запроса в бд
              Сергей Шлоков
              24 мая 2020, 18:53
              0
              И ещё для такого количества статики желательно поставить NGINX
                Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
                14