Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Drupal on vagrant-aws

1,234 views

Published on

PHP勉強会#85の発表資料です。
Vagrantにvagrant-awsプラグインを入れてnginx + HHVMでDrupalのベンチマークができるとこまで持ってったよ、というお話。

Published in: Software
  • Be the first to comment

  • Be the first to like this

Drupal on vagrant-aws

  1. 1. Drupal on vagrant-aws + HHVM デジタルサーカス(株)⻑⾧長⾕谷川智希
  2. 2. ⾃自⼰己紹介 ・ ⻑⾧長⾕谷川智希 / デジタルサーカス(株) 副団⻑⾧長CTO ・ 開発系趣味: iOSアプリ開発, Web開発 ・ その他趣味: レンタルカート, 電⼦子⼯工作(mbed), … と も き @tomzoh TOMZOH TOMZOH Twitter Yo Beer?! 新卒13年年⽬目
  3. 3. 著書 iOS 執筆中 Twitter: @tomzoh Yo: TOMZOH Beer?!: TOMZOH 2012 2013 2014 2015
  4. 4. デジタルサーカス(株) ・ Webサイト受託開発 ・ スマホアプリ受託開発 ・ ⾃自社サービス (PHP, CakePHP, Drupal) (iOS, Android) (http://appbuilder.jp) Twitter: @tomzoh Yo: TOMZOH Beer?!: TOMZOH
  5. 5. Twitter: @tomzoh Yo: TOMZOH Beer?!: TOMZOH
  6. 6. 今⽇日のテーマ: Drupal on vagrant-aws + HHVM
  7. 7. PHP Advent Calendar 2014 / 20⽇日⽬目 http://qiita.com/tomzoh/items/227ac71c0e5cdf8b2c59
  8. 8. アーキテクチャ Vagrant 設定ファイル + コマンドラインでのVMコントロール Chef 設定ファイル + コマンドラインでのサーバ構成管理 vagrant-aws VagrantからAWSを使うためのプラグイン Apache JMeter HTTPベンチマーク • インスタンスの起動 • Chefの実行 • Apache, MySQL, PHP, nginx, HHVM … インストール • Apache + PHP, 
 nginx + HHVM設定 • Drupalコンテンツ復元
  9. 9. 起動デモ
  10. 10. https://github.com/hasegawa-tomoki/ec2-drupal-benchmark 公開してます
  11. 11. https://github.com/hasegawa-tomoki/ec2-drupal-benchmark かんたん! $ git clone https://github.com/hasegawa-tomoki/ec2-drupal-benchmark.git Cloning into 'ec2-drupal-benchmark'... remote: Counting objects: 121, done. remote: Compressing objects: 100% (60/60), done. remote: Total 121 (delta 40), reused 115 (delta 34) Receiving objects: 100% (121/121), 226.63 KiB | 191.00 KiB/s, done. Resolving deltas: 100% (40/40), done. Checking connectivity... done. $ cd ec2-drupal-benchmark/ $ ls LICENSE README.md Vagrantfile cookbooks $ cat ~/.bash_profile export AWS_ACCESS_KEY_ID=“.................." export AWS_SECRET_ACCESS_KEY=".................." export AWS_SUBNET_ID=".................." export AWS_PRIVATE_KEY_PATH=“/path/to/private-key.pem” export AWS_KEYPAIR_NAME=".................." $ vagrant up t2.micro —provider=aws
  12. 12. インスタンス vCPU メモリ 費用 *1 パフォーマンス *2 m3.medium比 *3 コスパ *4 t2.micro 1 1 0.020 38.9 211 1,945 t2.small 1 2 0.040 38.8 211 970 t2.medium 2 4 0.080 72.3 393 904 m3.medium 1 3.75 0.101 18.4 100 182 m3.large 2 7.5 0.203 49.8 271 245 m3.xlarge 4 15 0.405 94.1 511 232 m3.2xlarge 8 30 0.810 149.8 814 185 c3.large 2 3.75 0.128 52.9 288 413 c3.xlarge 4 7.5 0.255 101.4 551 397 c3.2xlarge 8 15 0.511 148.3 806 290 c3.4xlarge 16 30 1.021 182.9 994 179 c3.8xlarge 32 60 2.043 186.7 1,015 91 *1: 東京リージョンの価格。US$/1時間。 *2: 処理できたリクエスト/秒。 *3: m3.mediumのリクエスト/秒を100としたパフォーマンス。 *4: 1US$あたりのリクエスト/秒。 Apache + PHP
  13. 13. Drupal is 重い?
  14. 14. いろいろ対策はある •コンテンツベースでのキャッシュ • Drupalコアは実行される • リバースプロキシベースでのキャッシュ • 場合によってはDrupalコア起動なし • 実行環境の高速化 • APC, OPCache, HHVM
  15. 15. HHVMやってみた
  16. 16. インスタンス vCPU メモリ 費用 *1 パフォーマンス *2 m3.medium比 *3 コスパ *4 t2.micro 1 1 0.020 38.9 211 1,945 t2.small 1 2 0.040 38.8 211 970 t2.medium 2 4 0.080 72.3 393 904 m3.medium 1 3.75 0.101 18.4 100 182 m3.medium + HHVM 29.3 159 290 m3.large 2 7.5 0.203 49.8 271 245 m3.large + HHVM 82.9 450 408 m3.xlarge 4 15 0.405 94.1 511 232 m3.2xlarge 8 30 0.810 149.8 814 185 c3.large 2 3.75 0.128 52.9 288 413 c3.xlarge 4 7.5 0.255 101.4 551 397 c3.2xlarge 8 15 0.511 148.3 806 290 c3.4xlarge 16 30 1.021 182.9 994 179 c3.8xlarge 32 60 2.043 186.7 1,015 91 *1: 東京リージョンの価格。US$/1時間。 *2: 処理できたリクエスト/秒。 *3: m3.mediumのリクエスト/秒を100としたパフォーマンス。 *4: 1US$あたりのリクエスト/秒。 Apache + PHP & nginx + HHVM
  17. 17. https://github.com/hasegawa-tomoki/ec2-drupal-benchmark GitHubにもHHVM対応版出しました。 みんなはかってみて。
  18. 18. ありがとうございました。 @tomzoh

×