Снижение нагрузки на базу данных

Главные вкладки

Аватар пользователя Shevskay Shevskay 23 июня 2009 в 17:00

Добрый вечер, уважаемые пользователи drupal. Помогите с решением проблемы. Нагрузка на базу данных возросла до 2678 сегодня, вчера было 3823! Нагрузка на CPU процессами 7.49 cp в норме.

На днях поставила модуль Block Cache, вчера поставила Poormanscron и Localization Static, сегодня включила модуль Boost. До этого включала Throttle он поддерживает механизм авто-регулятора для контроля нагрузки на сайт, выключила эффекта не заметила. Оставила включенными только минимум модулей, пришлось отключить сейчас и модуль поиска. Хостинг порекомендовал отключить встроенное логирование в друпал, (хостинг создает свои логи по сайту) и отключить ревизию для всех типов содержимого. Как это сделать не знаю. Подскажите пожалуйста, как отключить логирование и ревизию сайта?

Цифры в базе данных:

Таблица accesslog 269.7 МБ. Записей в таблице 28,006.
Таблица cache_block 49.7 МБ. Записей в таблице 9,645.
Таблица watchdog 31.6 МБ. Записей 8,249.

Таблица search_index 10.8 МБ. Записей 192,590.
Таблица search_dataset 4.7 МБ. Записей 589.
Таблица search_total 1.9 МБ. Записей 32,017.

Таблица cache_page 5.0 МБ. Записей 465.
Таблица cache_filter 4.2 МБ. Записей 757.

Таблица node_revisions 4.3 МБ. Записей 583.

Таблица sessions 1.8 МБ. Записей 7,944.

Остальные таблицы в КБ меньше мегабайта.

Жду завтрашнего дня, страшно даже.

Комментарии

Аватар пользователя Razunter Razunter 23 июня 2009 в 17:15

"ревизию" не отключить, это сами ноды там хранятся...
Как в D5 отключить логи - не знаю, но в D6 можно их хранить в файлах, а не в БД

Аватар пользователя B.X B.X 23 июня 2009 в 17:46

"Razunter" wrote:
"ревизию" не отключить, это сами ноды там хранятся...

Это правда, зато можно отключить "ревизию" при редактировании документов... Зачем вам, если это не wiki, информация об изменении документа?

Это возможно сделать в Workflow в редактировании Типов контента.

А вообще, тоже рекомендую перейти на 6-у, в ней кэширование на новом уровне сделано. Например, кэшируются блоки автоматом (Block Cache не нужен), кэшируется css, js. Да и чисто визуально работает быстрее.

Потом, я у себя отключил локализацию. Это почти минус 40 процентов нагрузки...
Что ещё можно сделать? Модуль path отключите, если не планируете переопределать документы и добавлять к ним алиасы. Это минус 20 процентов тоже будет.

Форум отключите, если он вам не нужен. На формирование запросов из тем, тоже нагрузка идёт. Отключите все ненужные модули и удалите из базы таблицы к ним (обычно, как модуль называется, так и таблица). Итого, останется только самое нужное.

Аватар пользователя Shevskay Shevskay 23 июня 2009 в 17:46

Спасибо, B.X. Workflow это модуль специальный, в редактировании типом материала, не вижу его, вроде? Или это в модуле Views настройках смотреть или в другом модуле?

Аватар пользователя B.X B.X 23 июня 2009 в 17:51

Workflow - это на странице редактирования какого-либо типа контента (например, story)... как по-русски это перевели - не знаю...

ссылка http://ваш_сайт/admin/content/node-type/page
там будет Create new revision, уберите галочку...

но это я из 6-и вам пути адреса даю... в 5-е они наверное другие...

Аватар пользователя Shevskay Shevskay 23 июня 2009 в 17:55

почему то на этой странице у меня пусто http://ваш_сайт/admin/content/node-type/page

Редактирование статей у меня на странице Например: http://ваш_сайт/node/631/edit там есть Опубликовано
Помещать на главную
Закреплять вверху списков
Создавать новую версию и все, ничего подобного нет.

Аватар пользователя Shevskay Shevskay 23 июня 2009 в 18:02

Все перехожу на шестую версию. Модуль path отключен. А как локализация на пятерке можно отключить? Таблицы из базы данных удалю, это можно ) Спасибо большое B.X.

Аватар пользователя B.X B.X 23 июня 2009 в 18:22

Я посмотрел ваш сайт, там всё на русском. Точно нужно локализацию отключать? В принципе, это не сложно. Модуль locale нужно отключить. И удалить таблицы, которые начинаются с locale, их там три по-моему...

"Создавать новую версию" - это и есть Create new revision
Но вы смотрите для каждой ноды, а надо для всего этого типа документа. хотя и для каждой новой ноды, можно отключать, всё равно.

Зайдите в настройки Типа Документа. Например, у вас там точно есть тип документа story. Вот там и можно изменить эту настройку.

Кстати, довольно быстро у вас сайт бегает, странно, что хостер жалуется...
ничего вроде не зависает...

Аватар пользователя Shevskay Shevskay 23 июня 2009 в 19:23

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

На счет revision не делала ни одной новой версии контента, то же посмотрю еще настройки.

Хостер не жалуется, сама спросила у них, они тогда сказали, что надо срочно исправить. Уже больше 10 дней терпят, мои эксперименты, молчат, тьфу-тьфу-тьфу. Сказали посмотрим, что завтра будет ) Благодарю, B.X буду на шестерку переходить.

Аватар пользователя Shevskay Shevskay 24 июня 2009 в 7:23

Простите, а что за Localization Static?

Потеряла эту страницу, вот нашла сейчас: Локализация через статический файл для Друпала 5

За вчерашний день нагрузка на MySQL 134, снизилась! Всем большое спасибо )

Аватар пользователя Shevskay Shevskay 23 августа 2009 в 10:25

Добрый день, уважаемые пользователи drupal.
Решаю задачу по уменьшению нагрузки на базу данных, на виртуальном хостинге, а не на выделенном сервере трудно однако!
Что сделано:
1. Включено агрессивное кеширование встроенного в drupal 6 модуля производительности.
2. Включила модуль javaScript Aggregator - кеширует ява скрипты.
3. Включила модуль blockcache_alter для drupal 6 - кеширует блоки.
4. Включила модуль poormanscron, поскольку по другому запустить хронометр не получилось.
5. Установила модуль devel, вроде с его помощью говорилось можно настроить автоматическую очистку кеша, однако не знаю как он работает?

6. Включала специальный php код для автоматической очистки кеша drupal.ru/node/12964, но вроде не очистил ничего, удалила.
7. Отключила модуль boost, не знаю был ли от него толк таблица boost_cache_settings оставалась пустой?

Что еще попробовать можно для снижения нагрузки, чтобы нагрузка не скакала при резком притоке посетителей сайта?

Интересно такие вещи как: nginx, memcached, eaccelerator, что из этого можно установить на виртуальный хостинг и будет ли эффект? Может есть еще какие-то другие способы? Кто решил эту проблему, поделитесь опытом?

Кстати хостинг меня устраивает, интересны варианты связанные с оптимизацией базы данных и всего сайта.