Какова оптимальная сумма запросов на страницу ExpressionEngine?
Я видел @parscale твит: Сколько запросов вы довольны домашней страницей? Когда вы скажете, что это оптимизировано?
Я видел ответы, 50 хорошо, 30 или менее лучше, а 100+ - это опасная зона. Есть ли действительно подходящий номер? И если вы говорите, что у вас есть > 50 запросов, запущенных на ваших страницах, какие способы их снизить?
У меня обычно есть сайты, которые управляют гаммой, которая составляет менее 50 запросов и еще несколько, хотя "больше" не кажется слишком медленным, я всегда заинтересован в том, чтобы сделать его быстрее. Как?
Ответы
Ответ 1
Как уменьшить количество запросов будет варьироваться от сайта к сайту, от шаблона к шаблону, но было несколько статей по оптимизации и производительности EE:
http://expressionengine.com/wiki/Reduce_Queries/
http://expressionengine.com/blog/entry/troubleshooting_site_performance_issues/
http://www.netmagazine.com/tutorials/optimise-your-expressionengine-site
http://www.leezilla.net/post/12377053779/ab-seeing-your-sites-performance
http://eeinsider.com/articles/using-cache-wisely-with-expressionengine/
Но если вы все это сделали и все еще должны ускорить процесс, то следующим шагом будет просмотр надстроек, таких как CE Cache.
Ответ 2
Помните, что не все запросы созданы равными. У вас может быть 1000 запросов, которые очень мало влияют на производительность или один запрос, который может замедлить все.
В EE на самом деле лучше посмотреть на вывод отладки шаблона и определить ключевые точки замедления в сборке шаблонов, а затем всегда сосредоточиться только на количестве запросов.
Как отмечали другие, такие как CE Cache, Solspace Template Morsels или даже добавление сервера кэширования лаков на сайте интенсивного веб-сайта EE могут творить чудеса, хотя с добавленной работой, необходимой для полной установки лака в перед установкой EE, в настоящее время я буду придерживаться других решений/направлений.
Ответ 3
Нет номера магического запроса. На мой взгляд, ваша серверная среда диктует, что можно поддерживать. Чем больше ресурсов у вас есть, тем сложнее ваш код.
С учетом сказанного, есть много вариантов, которые вы можете использовать, если проблемы возникают на веб-сайте EE. Ссылки в ответе выше дают вам солидный список, но вот некоторые первые вещи, которые нужно проверить:
- Удалить поиск: field_name = "" parameters
- Уменьшить использование тегов канала, объединить, если вы можете
- Добавить параметр disable = "" на вкладки канала, чтобы отключить то, что вам не нужно
- Уменьшить использование вложений
- Отключить код отслеживания EE
- Прекратить использование расширенных условных выражений, если у вас есть тег канала внутри
Ответ 4
Следуя по точке Невина. Я нахожу, что JB Graphite - огромная помощь, он превращает вывод отладки в симпатичный график, поэтому вы можете легко определить узкие места.
http://devot-ee.com/add-ons/jb-graphite
Ответ 5
Я разберусь по номеру MediaGirl номер 6 - вы часто можете значительно упростить условия, используя дополнения Croxton Ifelse и/или Switchee. Определенно стоит посмотреть.
Ответ 6
Я использовал кеш CE на действительно интенсивной сборке и уменьшил загрузку страницы с 6 секунд до 0,7 секунды. Удивительный аддон с невероятной документацией и лучшей поддержкой, которую вы можете получить где угодно.