Создаём варезник на DLE (Часть #3) - внутренняя оптимизация движка, снижаем кол-во запросов к БД. |
5-07-2013, 17:35 | автор: admin | категория: Создание сайтов | (комментариев: 0) | | |
Все методы оптимизации перечисленные ниже сначала необходимы для страничек с посещаемостью от 4-5к/сутки. Для лишь что сделанных страничек это фактически не надо, т.к сам скрипт теснее имеет превосходные опции. И так, приступим Вы имеете сайт с посещаемостью 5к в день и желаете [nourl]купить сумку[/nourl], ой не то, и вы подмечаете, что ваш сайт стал медлительнее загружаться и возросла перегрузка на сервер с БД. Нам необходимо это поправить и уменьшить нагрузку. Но для этого придётся пожертвовать некими способностями. Необходимо ли это либо не нет - решать вам. А я просто обрисую все приёмы, которые знаю. Как понизить количество запросов к БД? 1. Включить кеширование сайта: Сперва удостоверьтесь, что папка /engine/cache/ доступна для записи(CHMOD 777). Кеширование можнож включить в "Настройке характеристик скрипта" => "Оптимизация запросов к базе данных" => строчка "Включить кеширование на сайте". При включении кеширования вы потеряете счётчик просмотров новостей, который будет продолжать считаться, но обновляться лишь опосля обновления кеша. Кеш создается для каждой группы гостей раздельно и обновляется лишь при обновлении инфы в базе данных(к примеру прибавление новинки либо коммента). Кеш не имеет срока давности и будет показываться до тех пор, пока не поменяется база данных. При включении кеширования, будут кешироваться новинки первых 4 страничек на основной и хоть какого раздела. 2. Вывод самых рейтинговых статей на сайте: При выключении этого блока вы можете сэкономить один запрос к базе данных, но имейте ввиду что этот блок кешируется и потому данный блок не постоянно обращается к базе данных, потому много от его отключения вы не выиграете, но один запрос - это ведь тоже неплохо;) 3. Счетчик просмотров новостей Отключение данной способности суровый шаг на пути оптимизации нагрузки. Соединено это с тем что функция обновления UPDATE базы данных, довольно медлительная функция, и во время обновления таблица новостей в базе данных будет заблокирована для чтения, пока не выполнится обновление. И все запросы к базе данных будут стоять в очереди на исполнение. Потому ежели у вас великая база данных с новинками, то мы настойчиво советуем поразмыслить, а нужен ли вам этот счетчик, и что он вам дает. Сиим вы выиграете великое количество запросов к БД, 4. Календарь: Он тоже кешируется, но всё таки дозволяет понизить кол-во на один запрос, и то не время от времени. Его можнож вообщем отключить. Но в плане СЕО оптимизации это чрезвычайно подходящая вещь, т.к календарь творит ссылки на новинки за определённые дни и месяца, выходит внутренняя перелинковка сайта. 5. Вывод архивов новостей: Запрос при великом количестве новостей быть может достаточном тяжелым, но он кешируется, потому нагрузка снизится но не чрезвычайно сильно 6. Рейтинг статей: Самая негодная функция, т.к голосовать за новинки всё одинаково врядли кто нибудь будет:)Сиим снизим нагрузку ещё на один запрос. Эту функция лучше вообщем отключить и удалить тег из шаблонов. 7. Пара слов насчёт голосований на сайте: И желая в админке написано, что при выключении этого блока вы экономите до 3 запросов, то смею вас заверить что в заключительных версиях скрипта, опрос имеет серьезную оптимизацию, и не создает вообщем запросов к базе данных, все имеющиеся опросы сайта кешируются во время первого старта сайта и кеш не сбрасывается пока не будут внесены конфигурации в сам опрос, потому отключение этого блока не даст вам прироста в производительности. Так что можете смело пользоваться данной возможностью. Это всё, что я знаю в плане оптимизации запросов к базе данных. Ежели понимаете ещё, то не держите в себе и поделитесь с остальными написав комментарий. Следющая статья будет посвящена СЕО(seo)оптимизации движка и его шаблонов. Не пропустите! Читать предыдущую статью Творим варезник на DLE(Часть #2)- заполняем сайт контентом |
|
Похожие новости | |
|
Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.