Как кардинально оптимизировать Drupal (Друпал).

1

Включить кеширование в "настройках сайта" -- "Производительность" (агрессивное не включать!)

Установить модуль "cacherouter". После установки модуля, в самый конец файла /sites/default/settings.php вставить данный код:

$conf['cache_inc'] = './sites/all/modules/cacherouter/cacherouter.inc';
$conf['cacherouter'] = ]]>array]]>(
  'default' => ]]>array]]>(
    'engine' => 'file',
    'path' => 'sites/default/files/filecache',
    'static' => FALSE,
    'fast_cache' => TRUE
)
    );

В данном случае указан вариант кода скрипта, при котором ВСЕ файлы будут кешироваться в автоматически созданную, указанную в коде директорию. В данной директории автоматически создадутся поддиректории для использующихся таблиц кеширования (они могут отличаться и в каждом случае - разные, все зависит от конфигурации вашей системы Друпал).

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

  • Кеширование данных таблиц "cache", "cache_update" направляется на eAccelerator (eacc), если таковой установлен на сервере.
  • Кеширование данных таблиц "cache_filter", "cache_block", "cache_page" направляется на Memcache (memcache), если таковой установлен на сервере.
  • Кеширование остальных же данных (не указанных в этом коде), если, опять же, таковые имеются, сохраняются в кеш-файлах, в указанной директории "sites/default/files/filecache" (создаются автоматически поддиректории). Ниже приведен данный код:

$conf['cache_inc'] = './sites/all/modules/cacherouter/cacherouter.inc';
$conf['cacherouter'] = ]]>array]]>(
  'default' => ]]>array]]>(
    'engine' => 'file',
    'path' => 'sites/default/files/filecache',
    'static' => FALSE,
    'fast_cache' => TRUE
),
 
  'cache' => ]]>array]]>(
    'engine' => 'eacc',
    'server' => ]]>array]]>('localhost:11211'),
    'shared' => TRUE,
    'prefix' => '',
    'path' => 'sites/default/files/filecache',
  ),
 
  'cache_update' => ]]>array]]>(
    'engine' => 'eacc',
    'server' => ]]>array]]>('localhost:11211'),
    'shared' => TRUE,
    'prefix' => '',
    'path' => 'sites/default/files/filecache',
  ),
 
  'cache_filter' => ]]>array]]>(
    'engine' => 'memcache',
    'server' => ]]>array]]>('localhost:11212'),
    'shared' => FALSE,
    'prefix' => '',
    'path' => 'sites/default/files/filecache',
  ),
 
  'cache_block' => ]]>array]]>(
    'engine' => 'memcache',
    'server' => ]]>array]]>('localhost:11213'),
    'shared' => FALSE,
    'prefix' => '',
    'path' => 'sites/default/files/filecache',
  ),
 
  'cache_page' => ]]>array]]>(
    'engine' => 'memcache',
    'server' => ]]>array]]>('localhost:11214'),
    'shared' => FALSE,
    'prefix' => '',
    'path' => 'sites/default/files/filecache',
  )
 
   );

Идем дальше.

Узнаем сколько хостер выделил для вас виртуальной памяти для веб сценариев. (обычно это от 16М и выше)
Создаем файл info.php и закидываем в него следующий код:

<?php
 
// Show all information, defaults to INFO_ALL
]]>phpinfo]]>();
 
// Show just the module information.
// phpinfo(8) yields identical results.
]]>phpinfo]]>(INFO_MODULES);
 
?>

Сохраняем его в корневой директории сайта. Набираем затем в строке браузера: http://ваш_сайт/info.php

В открывшейся странице ищем директиву "memory_limit". Допустим, memory_limit установлен на 32М.
(Лимит памяти = 32 Мбайтам).

Вставляем в самом низу файла /sites/default/settings.php строчку:

]]>ini_set]]>("memory_limit","32M");

В корневой директории, в файле .htaccess вставляем в самом верху строчку:

php_value memory_limit 36M

Статья была написана после длительных экспериментов над системой Drupal.

После всех вышеуказанных действий ваша "Капелька" из тормознутого создания превратится в легкую пушинку (чего так не хватает Друпалу).

Все - наслаждаемся результатом!

Комментарии

Member since:
24 Февраль 2010
Last activity:
19 недель 3 дня

Статейка]]> ]]>есть]]> ]]>гуд]]> ]]>спасибки!

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".