Главная страница / Советы / Оптимизация сайта на DataLife Engine
август 31 2006

Оптимизация сайта на DataLife Engine

celsoft 31 августа 2006 Советы 19 671
Добрый день дорогие друзья,

в этой статье я хочу рассказать вам немного о структуре скрипта, и как можно оптимизировать его работу, если у вас посещаемый сайт и вы хотите немного снизить нагрузку. Хочу сразу сказать вам что скрипт по умолчанию имеет оптимизированную структуру, поэтому если ваш сайт имеет менее 5 000 уникальных посетителей в месяц, то вам даже нет смысла задумаватся о его оптимизации. Данная статья предназначена для тех у кого посещаемость превышает данное число посетителей, и кто не желает переходить на более дорогой тарифный план у своего хостера.

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

Первое что нужно сделать это включить кеширование сайта. Убедитесь при этом что папка /engine/cache/ доступна для записи. При включении кеширования, вы терятете часть динамики сайта, например счетчик просмотров новостей, будет считаться, но изменятся на странице будет только после обновления кеша. Кеш создается для каждой группы посетителей отдельно обновляется только при обновлении информации в базе данных (например добавление новости или комментария, а также выставления рейтинга статьи). Кеш не имеет срока давности и будет показываться до тех пор, пока не изменится база данных. При включении кеширования, будут кешироваться новости первых четырех страниц на главной и любого раздела, календарь, архив, топ новостей.

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

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

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

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

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

Календарь: Опять таки кешируется и но позволяет снизить один запрос, и то иногда.

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

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

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

Прикрепление файлов к новости: Если вы загружаете файлы для скачивания (не картинки) то имейте ввиду что будет добавлен один запрос на страницу, на которой показывается ссылка на файл, это необходимо для получения информации о файле, его размере и т.д. Но имейте ввиду что количество ссылок не имеет значения, один файл вы прикрепили или десять, на нагрузку это не влияет, также и не влияет на нагрузку и тот факт если добавите ссылку при просмотре кратких новостей, на все показываемые новости на странице будет всего один запрос. Также имейте ввиду что сама процедура скачивания тоже требует серверных ресурсов, т.к. будет подключение к базе данных, и обновление счетчика, если это не нужно, то можно отключить в админпанели.

Включение GZip сжатия: При включении данной опции, существенно сокращается траффик вашего сайта, и ваших посетителей и ускоряется загрузка страниц, но создается дополнительная нагрузка на центральный процессор. Что вам лучше решать вам.

Незабывайте периодически проводит оптимизацию базы данных в админпанели, эта функция не для красоты сделана, после оптимизации, будут перестроены ваши ключи, а также пересчитаны поля разной длины. Тем самым вы ускорите работу базы данных и уменьшите ее размер.

Ну и самое главное это минимальное использование сторонних модулей, как правило они плохо оптимизированы, поэтому проконсультируйтесь у автора модуля, насколько требователен он к ресурсам.

Ну вот вроде бы и все.

Надеюсь статья принесла вам пользу, удачной вам оптимизации.

Комментарии

  1. C-WEST (Клиенты)

    31 августа 2006 01:33 18 комментариев
    celsoft, большое спасибо за информацию!
  2. Akela (Клиенты)

    31 августа 2006 07:30 34 комментария
    celsoft, спасибо за полезную информацию.
    По ходу есть вопрос - а нельзя ли счетчик просмотра новостей как-то оптимизировать ? Т.е. отказаться от UPDATE ?
  3. Ксандер (Клиенты)

    31 августа 2006 09:42 24 комментария
    celsoft, большое спасибо, можно сказать спас от лишних затарат)))
  4. celsoft (Администраторы)

    31 августа 2006 10:49 3 357 комментариев
    Цитата: Akela
    По ходу есть вопрос - а нельзя ли счетчик просмотра новостей как-то оптимизировать ? Т.е. отказаться от UPDATE ?

    других операторов для обновления нет, иногда люди решают проблему другим способом, выносят счетчик в отдельную таблицу и периодически, например раз в час, проводят синхронизацию таблиц.
  5. Akela (Клиенты)

    31 августа 2006 12:15 34 комментария
    Цитата: celsoft
    иногда люди решают проблему другим способом, выносят счетчик в отдельную таблицу и периодически, например раз в час, проводят синхронизацию таблиц.

    Я это как раз и имел в виду.
    Просто вроде бы счетчик вещь полезная, а с другой стороны - не так критично, что написано к примеру 355 просмотров, а на самом деле 379.
  6. .pr (Гости)

    1 сентября 2006 06:27 0 комментариев
    Спасибо
  7. SqR (Клиенты)

    1 сентября 2006 08:23 13 комментариев
    Плюс шаблоны нада делать путевые... а не куча html кода на 100 кило.. и еще картинок на 500...
  8. SNOOPY (Посетители)

    1 сентября 2006 13:44 4 комментария
    А ещё не описали - сжатие: траффик уменьшится и время передачи данных от сервака юзеру.
  9. eXz-MaN (Гости)

    23 сентября 2006 23:50 0 комментариев
    да блин куда уже дальше оптимизировать? =)))
  10. yog (Гости)

    25 декабря 2006 10:06 0 комментариев
    нормальные советы! wink
  11. freeprogs.kiev.ua (Клиенты)

    8 мая 2007 16:31 12 комментариев
    советы хорошие, но я эти меры принял уже давно, так как посещаемость 5000 чел в сутки а не в месяц winked
  12. Mr 13 (Посетители)

    30 мая 2007 13:45 97 комментариев
    Советы конечно полезные, но если заходит на сайт робот гугла - это просто ад wink

Информация

Комментирование публикаций доступно только пользователям имеющим действующую лицензию на скрипт. Если вы уже приобретали скрипт, то вам необходимо зайти на сайт под своим клиентским аккаунтом.

Календарь

«    Апрель 2020    »
ПнВтСрЧтПтСбВс
 12345
6789101112
13141516171819
20212223242526
27282930 

Опрос на сайте

Совершаете ли вы покупки в интернет?