2015年12月14日月曜日

IDCFクラウドで東日本リージョンのWordPress環境を西日本リージョンに移して性能アップしてみる

#この投稿はIDCF Cloud Advent Calendar 2015に寄稿しています。

本ブログではIDCFクラウドの西日本リージョンを2回にわたってフォーカスしてみました。
東京からIDCFクラウド西日本リージョンを触ってみた
IDCFクラウド西日本リージョンがオールフラッシュだと言うので検証してみたら神速だった

今回は3回目という事で西日本リージョンに移して性能アップするんかい!?
というのを実際に検証プロセスを共有しながらやってみたいと思います。

東日本リージョン上にWordpressを構築します。
Light.S1でCentOS6.6を使用してインスタンスを立ち上げます。
Wordpressは最近のだと負荷あんまりないので、ver3.0をインストールしてみます。
ちなみにWordpressは全部デフォルトでやると2分で終わります。こんな感じ。

[root@wordpress ~]# yum -y install httpd mysql-server php php-mysql
[root@wordpress ~]# wget http://ja.wordpress.org/wordpress-3.0-ja.tar.gz
[root@wordpress ~]# tar xzvf wordpress-3.0-ja.tar.gz
[root@wordpress ~]# mv wordpress/wp-config-sample.php wordpress/wp-config.php
[root@wordpress ~]# mv wordpress /var/www/html/
[root@wordpress ~]# service mysqld start
[root@wordpress ~]# mysql -uroot -hlocalhost -e "create database database_name_here"
[root@wordpress ~]# mysql -uroot -hlocalhost -e "grant all privileges on *.* to username_here@localhost identified by 'password_here'"
[root@wordpress ~]# service httpd start

以上!

この状態でIPアドレスでWebアクセスすれば見れるんですが、
リージョン間で移動した時にリンクの解決やらで色々と面倒な事になるので、
面倒ですけどDNSを設定してドメインでアクセスする事をお勧めします。。

http://[ドメイン名]/wordpress/

って感じでアクセスしてサイトの初期設定をします。
初期設定したら再度上記のアドレスでWordpressコンテンツが見れる事を確認。
これで一旦計測してみます。
今回はteslaにサーバを立てました。そして同じteslaに居るマシンから計測するという、
東日本リージョンに超絶ハンデを与えて確認してみます。

確認のコマンドは以下。
ab -n 10 -c 10 http://[ドメイン名]/wordpress/

結果はこんな感じでした。
-----
Concurrency Level:      10
Time taken for tests:   1.441 seconds
Complete requests:      10
Failed requests:        0
Write errors:           0
Total transferred:      71330 bytes
HTML transferred:       68760 bytes
Requests per second:    6.94 [#/sec] (mean)
Time per request:       1440.580 [ms] (mean)
Time per request:       144.058 [ms] (mean, across all concurrent requests)
Transfer rate:          48.35 [Kbytes/sec] received
-----

何回か実施しましたが、Requests per secondは6~7という感じでした。

さて、この子をそのまま西日本リージョンに持っていこうと思います。
先ずはnetworkの固有設定を削除してテンプレート化します。

[root@wordpress ~]# rm -f /etc/udev/rules.d/70-persistent-net.rules

「おまえ、syncしたのか?」と言われ続けた世代なので、一応儀式。

[root@wordpress ~]# sync

で、スナップショットとってテンプレートを作ってやります。ここが一番時間かかるかなー。3分くらい。
(安心してください。無停止ですよ。)
初めてやる人はこの辺は、詳しくドキュメントがあるのでこちらが参考になるかと。
http://www.idcf.jp/cloud/pdf/manual_005.pdf
ちなみにCentOS6.6がOSタイプに無いですけど6.4で大丈夫です。

作ったテンプレートを選択してエクスポートからURLを発行します。
発行したURLは後で使うのでメモ帳とかにコピーしておきます。

ここで西日本リージョンにコンパネを切り替えて作業に入ります。
さっき作ったテンプレートを移設するのでコンピューティングからテンプレートを選択します。
テンプレート作成でテンプレートを作っていくんですが、
URLのところにさっきエクスポートから発行したURLをhttpにして入れます。
発行した時はhttpsで発行されますが、ここでインポートするときはhttpに書き換えます。
OSタイプも似てるの選んだり、あとは適当でOKです。
これで西日本リージョンへテンプレートのコピーが始まります。楽勝。
ステータスがDownload Completeになれば完了。およそ2分程度。

で、そのテンプレートを使って仮想マシンを作成すればokです。
西日本リージョンが初の方はsshで入る鍵を作る必要があるのでご注意を。
作ったサーバにログインすればさきほど東日本で作成した見慣れた環境があるはず。
あれ?デジャヴ?と思ったらapacheとmysqlを起動してあげてください。

DNSを西日本リージョンのサーバに向けて浸透を待ちます。
(紛らわしいので東日本リージョンのサーバは落としておくと吉)
これで準備完了。
いよいよ西日本リージョンのサーバを計測します。
超絶ハンデで東日本リージョンのさっきのサーバから計測します。

ab -n 10 -c 10 http://[ドメイン名]/wordpress/

結果はこれ。
----
Concurrency Level:      10
Time taken for tests:   1.386 seconds
Complete requests:      10
Failed requests:        0
Write errors:           0
Total transferred:      71330 bytes
HTML transferred:       68760 bytes
Requests per second:    7.21 [#/sec] (mean)
Time per request:       1386.119 [ms] (mean)
Time per request:       138.612 [ms] (mean, across all concurrent requests)
Transfer rate:          50.25 [Kbytes/sec] received
----

複数回実施しても平均的に6.5~7.5のスコアをマーク。
超絶ハンデを与えたのにすげーぜ!西日本リージョン!

とまぁ、ここまで書いてワクワクしている人には申し訳ないのですが、
恐らくはリリースしたてという事もあるのかなぁと。
この後、東日本リージョンと同じ負荷状況になった時にどうなるかは不明。
なので、ご利用は計画的に。

ただ、現時点では単純に性能アップが見込めるのは間違いなさそうです。
レイテンシの問題を気にされる方が結構居ますが、
日本内ですし、この程度であれば、大体のWebサイトは気にならない程度で済みます。
まぁ、GCP使ってる人であればレイテンシは気にしないでしょうし、
サーバ2~3台で運営しているのであれば、東日本から西日本に置き換えて性能見るのも、
まぁ、1つの手ではないかなーと個人的には思います。
画像が多いサイトは東日本のオブジェクトストレージに入れておけば、
ユーザ側からはそんなにストレス無いんじゃないすかね。

今回プロセスを共有してやってみましたが、DNSの浸透を抜かせば、
全工程は大体10分程度で完結しますので、小腹が空いたら是非お試しください。

それでは、よいクラウド構築を。

0 件のコメント:

コメントを投稿