самый чоткий хостинг
15 июл 2010

Создаём варезник на DLE (Часть #3) - внутренняя оптимизация движка, снижаем кол-во запросов к БД.

Создаём варезник на DLE (Часть #3) - внутренняя оптимизация движка, снижаем кол-во запросов к БД.

Все способы оптимизации перечисленные ниже в первую очередь нужны для сайтов с посещаемостью от 4-5к/сутки.
Для только что созданных сайтов это практически не нужно, т.к сам скрипт уже имеет хорошие настройки.
И так, приступим fellow

Вы имеете сайт с посещаемостью 5к в сутки и хотите [noleech]купить сумку[/noleech], ой не то, и вы замечаете, что ваш сайт стал медленнее загружаться и увеличилась нагрузка на сервер с БД. Нам нужно это исправить и уменьшить нагрузку. Но для этого придётся пожертвовать некоторыми возможностями. Нужно ли это или не нет - решать вам. А я просто опишу все приёмы, которые знаю.

Как же снизить количество запросов к БД ?
1. Включить кеширование сайта:
Первым делом убедитесь, что папка /engine/cache/ доступна для записи (CHMOD 777).
Кеширование можно включить в "Настройке параметров скрипта" => "Оптимизация запросов к базе данных" => строка "Включить кеширование на сайте". При включении кеширования вы потеряете счётчик просмотров новостей, который будет продолжать считаться, но обновляться только после обновления кеша.
Кеш создается для каждой группы посетителей отдельно и обновляется только при обновлении информации в базе данных (например добавление новости или коммента). Кеш не имеет срока давности и будет показываться до тех пор, пока не изменится база данных. При включении кеширования, будут кешироваться новости первых четырех страниц на главной и любого раздела.

2. Вывод самых рейтинговых статей на сайте:
При отключении этого блока вы сможете сэкономить один запрос к базе данных, но имейте ввиду что этот блок кешируется и поэтому данный блок не всегда обращается к базе данных, поэтому много от его отключения вы не выиграете, однако один запрос - это ведь тоже неплохо ;)

3. Счетчик просмотров новостей
Отключение данной возможности серьезный шаг на пути оптимизации нагрузки. Связано это с тем что функция обновления UPDATE базы данных, достаточно медленная функция, и во время обновления таблица новостей в базе данных будет заблокирована для чтения, пока не выполнится обновление. И все запросы к базе данных будут стоять в очереди на выполнение. Поэтому если у вас большая база данных с новостями, то мы настоятельно рекомендуем подумать, а нужен ли вам этот счетчик, и что он вам дает. Этим вы выиграете большое количество запросов к БД,

4. Календарь:
Он тоже кешируется , но всё таки позволяет снизить кол-во на один запрос, и то не иногда. Его можно вообще отключить. Однако в плане СЕО оптимизации это очень нужная вещь, т.к календарь создаёт ссылки на новости за определённые дни и месяца, получается внутренняя перелинковка сайта.

5. Вывод архивов новостей:
Запрос при большом количестве новостей может быть достаточном тяжелым, но он кешируется, поэтому нагрузка снизится но не очень сильно

6. Рейтинг статей:
Самая ненужная функция, т.к голосовать за новости всё равно врядли кто нибудь будет :) Этим снизим нагрузку ещё на один запрос. Эту функция лучше вообще отключить и удалить тег из шаблонов.

7. Пара слов насчёт голосований на сайте:
И хотя в админке написано, что при отключении этого блока вы экономите до 3 запросов, то смею вас заверить что в последних версиях скрипта, опрос имеет серьезную оптимизацию, и не создает вообще запросов к базе данных, все имеющиеся опросы сайта кешируются во время первого старта сайта и кеш не сбрасывается пока не будут внесены изменения в сам опрос, поэтому отключение этого блока не даст вам прироста в производительности. Так что можете смело пользоваться этой возможностью.

Это всё, что я знаю в плане оптимизации запросов к базе данных. Если знаете ещё, то не держите в себе и поделитесь с остальными написав комментарий bully. Следющая статья будет посвящена СЕО (seo) оптимизации движка и его шаблонов. Не пропустите!

Читать предыдущую статью Создаём варезник на DLE (Часть #2) - наполняем сайт контентом
Главная -> Создание сайтов -> Создаём варезник на DLE (Часть #3) - внутренняя оптимизация движка, снижаем кол-во запросов к БД.
Александр
  • 18 февраля 2011 23:21
  • ICQ: --
Несколько методов взял на вооружение.
Иначе хостер попросит перейти на более дорогой пакет ))

Всё о создании варезников, их продвижении в поисковиках и монетизации сайтов на DLE. Интересные статьи о заработке в сети. SEO эксперименты. Обсуждение различных партнёрских программ. Статьи по работе с DLE, интересные видео и музыка. И немного о личной жизни веб-мастера terobait48;)