icon: drupal

格安系共有レンタルサーバーで Drupalを使う時のポイント

安価な共有サーバーで Drupalを利用すると、正直に言えば重いです。そこで、Drupalを少しでも軽くする方法を提案します。

ページキャッシュは有効にする

必須。Performance(性能)は有効にしたい。

Minimum cache lifetime(キャッシュの最短寿命)は、標準で 0分になっているが、 少なくとも 5分や10分に設定しておきたい。投稿記事が即時にジャンジャンと反映されるブログを公開したいなら、もうちょっと高額なサーバーを利用するべき。ミスの多い私の場合は、即座に反映されない方がありがたかったりしますけど。

即座に反映する必要がある場合は、5分設定で運営していても、一旦キャッシュを無効にしてから、再び有効にすればよい。

格安サーバー上では、キャッシュを有効にできないモジュールは使えません。

大それた機能は使わない

アクセス解析は利用しない。ログ解析は全部オフ

MySQLは、御存知の通りReadの性能は良いが Writeのパフォーマンスがよろしくない。 Watchdogは有効にすべきだが、Statisticsとか、Profileとか、Traceとか、Click Thru trackingとか使わない。

他にも色々あったと思うが、ページが表示される度に書き込みに行くようなモジュールは使わない。

アクセス解析は、JavaScriptになってしまうが Google Analyticsなどを利用するしかないかもしれない。

Searchモジュールも利用しない。

Searchモジュールも重いので、Googleカスタム検索とか、Yahoo!カスタムサーチとかを利用する。

サイト内に用意したところで利用者は少ないのが実際のところだから有効にしても良いという逆説もあるが、あまり使われないところでパフォーマンスを食うのは宜しくない。

(multisite)マルチサイトは諦める。

multisiteは、その名の通り、複数のサイトを 1つのDrupalで運営しちゃうDrupalの便利な機能。

なんだけど、1つのサイトでぎりぎりな格安サーバーでは、複数のサイト運営なんてムリ。

立ち上げたばかりのサイトや実験用のサイトを、既存の Drupalでまかなっちゃうって考えは有りだけど。その場合も全部の Drupalサイトへのアクセスが殆ど無いサイトでないと耐え切れない。

格安サーバーでマルチサイトは、「ひとつの Drupalで複数サイトを効率よく管理!」と、言うよりも、「ひとつ負荷がかかると道連れになる設計」と考えたほうが良い。

多言語はムリ。t()は使わない

多言語サイトで無い限り 関数 t()を使ってもオーバーヘッドになったり、思わぬ翻訳に当たってしまうだけでメリットが無い。そもそも多言語する様なトラフィックを予想しているサイトを格安サーバーに立ち上げてはいけない。

あまり拡張しない

拡張機能が豊富な Drupalであり、拡張して初めて真価が発揮できるとも言えるが、拡張する程に動作が重くなる事を考えないといけない。

モジュールの追加は最小に止める

Drupalをインストールすると、嬉しくて色々なモジュールを試してみたくなるのだが、そんな利用方法は格安低スペックサーバーでは厳しい。

モジュールの導入は慎重に行おう。

使っていないテーマは削除しておく

Drupal5は、読み込めるテーマの情報を使っていなくても何故か読み込んでしまう。従って、使用していないテーマを削除すればサーバーの負担を減らす事ができる。

格安サーバーで使用する場合は、テーマは 1つしかインストールしない。

テーマの削除の仕方は以下の通り。

  • themesディレクトリから削除。
  • データベースのblocksテーブルから、「theme」フィールドの値が使用していないテーマの名前になっているレコードを削除(DELETE)。
  • 同じく systemテーブルから、「filename」の値が使用していないテーマのパスになっているレコードをを削除(DELETE)。

番外:サーバーを変えてみる

共有サーバーの「安い」理由のひとつに、「環境が一定でない」事があると思う。契約時に割り当てられたサーバーによってサーバースペックが異なったり、同居人の活発度が異なる。

つまり、「このサーバーは重い」と、思ったならば、そのサーバーは解約して別のサーバーを契約するのも悪くない。わたしは「さくらのレンタルサーバー スタンダード」を 2つ契約しているが、こっちのサーバーより、新しい契約のサーバーの方がサーバースペックも良くて快適である。

もちろんサーバー会社自体を変えてしまうのは常套手段だ。

この記事のトラックバックURL:

http://diary.haz.jp/trackback/116