[хак] Готовим ДЛЕ под сайт с большим количеством новостей

Тема в разделе "DLE", создана пользователем bumer3, 28 мар 2008.

Информация :
Актуальная версия DataLife Engine 11.1
( Final Release v.11.1 | Скачать DataLife Engine | Скачать 11.1 demo )
Нужно ли обновляться | Как обновиться | Изменения в шаблонах
> Нет русских символов <
[Приватная тема DLE (Все подробности в ЛС к модератору раздела)]

Версии 10.0 и ниже - уязвимы!

Локализации | F.A.Q. | Внешний вид
Правила раздела | Правила форума
Обсуждение хайда карается баном!
В каждом сообщении указывайте версию DLE, которого они касаются!
Статус темы:
Закрыта.
Модераторы: killoff
  1. bumer3

    bumer3

    Регистр.:
    10 янв 2008
    Сообщения:
    291
    Симпатии:
    154
    Иногда начинаются проблемы со скоростью работы движка при выходе количества новостей за несколько тысяч.

    Многие говорят что ДЛЕ не годен под такие большие сайты. Но по своему опыту могу посоветовать сделать одну штуку которая конкретно увеличит скорость работы с БД.

    У меня это проблема началась тогда когда я сделал вывод новостей по всем суб-категориям. Категорий было очень много. Проработало один день. Хотя сайт стоял на выделенном серве мне написал админ и сказал что я ему бд положил.

    Проблема оказалась вот в чем. При выводе новостей за категорию в запросе используется такой синтаксис category regexp '[[:<:]](4)[[:>:]]' , где 4 ИД категории. Это связано с мульти категориями в ДЛЕ. И это очень сильно тормозит БД при большом количестве новостей.

    Если планируется сайт под много новостей то мой совет отключить мульти категории и сделать нормальный запрос.

    Что делаем если решили вырубить мульти категории.
    1. Открываем файл /engine/inc/addnews.php
    2. Находим
    меняем на
    3. Открываем файл /engine/inc/editnews.php
    4. Находим
    Заменяем на
    5 Теперь в этом же файле ближе к верху.
    Находим
    и потом смотрим ниже идут запросы.
    Там есть
    Заменяем на
    ищем
    Ниже идут запросы
    делаем аналогичную операцию

    6. Открываем файл /engine/engine.php
    Там находим
    Чучуть ниже есть
    меняем соответственно на
    и также
    на
    Вот и все вроде это были все файлы где встречается такие запросы. Вроде совсем маленькие изменения но при большом количестве новостей это сможет очень сильно разгрузить БД.

    (с) By Bumer3 / nulled.ws
     
    555555, Nous, mefish и 2 другим нравится это.
  2. tigraz_kill

    tigraz_kill

    Регистр.:
    24 июн 2007
    Сообщения:
    579
    Симпатии:
    91
    так мультикатегории в админке отключаются . :nezn:
     
  3. bumer3

    bumer3

    Регистр.:
    10 янв 2008
    Сообщения:
    291
    Симпатии:
    154
    Они то отключаются, но запросы от этого не меняются :)

    Добавлено через 22 секунды
    И всеравно тормозфт БД
     
  4. index111

    index111

    Регистр.:
    21 окт 2007
    Сообщения:
    533
    Симпатии:
    77
    Он типа имеет ввиду точто этим хаком можно мультикатегорий выводить, и бд не тормозить:nezn:вроде так
     
  5. bumer3

    bumer3

    Регистр.:
    10 янв 2008
    Сообщения:
    291
    Симпатии:
    154
    мульти категории при использовании хака отключаются. Но если ты мульти категории оставиш и будеш использовать то посмотри что будет с работой скрипта при количестве новостей 10к
     
  6. palec

    palec

    Регистр.:
    6 дек 2006
    Сообщения:
    272
    Симпатии:
    34
    етот вариант для 7.5 подаидёт? кто ставил есть смисл? :confused:
     
  7. Diablos

    Diablos Прохожие

    Ты на дату открытия темы посмотри и подумай "а пойдёт ли это на 7.5 ?!" - нет не пойдёт.
     
  8. Budrin

    Budrin Читатель

    Заблокирован
    Регистр.:
    1 фев 2008
    Сообщения:
    299
    Симпатии:
    45
    А смысл ставить на 7.5? там же всё в настройках это можно сменить :D
     
  9. venetu

    venetu

    Регистр.:
    28 мар 2007
    Сообщения:
    735
    Симпатии:
    261
    Так объяснили же.. В настройках можешь и сменить, да вот regexp в селекте от этого никуда не денется - а тормоза именно из-за долгого селекта, а не из-за того что там реально какая-то новость в две категории попала.

    У меня другой вопрос - можно ли заставить DLE скидывать куда-нибудь в папку сгенеренные ею html? Ну типа для джумлы это выглядит так: прописываем в htaccess ссылку на свой index.php для всех несуществующих файлов, а старый джумловский оставляем только если запрос идет с локалхоста (через rewrite_cond). И потом в своем index.php мы ловим REQUEST_URI, берем его через file_get_contents(http://....) - т.е. сами у себя, дергая таким образом через сервер джумлу (двойная нагрузка!) и складываем полученный файлик в папку, чтобы в следующий раз апач взял его прямо оттуда, не вызывая php вообще (ни наш, ни джумловский). Папку периодически чистим от старых файлов.

    Так вот вопрос - можно ли такое же "типо кеширование" замутить в DLE? Для большого количества новостей это самый идеальных выход. Про модули кеширования знаю, это не совсем то.
     
Статус темы:
Закрыта.