チューニンガソン #4 参加記

Zussar: http://www.zusaar.com/event/312053

初参加.
@take4_k と参加.

当日の動き

前日飲み過ぎて気持ち悪い

昼前

会場ついた。
sudo brew upgrade などして時間を潰す.

お題発表.
Ruby か,へー.
Rails?
なんかスタート雰囲気だったので活動開始.
とりあえず自分のインスタンスにログイン確認.

sudo /etc/init.d/mysqld start
cd tuningathon; rails server

起動した動いた.

bench.sh,bench.py 読んでた.
tmux 入れたいなぁ.でもあんまり環境汚すのもと思って躊躇.
とりあえず最初のベンチ

    $ bash bench.sh  -c 10 -s 10
    15 fetches, 9 max parallel, 56970 bytes, in 10 seconds
    3798 mean bytes/connection
    1.5 fetches/sec, 5697 bytes/sec
    msecs/connect: 66.9537 mean, 1002.62 max, 0.045 min
    msecs/first-response: 4417.45 mean, 5498.6 max, 1722.05 min
    HTTP response codes:
      code 200 -- 15
      Score: 2.794 (get=1.500, comment=1.294(2), check=1.000)

TL 見てると結構 tmux 入れてる人がいたので今度は躊躇なく tmux インストール.

$ sudo yum install libevent-devel ncurses-devel
$ wget http://downloads.sourceforge.net/project/tmux/tmux/tmux-1.6/tmux-1.6.tar.gz?r=http%3A%2F%2Fsourceforge.net%2F&ts=1341113047&use_mirror=jaist
cd
$ tar xvf tmux-1.6.tar.gz 
$ cd tmux-1.6
$ ./configure; make; sudo make install 

とりあえず varnish 入れるかなぁ.ソースからビルドする.

$ sudo yum install pcre-devel
$ wget http://repo.varnish-cache.org/source/varnish-3.0.2.tar.gz 
$ cd varnish-3.0.2/
$ ./confdigure

動かない. nmap 入れて確認.

$ sudo yum install nmap
$ nmap localhost

いろいろしてたけど動かない.リポジトリから入れるか.
とりあえずポートをなぜか rails server のほうを 80 にして varnish を 3000 にする.

$ sudo rpm --nosignature -i http://repo.varnish-cache.org/redhat/varnish-3.0/el5/noarch/varnish-release-3.0-1.noarch.rpm
$ sudo yum install varnish

ベンチとった気がする.(詳細消えてたのでスコアのみ)

Score 5.050 

さて何しようかな.
ビューキャッシュとか使えば早くなるかな.
memcache とか tokyotyrant とか使えばいいのかな.
インストールしたけど Gemfile いじらないと使えないっぽくてこれはいじっちゃいけないそうなので断念.

nginx 入れてみよう.入れたけど使い方わからんパス.

ruby 早くならないかなぁ.
検索したら Ruby Enterprise Edition とかいうのがあるらしい.インストール.

$ sudo yum install readline-devel patch
$ wget http://rubyenterpriseedition.googlecode.com/files/ruby-enterprise-1.8.7-2012.02.tar.gz
$ tar xvf ruby-enterprise-1.8.7-2012.02.tar.gz
$ cd ruby-enterprise-1.8.7-2012.02/
$ sudo ./installer
$ cd ~/tuningathon
$ /opt/ruby-enterprise-1.8.7-2012.02/bin/rails start --port 80

よく覚えてないけど 4 いくつしか出なかったので焦ってた.
deveropment.rb を production.rb に書いてある内容コピーしてきたりいろいろしてたけど意味なし.
ここで司会の人が「truncateうんぬんかんぬん」と言ってて,資料にも書いてあるからこれなんだろう?と思って調べて実行.

$ bash bench.sh -c 10 -s 10
    58 fetches, 9 max parallel, 251874 bytes, in 10 seconds
    4342.66 mean bytes/connection
    5.8 fetches/sec, 25187.4 bytes/sec
    msecs/connect: 0.136431 mean, 0.221 max, 0.03 min
    msecs/first-response: 1436.95 mean, 1745.93 max, 283.622 min
    48 bad byte counts
    HTTP response codes:
      code 200 -- 58
      Score: 10.101 (get=5.800, comment=4.301(5), check=1.000)

おー結構上がった.
unicorn とか使ってみる.

$ sudo /opt/ruby-enterprise-1.8.7-2012.02/bin/gem install unicorn 
$ sudo /opt/ruby-enterprise-1.8.7-2012.02/bin/unicorn_rails -p 80

ベンチとってみる.

$ bash bench.sh -c 10 -s 10
    63 fetches, 9 max parallel, 378270 bytes, in 10 seconds
     6004.29 mean bytes/connection
    6.3 fetches/sec, 37827 bytes/sec
    msecs/connect: 0.126873 mean, 0.226 max, 0.03 min
    msecs/first-response: 1341.21 mean, 1595.78 max, 145.329 min
    45 bad byte counts
    HTTP response codes:
      code 200 -- 63
      Score: 10.220 (get=6.300, comment=3.920(4), check=1.000)

あんま変わんないなぁ.打つ手なし終了.

mysql まったくチューニングしなかったし varnish とか全然設定書かなかったので単にインストールしまくっただけで終了.

やったことまとめ

  • varnish 入れた
  • REE 入れた
  • unicorn 入れた
  • アプリの設定いじった

感想

そんなにインフラやってない人なのでいろいろ勉強になって楽しかったです.次回以降もなんとか参加していきたいですね.