Ce diaporama a bien été signalé.
Nous utilisons votre profil LinkedIn et vos données d’activité pour vous proposer des publicités personnalisées et pertinentes. Vous pouvez changer vos préférences de publicités à tout moment.
さくらのクラウドで
h2oのベンチマーク
emasaka
h2o
Webサーバー
奥	一穂氏(DeNA)作(2014〜)
https://github.com/h2o/h2o
特徴
爆速(らしい)
特にヘッダーのパースが速い(らしい)
picohttpparser
HTTP/2対応
ならばベンチマーク
h2o	vs.	Apache	httpd	vs.	Nginx
要件
サーバーとクライアントと別の物理サーバーで
ただし公衆網は通らないほうがいい
回線がボトルネックになりそう
安く(できればタダ)
さくらのクラウド
石狩第1	DCと石狩第2	DCから選べる
サーバーは確実に分かれるが、建物内で通信するはず
こんな感じ
※写真は	さくらインターネットのプレスリリース
(
)から拝借
http://www.sakura.ad.jp/press/2011/0719_cedec.html
さくらのクラウド(続き)
日割り計算で借りられる
OSCで2万円分のクーポンをもらった
借りたサーバー
日割912円のプラン。
CPU:6コア
メモリ:12GB
ディスク:SSD
Ubuntu	14.04	LTS
を2台
6コア
$	nproc
6
借りたサーバー(続き)
クライアント:石狩第1
wrk
サーバー:石狩第2
h2o
Apache	httpd
Nginx
クライアントに
wrkをインストール
$	sudo	apt-get	update
$	sudo	apt-get	install	build-essential	libssl-dev	git
$	git	clone	https://github....
サーバーに
Apache	httpdをインストー
ル
$	sudo	apt-get	install	apache2
$	sudo	vi	/etc/apache2/ports.conf
Listen	8002
$	sudo	vi	/etc/apa...
サーバーに
Nginxをインストール
$	sudo	apt-get	install	nginx-full
$	sudo	vi	/etc/nginx/sites-available/default
								listen	8003	defa...
h2oをインストール
ローカルからAnsibleを実行
h2o設定
$	vi	h2o.conf
listen:	8001
hosts:
		"127.0.0.1.xip.io:8001":
				paths:
						/:
								file.dir:	/var/www/html
			...
共通コンテンツ
$	sudo	sh	-c	'echo	"<html></html>"	>	/var/www/html/index.html'
クライアントからwgetでそれぞれアクセスして確認
結果(h2o)
$	wrk	-c	500	-d	30	-t	5	http://hoge.example.com:8001/
Running	30s	test	@	http://hoge.example.com:8001/
		5	threads...
結果(Apache	httpd)
$	wrk	-c	500	-d	30	-t	5	http://hoge.example.com:8002/
Running	30s	test	@	http://hoge.example.com:8002/
		...
結果(Nginx)
$	wrk	-c	500	-d	30	-t	5	http://hoge.example.com:8003/
Running	30s	test	@	http://hoge.example.com:8003/
		5	threa...
比較
h2o速い。
Server Req
h2o 701376
Apache	httpd 528951
Nginx 685059
ただし
大きなデータだと実は3つにあまり差がない(Apache
httpdが少し速い?)
リクエスト処理	vs.	I/O性能?
h2oの例では面倒なのでログを出してない。それも有利?
Prochain SlideShare
Chargement dans…5
×

さくらのクラウドでh2oのベンチマーク

827 vues

Publié le

Benchmark of h2o web server software on sakura-cloud

Publié dans : Technologie
  • Login to see the comments

さくらのクラウドでh2oのベンチマーク

  1. 1. さくらのクラウドで h2oのベンチマーク emasaka
  2. 2. h2o Webサーバー 奥 一穂氏(DeNA)作(2014〜) https://github.com/h2o/h2o
  3. 3. 特徴 爆速(らしい) 特にヘッダーのパースが速い(らしい) picohttpparser HTTP/2対応
  4. 4. ならばベンチマーク h2o vs. Apache httpd vs. Nginx
  5. 5. 要件 サーバーとクライアントと別の物理サーバーで ただし公衆網は通らないほうがいい 回線がボトルネックになりそう 安く(できればタダ)
  6. 6. さくらのクラウド 石狩第1 DCと石狩第2 DCから選べる サーバーは確実に分かれるが、建物内で通信するはず
  7. 7. こんな感じ ※写真は さくらインターネットのプレスリリース ( )から拝借 http://www.sakura.ad.jp/press/2011/0719_cedec.html
  8. 8. さくらのクラウド(続き) 日割り計算で借りられる OSCで2万円分のクーポンをもらった
  9. 9. 借りたサーバー 日割912円のプラン。 CPU:6コア メモリ:12GB ディスク:SSD Ubuntu 14.04 LTS を2台
  10. 10. 6コア $ nproc 6
  11. 11. 借りたサーバー(続き) クライアント:石狩第1 wrk サーバー:石狩第2 h2o Apache httpd Nginx
  12. 12. クライアントに wrkをインストール $ sudo apt-get update $ sudo apt-get install build-essential libssl-dev git $ git clone https://github.com/wg/wrk.git $ cd wrk $ make $ sudo cp wrk /usr/local/bin
  13. 13. サーバーに Apache httpdをインストー ル $ sudo apt-get install apache2 $ sudo vi /etc/apache2/ports.conf Listen 8002 $ sudo vi /etc/apache2/sites/sites-available/000-default.conf <VirtualHost *:8002> $ sudo service apache2 restart
  14. 14. サーバーに Nginxをインストール $ sudo apt-get install nginx-full $ sudo vi /etc/nginx/sites-available/default listen 8003 default_server; root /var/www/html $ sudo service nginx restart
  15. 15. h2oをインストール ローカルからAnsibleを実行
  16. 16. h2o設定 $ vi h2o.conf listen: 8001 hosts: "127.0.0.1.xip.io:8001": paths: /: file.dir: /var/www/html access-log: /dev/null
  17. 17. 共通コンテンツ $ sudo sh -c 'echo "<html></html>" > /var/www/html/index.html' クライアントからwgetでそれぞれアクセスして確認
  18. 18. 結果(h2o) $ wrk -c 500 -d 30 -t 5 http://hoge.example.com:8001/ Running 30s test @ http://hoge.example.com:8001/ 5 threads and 500 connections Thread Stats Avg Stdev Max +/- Stdev Latency 137.68ms 225.00ms 1.98s 86.18% Req/Sec 4.80k 2.20k 18.12k 75.19% 701376 requests in 30.01s, 149.83MB read Socket errors: connect 0, read 0, write 0, timeout 57 Requests/sec: 23368.91 Transfer/sec: 4.99MB
  19. 19. 結果(Apache httpd) $ wrk -c 500 -d 30 -t 5 http://hoge.example.com:8002/ Running 30s test @ http://hoge.example.com:8002/ 5 threads and 500 connections Thread Stats Avg Stdev Max +/- Stdev Latency 2.35ms 12.11ms 459.69ms 99.39% Req/Sec 4.43k 2.52k 13.62k 65.58% 528951 requests in 30.10s, 120.66MB read Requests/sec: 17574.07 Transfer/sec: 4.01MB
  20. 20. 結果(Nginx) $ wrk -c 500 -d 30 -t 5 http://hoge.example.com:8003/ Running 30s test @ http://hoge.example.com:8003/ 5 threads and 500 connections Thread Stats Avg Stdev Max +/- Stdev Latency 173.36ms 300.41ms 1.89s 86.39% Req/Sec 4.66k 2.39k 20.73k 73.19% 685059 requests in 30.10s, 167.87MB read Socket errors: connect 0, read 0, write 0, timeout 243 Requests/sec: 22759.04 Transfer/sec: 5.58MB
  21. 21. 比較 h2o速い。 Server Req h2o 701376 Apache httpd 528951 Nginx 685059
  22. 22. ただし 大きなデータだと実は3つにあまり差がない(Apache httpdが少し速い?) リクエスト処理 vs. I/O性能? h2oの例では面倒なのでログを出してない。それも有利?

×