Быстродействие системы — различия между версиями
Материал из Umicms
Mad grant (обсуждение | вклад) |
|||
Строка 7: | Строка 7: | ||
* У макроса news lastlist(), есть недокументированный шестой параметр SkipOrderByTime, который позволяет отключить сортировку новостей по полю Дата публикации. В данной сортировке, в большинстве случаев, нет необходимости, т.к. без нее новости будут выводиться в том порядке, в котором они расположены в административной части, в ленте новостей. Необходимая сортировка создается при добавлении новости, самая последняя добавленная новость отображается в начале списка. Параметр SkipOrderByTime необходимо устанавливать =1. | * У макроса news lastlist(), есть недокументированный шестой параметр SkipOrderByTime, который позволяет отключить сортировку новостей по полю Дата публикации. В данной сортировке, в большинстве случаев, нет необходимости, т.к. без нее новости будут выводиться в том порядке, в котором они расположены в административной части, в ленте новостей. Необходимая сортировка создается при добавлении новости, самая последняя добавленная новость отображается в начале списка. Параметр SkipOrderByTime необходимо устанавливать =1. | ||
− | * Будьте внимательны при использовании макроса system getOuterContent(), в некоторых случаях он может выполняться слишком долго, в таком случае код необходимо подключать напрямую в шаблон, либо с помощью кастомного макроса. Без опаски, можно использовать этот макрос при подключении TPL-шаблонов | + | * Будьте внимательны при использовании макроса system getOuterContent(), в некоторых случаях он может выполняться слишком долго, в таком случае код необходимо подключать напрямую в шаблон, либо с помощью кастомного макроса. Без опаски, можно использовать этот макрос при подключении TPL-шаблонов: header и footer. |
* При использовании макроса emarket price(), есть смысл установить третий параметр =0, тогда макрос будет выдавать цену только в текущей валюте сайта, а не сразу во всех зарегистрированных в модуле Emarket, вкладка Валюты. Т.к. часто бывает, что на одной странице отображается 20-30 товаров, исключение из обработки ненужных данных, цен в других валютах, является значимым действием при оптимизации сайта. | * При использовании макроса emarket price(), есть смысл установить третий параметр =0, тогда макрос будет выдавать цену только в текущей валюте сайта, а не сразу во всех зарегистрированных в модуле Emarket, вкладка Валюты. Т.к. часто бывает, что на одной странице отображается 20-30 товаров, исключение из обработки ненужных данных, цен в других валютах, является значимым действием при оптимизации сайта. |
Версия 14:23, 13 декабря 2013
В данной статье будут описаны некоторые рекомендации, которые позволят ускорить работу сайта, снизить нагрузку на сервер.
- Если на сайте не используются данные, собираемые модулем Статистика, то отключение сбора статистики, в настройках модуля, существенно снизит нагрузку на сервер. Модуль собирает очень большой объем статистических данных, происходит достаточно большое количество запросов к базе данных. Возможен вариант, когда модуль включается лишь на время, для сбора облака тэгов, потом сбор данных можно отключить.
- Если на сайте используются макросы content menu() для построения меню, которые практически никогда не будут измениться, то имеет смысл прописать данные блоки статически, т.е. прописать html код блока, который формируется макросом menu()
- У макроса news lastlist(), есть недокументированный шестой параметр SkipOrderByTime, который позволяет отключить сортировку новостей по полю Дата публикации. В данной сортировке, в большинстве случаев, нет необходимости, т.к. без нее новости будут выводиться в том порядке, в котором они расположены в административной части, в ленте новостей. Необходимая сортировка создается при добавлении новости, самая последняя добавленная новость отображается в начале списка. Параметр SkipOrderByTime необходимо устанавливать =1.
- Будьте внимательны при использовании макроса system getOuterContent(), в некоторых случаях он может выполняться слишком долго, в таком случае код необходимо подключать напрямую в шаблон, либо с помощью кастомного макроса. Без опаски, можно использовать этот макрос при подключении TPL-шаблонов: header и footer.
- При использовании макроса emarket price(), есть смысл установить третий параметр =0, тогда макрос будет выдавать цену только в текущей валюте сайта, а не сразу во всех зарегистрированных в модуле Emarket, вкладка Валюты. Т.к. часто бывает, что на одной странице отображается 20-30 товаров, исключение из обработки ненужных данных, цен в других валютах, является значимым действием при оптимизации сайта.
- С осторожностью используйте такие встроенные в систему кеширующие механизмы, как "Файловая система" и "Статический кэш". На некоторых сайтах, быстродействие системы может даже снизиться при использовании данных кэшей. Многие хостинги предоставляют кэширующие механизмы, которые мы смело рекомендуем, одни из них это: apc, eaccelerator и memcached. При использовании данных кэшей снижается нагрузка на сервер, уменьшается количество запросов к базе данных, сайт начинает работать быстрее и стабильней.
- При использовании XSL-шаблонов, результат работы макросов и протоколов, т.е. XML-данные, можно закэшировать, для этого необходимо к запросу добавить GET параметр с name = expire, а значением будет являться время хранения кэша в секундах. Для некоторых макросов можно поставить время равное одному часу (в секундах), для другого можно и целые сутки, по прошествии указанного время происходит обновление кэша.