takachan's blog

地方のエンジニアが、まずやってみる(Bias For Action)!!をモットーに気持ちを綴るブログです。

チューニンガソン#05@鹿児島サテライトに参加しました。

2013/01/19にコワーキングスペースTenon」にて開催された、チューニンガソン#05@鹿児島サテライトに参加してきました。本来は運営の立場でしたが、参加者おらず私が参加しました。ちょっと寂しい(´Д⊂グスン

 

f:id:twinuma:20130119104312j:plain

そもそもチューニンガソンってナンダ?

指定の環境を使い、OSやサーバ周りのチューニングでパフォーマンスを競うイベントです。サーバはAWS(EC2)でOSはAmazon Linux AMIです。ここが一番のポイント!「イベント当日までテーマが分からない!」自分の得意な分野かもしれないし、未経験の分野かもしれない。持ち物は、『PC、充電器、参加費、諦めない気持ち
本イベントのメイン会場は東京ですが、東京に行かなくても参加できるように地方サテライトとして、北から札幌、名古屋、福岡、鹿児島、沖縄で同時開催しています。メイン会場の東京とはSkypeでつないでやりとりしていました。このように映っていたそうです。

f:id:twinuma:20130120222744j:plain

 

今回のテーマ

11:45に参加者全員に今回のテーマが発表されました。
================================================ 

  • Wikipediaのデータを入れたMySQLの各種クエリ秒数
  • クエリ秒数合計の少ない人が勝ち

================================================ 

チューニング条件や計測方法についての説明がありました。
計測班は、計測専用サーバから各サーバの3306/tcpに規定のユーザでアクセスして計測・集計します。 

バトル開始から終了

12時から17時までぶっ通しでOSとMySQLのチューニングスタート!
私の行ったチューニングは、

  • 不要な(と思われる)INDEXの削除
  • 必要なINDEXの作成
  •  メモリ割り当て最適化

この3つに集中しました。

計測用のPythonスクリプトを展開し、各クエリを確認しながらINDEXの作成を進めました。今回のポイントだったのは、運営側から『集計用のクエリは修正してはいけない。ただし、INDEXの追加や削除はOK』の知らせでしたね。

対戦中はTwitterのハッシュタグ『#tuningathon』でつぶやいていました。開始早々に燃料(ビール)を投入したり、Red Bullやドーナツの差し入れなど・・・ぼっちには辛かった(´Д⊂グスン

 
途中、買い物途中の奥さんからのスタバの差し入れがあり、とても嬉しかった。
結果は・・・よい結果とは言えませんでした。 

 

バトル終了・・・気になる結果は!?

TOP10からの発表でした。実は運営側は今回は11秒台が優勝かなと想定していました。ところが・・・10位で「9.813」!!!驚きました。
今回の1位は、「6.225秒」@TeruiMasashi さんでした!!すごいです・・・
10位から1位の方々のアプローチを聞きましたが、だいたい皆さん揃って「メモリ、my.confの最適化、不要INDEXの削除・最適化」でした。1位の方の「主キーを変更した」というチューニングには驚きました。

今回印象的だったのは、7~5,3位の方が沖縄、4,2位が名古屋、1位が札幌と地方勢が活躍していました。こういうのは地方に住むエンジニアには嬉しかったりします。

 

まとめ

 主催であるゼロスタートコミュニケーションズの山崎様(@zaki)からの挨拶で、「本イベントはインフラエンジニアを対象にしており、クエリを変えずにインフラエンジニアが出来る事にフォーカスした。だから、INDEXの最適化やOS・メモリチューニングが大事である」とおっしゃっていました。さらに、環境を提供して頂いたAWSのエヴァンジェリスト堀内様(@horiuchi)からの名言。
『お金で買えないチューニングの力がある!!』 素敵。

 とても勉強になり楽しくて充実した一日でした。次回も鹿児島サテライトで参加したいです。次回はもっと参加者が集まればもっと楽しいだろうなぁ。