私の乗っているバイクが、今年を以って生産中止だそうで、
このバイクに乗りたくて、までは言いすぎだけど、免許を取った要因の一つくらいの重みはあり
なんだか寂しい気持ちになっています。
寂しい気持ちはあまり得意ではありません。
それはおっさんになっても変わらないのです。
どころかひどくなってきます。
きっと新しく得る事より、失うことの方が
いつのまにか多くなってしまっているからなのだと思います。

今日のお題

情報収集能力と意識の低さは比類ない感じの私なので
ごく最近H2OというWebサーバの存在を知りました。
で以下の説明がGitに書いてありました。

H2O is a new generation HTTP server. Not only is it very fast, it also provides much quicker response to end-users when compared to older generations of HTTP servers.

英語力がゆるふわほっこりな感じの私でも「なんやようわからんけどはやいらしいで」と言うのはビンビン伝わってきますね!

ですので、今日はh2oを立ててみたいと思います。

# install

0.環境
AWS
EC2:t2.micro
OS:Red Hat Enterprise Linux Server release 7.2

1.リポジトリ追加
Rpmが提供れているみたいなので手順に従って入れて行きます
※baseurlだけ他を弄らず通過できるよう修正


# cat << EOS > /etc/yum.repos.d/bintray-tatsushid-h2o-rpm.repo
> [bintray-tatsushid-h2o-rpm]
> name=bintray-tatsushid-h2o-rpm
> #If your system is CentOS
> baseurl=baseurl=https://dl.bintray.com/tatsushid/h2o-rpm/centos/7/x86_64/
> #If your system is Fedora
> #baseurl=https://dl.bintray.com/tatsushid/h2o-rpm/fedora/$releasever/$basearch/
> gpgcheck=0
> repo_gpgcheck=0
> enabled=1
> EOS
#

2.導入

# yum install h2o

3.自動起動設定・起動

# systemctl enable h2o
Created symlink from /etc/systemd/system/multi-user.target.wants/h2o.service to /usr/lib/systemd/system/h2o.service.
# systemctl start h2o

ok

3.ベンチマーク(ApacheBench)の投入

yum install httpd-tools

4.older generationsとの比較
比較の為nginx,apacheを別のインスタンスで準備します。
nginxとapacheもh2oと同じインスタンス構成で作成します。


◆nginx
rpm -ivh http://nginx.org/packages/rhel/7/noarch/RPMS/nginx-release-rhel-7-0.el7.ngx.noarch.rpm
yum install nginx


◆httpd
yum install httpd

作成後index.htmlのサイズをすべて同一にし、それ以外の設定はDeafultのままにしてApacheBenchを流します。
負荷は100多重、10万リクエストにしました。

で、結果
Apache=17.141 seconds / Requests per second: 5833.86
nginx=7.149 seconds / Requests per second: 13988.80
h2o=4.945 seconds / Requests per second: 19754.23
チューニングなしDefault設定なので、それぞれ無駄な部分がある状態ではありますが
見る限りh2o軽いですね。

AB

次はどこまで早くなるか、チューニングして計測してみようと思います。

どなたかの参考になれば幸いです。

TOP