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

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

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

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

Скрин из Google PSI



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

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

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

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