DrupalはNginxで動く?

カテゴリ チューニング コアバージョン 7.26 関連モジュール PHP

特にDrupal7になってから、サイトの表示が重くなってますが、消費メモリ面の優位性や、リバースプロキシ機能を持つNginxでDrupal7は動作するでしょうか?

コメント

ユーザー actbrain の写真

設定面で試行錯誤がありましたが、動作はします。
最近、あるきっかけがあって、NginxでDrupal7を動作させてみました。

AWS(Tokyo):m1.mediamにて、
(Apache2.0+mod_php+Apc+rds-db.m1.medium+Drupal7.23)で動作させてみました。
の環境で動作しているシステムを
AWS(Tokyo):t1.micro~c3.largeインスタンスにて、
(Nginx1.4+Fastcgi+Apc+Mysql5.6+Drupal7.23)で動作させてみました。
※今回の調査の目的は、
・Nginxにより「ページビューをさばく?」のではなく
・Nginxにより「Drupal7は軽くなる?」の方でしたので
下記検証は、体感速度のみで、abテストなどは行っていません。


Type |ECU|Memory|Strage...
t.micro|変数| 0.615 |EBS のみ $0.027 /1 時間

・Mysql5.6では、さすがにメモリ不足のためSwapを使うようになり、動作はするものの、かえって遅くなるようになりました。
・Mysql5.1にしたら、なんとかSwapなしで動作しました。Drupal7は通常、メモリ2Gないと不安なのですが、0.6Gで動作するというのはNginxメモリ効果です。
・体感速度はオリジナルの2割減といったところでした。


Type    |ECU|Memory|Strage...
m1.medium|  2 | 3.75 |1 x 410 $0.175 /1 時間

・オリジナルと同インスタンスという事もありストレスなく動作しました。
・体感速度はオリジナルの2割減といったところでした。
※t.microにおけるMysql5.0での動作とほぼ同様の体感速度は意外でした。


Type  |ECU|Memory|Strage...
m1.large| 4 | 7.5  | 2 x 420 $0.350 /1 時間

・オリジナルと同インスタンスという事もありストレスなく動作しました。
・体感速度はオリジナルの2割減といったところでした。
※Mysql等、キャッシュメモリ調整等でチューニングしてないので、m1.mediumとECUの差のみという事ですが、負荷は掛っていないので、結果的には同様です。


Type  |ECU|Memory|Strage...
c3.large | 7 | 3.75 |2 x 16 SSD  $0.192 /1 時間

・MySQLも含めSSDです。
・体感速度はオリジナルの5割減となりました。

総括:
閲覧負荷をかけていないので基本的には t.micro~c3.largeに至るまで、「1ECU+各々の搭載メモリ」での動作したのだと思われます。
そのため、t.microで実メモリ不足になった以外は総じて同結果。
一点、SSDによる効果が相当のものであるという内容です。
※Drupalは標準ではキャッシュ、セッション、ログの保存場所がデータベースなので、標準状態でも SSD化するだけで相当な効果がりそうです。
※Nginx設定に関してはリバースプロキシ部分の設定は行っていないため、静的ページ対応のキャッシュ設定を行えば相当なパフォーマンス向上を見込める目途がたちました。

ページ

OTHER FAQ

Drupal開発・運用の疑問/質問の答えはここに

無料ユーザー登録すると質問できます。

カテゴリ Core Ver.降順で並び替える 関連モジュール タイトル
コンテンツの作成 7.26 Form Ajax 入力フォームで#ajax使用時、#default_valueを書き換えても反映しない
チューニング 7.26 PHP DrupalはNginxで動く?
サイトの構築 7.27 Context block ページ別、カテゴリ別等でブロックの表示有無を簡単にするには
ユーザの管理 7.27 PHP 新規ユーザーの追加ができない
GoogleMaps 7.28 Javascript IE9でGoogle Map APIを利用した住所情報所得がうまくゆかない
言語 7.28 vi viで全角が化けてしまう
アップデート 7.28 DisableMessages モジュールのアップデートガイダンスを非表示にしたい
アップデート 7.28 Views Pagerが表示されなくなった
コンテンツの作成 7.31 CKEditor CKEditorの新規生成ダイアログ内の初期値の変更
サイトの構築 7.31 Views ブロックViewsの絞り込みが表示されない
CSV Download 7.34 Views Excel Export Drupal7:Viewsで表示した内容をCSVダウンロード
コンテンツの作成 7.34 CCK ノード入力フォームへパラメータを渡す
ニュースレター 7.34 Simple news Simplenewsで追加顧客(リスト)だけにニュースレターを配信する方法
Calendar 7.34 Calendar CalendarモジュールとGoogleカレンダーを同期するには
Commerce 7.34 Commerce kickstart, Commerce file Commerceモジュール利用時のダウンロード製品登録方法
アップデート 7.34 Distribution(Commerce Kickstart) drushでcommerce_kickstartのアップデートに失敗する
テーマ 7.34 スマホ、PCおよびアプリを同時に運用可能なおすすめのテーマはありますでしょうか?
コンテンツの作成 7.34 Entityreference prepopulate 新規ノード作成時のリファレンス方法
表示 7.34 Views Infinite Scroll Facebookページのようにスクロールするとコンテンツが追加されるようなコントロール
コンテンツの作成 7.34 ajax 標準のajaxフォーム(複数値:値の数=無制限)の制御l方法

ページ