最新の記事や関連記事をお探しの方は下の「サイト内検索」で検索してみてください。
AWS EC2 に t2.nano っていうインスタンスタイプが登場したので、さっそく WordPress を入れて、apachebenchしてみた。
ちなみに、 AMIMOTO のAMIは現時点では t2.nano で起動できないようです。
Amazon Linux 2015.09.1 (hvm) の AMI を使ってインスタンスを立ち上げた直後の free コマンド結果
1 2 3 4 5 |
[ec2-user@ip-10-10-10-224 ~]$ free -m total used free shared buffers cached Mem: 491 309 182 0 8 249 -/+ buffers/cache: 51 439 Swap: 0 0 0 |
うん、メモリが 0.5GB です。
Nginx 1.8 + PHP 5.6 + php-fpm + MySQL5.5 + WordPress 4.4(JP) という環境です。
特別なチューニングは行わずそれぞれインストール直後の設定ファイルのまま。
その状態で ab コマンドにてベンチマークしてみました。
5同時アクセスで200リクエスト
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
$ ab -c 5 -n 200 http://[EIP]/wordpress/ This is ApacheBench, Version 2.3 <$Revision: 655654 $> Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/ Licensed to The Apache Software Foundation, http://www.apache.org/ Benchmarking [EIP] (be patient) Completed 100 requests Completed 200 requests Finished 200 requests Server Software: nginx/1.8.0 Server Hostname: [EIP] Server Port: 80 Document Path: /wordpress/ Document Length: 10219 bytes Concurrency Level: 5 Time taken for tests: 28.243 seconds Complete requests: 200 Failed requests: 0 Write errors: 0 Total transferred: 2108756 bytes HTML transferred: 2059872 bytes Requests per second: 7.08 [#/sec] (mean) Time per request: 706.077 [ms] (mean) Time per request: 141.215 [ms] (mean, across all concurrent requests) Transfer rate: 72.91 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect: 22 25 1.0 25 28 Processing: 152 671 45.1 674 765 Waiting: 145 631 44.0 632 732 Total: 178 696 45.0 699 789 |
1秒あたり7リクエストまで捌けそうで、1リクエストあたり0.1秒程度というそれなにいい結果じゃないでしょうか。
じゃぁ今度は 100同時アクセス100リクエスト でやってみます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
$ ab -c 100 -n 100 http://[EIP]/wordpress/ (略) Concurrency Level: 100 Time taken for tests: 20.454 seconds Complete requests: 100 <strong>Failed requests: 76</strong> (Connect: 0, Receive: 0, <strong>Length: 76</strong>, Exceptions: 0) Write errors: 0 <strong>Non-2xx responses: 76</strong> Total transferred: 323457 bytes HTML transferred: 296519 bytes Requests per second: 4.89 [#/sec] (mean) Time per request: 20454.459 [ms] (mean) Time per request: 204.545 [ms] (mean, across all concurrent requests) Transfer rate: 15.44 [Kbytes/sec] received Connection Times (ms) min mean[+/-sd] median max Connect: 24 31 3.9 31 38 Processing: 169 10921 5576.7 12132 20246 Waiting: 146 10879 5637.2 12132 20246 Total: 196 10952 5579.0 12163 20276 |
あ、HTTPステータスが2xxじゃないものが76件でていますね。
同時アクセス20くらいまでが処理できるくらいなんでしょうか。。。
結果
あまりリクエストの多くないサイトだったら、t2.micro よりも t2.nano でいいかも。
t2.nano だと無料利用枠外のようなので、無料利用枠の期間は t2.micro で、無料利用枠が終了したら t2.nano にスケールダウンしちゃえばいいじゃない。
東京リージョンだと t2.nano は $0.01/hr、 t2.micro は $0.02/hr と、t2.micro の半額で利用できます。
以下は素の Amazon Linux に Nginx, PHP などをインストールして WordPress サイトを立ち上げるまでのログ。
それでは、 amzn リポジトリから nginx, php, mysql などをインストールします。
1 2 3 4 5 6 7 |
# sudo yum -y install nginx # sudo yum -y install php56 php56-gd php56-pdo php56-mysqlnd php56-mbstring php56-xml php56-fpm php56-mcrypt php56-intl # sudo yum -y install mysql55-server # sudo service nginx start # sudo service php-fpm-5.6 start # sudo service mysqld start |
MySQL の初期設定
1 |
# sudo /usr/libexec/mysql55/mysql_secure_installation |
php-fpm の実行ユーザの変更
1 |
# sudo vi /etc/php-fpm-5.6.d/www.conf |
group, user を変更
nginx の設定ファイルで php-fpm を有効化と、 index の変更
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# sudo vi /etc/nginx/nginx.conf http { - index index.html index.htm; + index index.php index.html index.htm; server { - #location ~ \.php$ { - # root html; - # fastcgi_pass 127.0.0.1:9000; - # fastcgi_index index.php; - # fastcgi_param SCRIPT_FILENAME/scripts$fastcgi_script_name; - # include fastcgi_params; - #} + location ~ \.php$ { + root /usr/share/nginx/html; + fastcgi_pass 127.0.0.1:9000; + fastcgi_index index.php; + fastcgi_param SCRIPT_FILENAME /usr/share/nginx/html$fastcgi_script_name; + include fastcgi_params; + } # sudo service nginx restart |
WordPress を /usr/share/nginx/html 以下にダウンロードしーの、展開
1 2 3 4 |
# cd /usr/share/nginx/html # sudo wget https://ja.wordpress.org/wordpress-4.4-ja.tar.gz # sudo tar zxf wordpress-4.4-ja.tar.gz # sudo chown -R nginx:nginx wordpress |
MySQL でデータベース作成
1 2 |
# mysql -u root -p -e'create database wordpress;' mysql_secure_installation で入力した root パスワード入力 |
ブラウザからアクセス
http://[EIP]/wordpress/
あとはWordPressのinstallをして Hello World まで。