- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Все что нужно знать о DDоS-атаках грамотному менеджеру
И как реагировать на "пожар", когда неизвестно, где хранятся "огнетушители
Антон Никонов
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Проблема – страницы сайта грузятся по 10 и более сек.
Сайт на MODx Evo 1.0.8, около 15к страниц, расположен на VDS.
Структура страниц такая:
Страница
--------- дочерняя страница
---------------------------- дочерняя страница
На страницах выводилась навигация и 2 блока анонсов с помощью Ditto, то есть Ditto использовался на странице 3 раза. Так же на странице было какое-то количество изображений, максимум до 1мб. в сумме, коды 2 партнерок и карта Google.
Сейчас отключили все 3 Ditto, изображения, коды форм партнерок и карту Google, но ситуация с загрузкой не изменилась.
В чем проблема и как ее решить?
P.S. Сейчас сайт в разработке. Неоднократно удаляли контент и заливали заново, поэтому ID идут сейчас не с 0, а где-то с 40к.
В чем проблема и как ее решить?
Сайт на MODx Evo 1.0.8, около 15к страниц, расположен на VDS.
Если на VDS - в первую очередь смотреть slow query log от mysql
В MODx при таких объёмах документов имеет смысл делать отдельные таблицы, выносить однотипные документы отдельно и писать свои "узкоспециализированные" сниппеты - они веселее, чем универсальные (в т.ч. Ditto)
(т.е. выделить сущности, количество которых велико - к примеру, таблицу отелей вынести..)
p.s. Если заглянуть в каталог cache и отсортировать файлы по размеру DESC ?
Если на VDS - в первую очередь смотреть slow query log от mysql
В MODx при таких объёмах документов имеет смысл делать отдельные таблицы, выносить однотипные документы отдельно и писать свои "узкоспециализированные" сниппеты - они веселее, чем универсальные (в т.ч. Ditto)
(т.е. выделить сущности, количество которых велико - к примеру, таблицу отелей вынести..)
p.s. Если заглянуть в каталог cache и отсортировать файлы по размеру DESC ?
К сожалению, я не программист. Пытался найти исполнителя, но пока так и не получилось. Беда с этим у MODx, форума достойного нет.
Насчет "узкоспециализированных" сниппетов вместо Ditto, думаю как о втором этапе оптимизации, так как отключение Ditto не привело к убыстрению загрузки, а значит есть причины посущественней. Очевидно нужно в первую очередь "реализовывать отдельные таблицы и выносить однотипные документы отдельно".
---------- Добавлено 29.01.2013 в 16:47 ----------
Может ли переезд с VDS на сервер решить проблему и в какой степени?
Может ли переезд с VDS на сервер решить проблему и в какой степени?
:) эм.. ИМХО не лучший вариант..
так как отключение Ditto не привело к убыстрению загрузки, а значит есть причины посущественней.
Я про размер файлов в cache каталоге не зря упомянул.. Сколько максимальный весит?
Дело не столько в самом Ditto, сколько в особенностях хранения документов (те, которые document) в MODx. После переноса информации в другую таблицу, для работы с ней Ditto не подойдёт - поэтому речь про "свои" сниппеты.
1. Для начала могу посоветовать озаботиться проблемой кэширования результатов вызова в принципе, т.к. ТС не уточнил это в своих сообщениях. Есть стандартный механизм кэширования в MODx и он работает, можно для начала использовать его.
2. Если это не помогает - уточнить, по какой причине контент генерируется динамически, как Ditto производит выборку (можете привести пример вызова, можно в ЛС). На этом этапе можно облегчить ему работу, перебор документов не должен занимать столько времени - у вас не такая большая БД для выборки.
3. Далее можно обратиться к готовым решениям для кэширования (есть уже давно написанные дополнения, позволяющие кэшировать практически любые вызовы).
4. Только после всего этого можно думать о написании собственного кода для вывода контента.
Если всё вышеперечисленное не помогает - у вас более-менее серьёзный, проект, и если вы хотите его развивать, в конечном итоге у вас получится монстр с ядром от MODx а остальной код будет написан самостоятельно - на рефакторинг вы потратите слишком много времени при расширении и лучше писать всё решение с нуля.
Могу рассказать что знаю и ответить на какие-то вопросы в ЛС.
Я про размер файлов в cache каталоге не зря упомянул.. Сколько максимальный весит?
Максимальный размер файла - 2,97 Мб. (siteCache.idx.php)
Дело не столько в самом Ditto, сколько в особенностях хранения документов (те, которые document) в MODx. После переноса информации в другую таблицу, для работы с ней Ditto не подойдёт - поэтому речь про "свои" сниппеты.
Я не привязываюсь к Ditto и не против "своих" сниппет, но к сожалению сам это не могу реализовать.
---------- Добавлено 29.01.2013 в 19:47 ----------
1. Для начала могу посоветовать озаботиться проблемой кэширования результатов вызова в принципе, т.к. ТС не уточнил это в своих сообщениях. Есть стандартный механизм кэширования в MODx и он работает, можно для начала использовать его.
2. Если это не помогает - уточнить, по какой причине контент генерируется динамически, как Ditto производит выборку (можете привести пример вызова, можно в ЛС). На этом этапе можно облегчить ему работу, перебор документов не должен занимать столько времени - у вас не такая большая БД для выборки.
3. Далее можно обратиться к готовым решениям для кэширования (есть уже давно написанные дополнения, позволяющие кэшировать практически любые вызовы).
4. Только после всего этого можно думать о написании собственного кода для вывода контента.
Если всё вышеперечисленное не помогает - у вас более-менее серьёзный, проект, и если вы хотите его развивать, в конечном итоге у вас получится монстр с ядром от MODx а остальной код будет написан самостоятельно - на рефакторинг вы потратите слишком много времени при расширении и лучше писать всё решение с нуля.
Могу рассказать что знаю и ответить на какие-то вопросы в ЛС.
1. Я не совсем понимаю, чем кеширование может мне помочь, если на страницу будут заходить к примеру 1 раз в сутки. Первый раз все равно ведь страница будет грузится долго? Или я не правильно понимаю роль кеширования?
2. Проблема не в Ditto. Возможно он и тормозит, но в данном случае есть более весомые причины для тормозов. Я написал выше, что Ditto отключил. При этом загрузка, визуально не стала быстрее.
3. ...
4. Мне кажется, если организация БД не может обеспечить нормальную загрузку страниц, то в любом случае нужно менять структуру БД, независимо от того, использовать ли после этого кеширование и переезжать ли на выделенный сервер.
<..>
2. Проблема не в Ditto. Возможно он и тормозит, но в данном случае есть более весомые причины для тормозов. Я написал выше, что Ditto отключил. При этом загрузка, визуально не стала быстрее.
<..>
Извиняюсь, пропустил этот момент в стартпосте.
Можете показать URL в ЛС?