今回はRubyで勝負!全国6会場での開催――第4弾! いろいろチューニングしてパフォーマンスを競うバトルイベント「チューニンガソン」レポート

2012年7月1日、今回で4回目となるチューニンガソンがVOYAGE GROUPオフィス内の「パンゲア」ミーティングルームにて開催されました。

第4弾! いろいろチューニングしてパフォーマンスを競うバトルイベント「チューニンガソン」
http://www.zusaar.com/event/312053

パフォーマンスを高めるチューニングを競うチューニンガソン

チューニンガソン(Tuningathon)とは、システムのチューニングとマラソンをかけ合わせた造語で、たとえばハッカソン(Hackathon)といえば、プログラマが一ヵ所に集まり期間を限って集中的にハックするイベントですが、そのシステムチューニング版と言えます。

チューニンガソンでは、Webアプリケーションのパフォーマンスを向上させることを目的とします。ただし、アプリケーションプログラムそのものには手を入れることなく、下回りとなるWebサーバやDBサーバをチューニングしたり、その他システム構成に手を加えることでどれだけ性能を発揮できるかを競うものとなっています。

全国の会場を合わせて100名規模となったチューニンガソン
全国の会場を合わせて100名規模となったチューニンガソン

過去3回の開催では、

といったお題で争われました。

司会進行を務めた、企画者でもある株式会社ゼロスタート代表取締役社長 山崎徳之氏
司会進行を務めた、企画者でもある株式会社ゼロスタート代表取締役社長 山崎徳之氏

北は札幌から南は沖縄まで、過去最大6会場での開催

前回から首都圏以外のサテライト参加からの準備が用意されているのもチューニンガソンの特徴です。今回はなんと全国6会場(本会場の東京を含む)での開催となりました。開催された地域は以下のとおりです。

  • 札幌
  • 東京
  • 名古屋
  • 大阪
  • 福岡
  • 大阪

今回はRubyを使った「Refinery」がテーマ!

4回目となる今回は、Ruby(Ruby on Rails)ベースのCMS「Refinery」がテーマでした。前回のblojsom(Java)のときもそうでしたが、やはり自分の得意言語・不得意言語によって、悲喜こもごもの反応が見られました。

とは言っても、ベースはインフラレイヤ、チューニングして良い部分は限られますので、言語面での知識の他、実際のシステムとしてのパフォーマンスをどう上げるか、それが競われるのです。

バトル条件は以下のように設定されていました。

  • RoR RefineryのコメントPOST/GET回数
  • 10並列で一定秒数間測定
  • 秒間平均POST/GET回数がスコア
  • エラー返却は単純に除外
  • POSTはGETの10倍のスコア
  • POST後のGETによる反映チェック
  • 反映チェックの成功率の二乗をスコアに乗算
計測チームの面々。安定したイベント運営を支えています
計測チームの面々。安定したイベント運営を支えています

ポイントはCPU処理パフォーマンスの向上、上のレイヤのチューニング

これまでもそうですが、チューニンガソンで利用できるリソースには限りがあります。とくにCPUは1つを前提に考えなければならず、割り当てられるCPUが1つですので、その処理をいかに最大限に、効率良く行えるかがポイントになります。

また、そもそもRuby on Railsでの処理から発生するタイムラグを減らすというのもポイントで、この2点に対応したチームが上位に入賞することになりました。

終了ギリギリでの大逆転も!まさかの結果発表

では、結果を発表します。

順位名前(敬称略)スコア
1位ijin & tnmt ペア(東京)1351.54
2位netmarkjp(東京)1179.85
3位Dominion525 & udf93973ペア(名古屋)23.95
4位xga(東京)22.25
5位n0ts(東京)20.55
6位minimum2scp(福岡)19.09
7位Yosuke Yamamoto(東京)17.41
8位Yosuke Furukawa(東京)17.15
9位editnuki(東京)17.14
10位con_mame(東京)16.13

結果をご覧のとおり、上位2チームがダントツのスコアとなっています。実は終了1時間ほどまでは2位のnetmarkjp氏が唯一の4桁スコアだったのですが、最終段階に入り、ijin&tnmtペアが大逆転をした、という結果になったのです。

それにしても、本当にスゴイスコアですね。

優勝チームのポイントは、

  • Ruby 1.9.3-p194への入れ替え
  • RoRのアプリサーバにunicornを使用
  • MySQLへ複数のindexを追加
  • 計測ツールチェックから、スコア算出方法を調査
  • Varnishによるキャッシュ

といったことに取り組んだそうです。

2位のnetmark氏もキャッシュ周りから取り組んだ結果、ケタ違いのスコアを叩きだしており、このあたりのチューニングノウハウはとても実践的で、今後の参考になったのではないでしょうか。

優勝したijin(右)&tnmt(左)ペア
優勝したijin(右)&tnmt(左)ペア
惜しくも2位となったnetmarkjp氏。初回でも惜しくも2位でした
惜しくも2位となったnetmarkjp氏。初回でも惜しくも2位でした
今回サテライトから唯一トップ3に食い込んだ、名古屋のDominion525(左)&udf93973(右)ペア
今回サテライトから唯一トップ3に食い込んだ、名古屋のDominion525(左)&udf93973(右)ペア

第5回は今年秋ごろの開催予定

さて、このようにまさにチューニングの真髄を見ることができた今回のチューニンガソン。回を重ねるごとに、さまざまなノウハウが紹介され、インフラエンジニアの育成、啓蒙に役だっているのではないでしょうか。

早くも次回の開催が検討されており、2012年7月26日現在、秋口開催が予定されています。われこそはと思う方はぜひ参加してみてください。

当日の模様は、ゼロスタートの広報ブログでも紹介されていますので併せてご覧ください。

クラウドスポンサーのAmazon Web Servicesから、堀内康弘氏。DynamoDBなどについて紹介しました
クラウドスポンサーのAmazon Web Servicesから、堀内康弘氏。DynamoDBなどについて紹介しました

おすすめ記事

記事・ニュース一覧