Contents of this Article

Drupalにおいて、最も簡単なロギング方法はDatabase logging(dblog)モジュールを有効にすることですが、Database loggingはその名の通りDatabaseにログを記録します。

閲覧時でもDatabaseにWriteする可能性があるため、ボトルネックとなります。

Database loggingモジュールではなくSyslogモジュールを利用する

そこで、最も推奨されている方法として、Database loggingモジュールではなくSyslog(syslog)モジュールを利用する方法です。

Syslogモジュールはログの記録先をシステムログに書き込みます。

Syslogモジュールを有効にする

  • Syslogモジュールを有効にします。
  • Databaase loggingが有効になっている場合は、無効にし、アンインストールします。

  • Syslogの識別ID、Syslogのファシリティ、システムログのフォーマットを指定します。
  • ログの書き込み場所はOSのSyslog設定に依存します。
    Centosの場合、特に設定を変更しなければ「/var/log/messages」に書き込まれます。

Statisticsモジュールについて

ページ単位の閲覧履歴を知りたい。という要望は多いです。その際、短絡的にStatisticsモジュールを有効にしてしまうと、これまたデータべースに記録するモジュールですので、Databaseへ負担をかけます。

Google Analyticsなどの解析ツールを利用することで余計な負荷を軽減します。

Memcacheによるデータベースアクセスの抑制

Memcacheを利用することでデータベースの負荷を軽減します。

サーバーにMemcachedをインストール

下記手順でMemcacheを利用可能にします。

  • Memcached Serviceをインストール&自動起動を設定します。
  • Memcache PECLエクステンションをインストールします。
  • Drupal Memcacheモジュールをダウンロードします。
    (モジュールを有効にする必要はありません)
  • 下記内容を settings.phpに挿入します。
$conf['cache_backends'][] = 'sites/all/modules/memcache/memcache.inc';
$conf['cache_backends'][] = $conf['lock_inc'] = 'sites/all/modules/memcache/memcache-lock.inc';
$conf['cache_default_class'] = 'MemCacheDrupal';
$conf['cache_class_cache_form'] = 'DrupalDatabaseCache';
$conf['memcache_servers'] = array(
  'server-name:port#' => 'default',
);

見積りカテゴリ: 
このエントリーをはてなブックマークに追加
Facebook icon
Twitter icon
Google icon