Страницы

Поиск по вопросам

понедельник, 13 апреля 2020 г.

MODx Revo ускорение

#modx #веб_программирование #оптимизация #revo

                    
Вопрос про ускорение и оптимизацию. Сейчас у меня сайт близится к окончанию на Modx
revo. Но страницы бывает подгружаются по 5-6 секунд, если без кеширования, с кешированием
за 2 сек. Посещения - 0. Ресурсов штук 30. Использовал стандартные снипеты. Но не могу
понять, почему сайт может так тормозить даже без продакшна. Писал сайт на EVO, летает,
даже быстрее того когда на рево включен кэш. Может из-за того что я использовал там
самописные сниппеты? Есть ли какая - нибудь волшебнная кнопка, которая позволит увеличить
скорость сайта в несколько раз? (извиняюсь за детский сад))
Понимаю, нужно продумывать ускорение на месте в каждом случае по разному. Но все
таки ожидаешь от нового движка с новостным сайтом, что он не будет так тупить без особой
нагрузки, даже с учетом мелких допущенных ошибок в коде    


Ответы

Ответ 1



"Использовал стандартные снипеты" - стандартные снппеты ооочень медленные. Хочешь скорости - используй pdoTools. Ну и pthumb вместо phpthumbof. Для 90% случаев - этого хватает за глаза, если нет - ищи сниппеты которые тормозят и разбирайся конкретно с ними.

Ответ 2



Есть некоторые проблемы со скоростью, соглашусь и с Vasis. стандартные сниппеты ооочень медленные Мне помог переезд БД на SSD. Значительно ускорилась работа. Требует вложений в хостинг. Как более дешевый, но трудноватый вариант — установить кеширующий nginx

Ответ 3



В первую очередь проверь, не вызываются ли у тебя сниппеты рекурсивно (getResources для списка новостей -> getResources в чанке каждой новости и тд). После проверь, нет ли у тебя явного указания НЕ КЭШИРОВАТЬ вывод сниппетов ( например: [[!getResources]] ). Запрещать кэширование можно только в случаях, которые действительно этого требуют. Поменьше используй всяких стандартных сниппетов наподобие [[If]] Не стреляй из пушки по воробьям :) Если нужна какая-то простая операция от сложного сниппета (вырожденный пример - использовать getResources для получения и вывода TV у товара) - вынеси этот функционал в свой сниппет. Ну и наконец, попробуй перенести чанки и сниппеты из базы на диск. По умолчанию, они находятся в базе.

Ответ 4



Если нужно реальное ускорение, надо забыть про if is then else - т.е. убери всю логику, сделанную на этом сниппете IF. На соседнем ресурсе разогрелась нешуточная война двух лагерей, суть в том, что ModX, встретив такие обертки, сначала обрабатывает все вложенные сниппеты и затем уже проверяет условие!! Т.е. как бы это не звучало консервативно, все-таки для очень разных страниц правильнее использовать разные шаблоны! А не так, как некоторые хвастаются - "У меня ОДИН шаблон на всё про всё!" )))

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

Отправить комментарий