チューニンガソン#05@鹿児島サテライトに参加しました。
2013/01/19にコワーキングスペース「Tenon」にて開催された、チューニンガソン#05@鹿児島サテライトに参加してきました。本来は運営の立場でしたが、参加者おらず私が参加しました。ちょっと寂しい(´Д⊂グスン
そもそもチューニンガソンってナンダ?
指定の環境を使い、OSやサーバ周りのチューニングでパフォーマンスを競うイベントです。サーバはAWS(EC2)でOSはAmazon Linux AMIです。ここが一番のポイント!「イベント当日までテーマが分からない!」自分の得意な分野かもしれないし、未経験の分野かもしれない。持ち物は、『PC、充電器、参加費、諦めない気持ち』
本イベントのメイン会場は東京ですが、東京に行かなくても参加できるように地方サテライトとして、北から札幌、名古屋、福岡、鹿児島、沖縄で同時開催しています。メイン会場の東京とはSkypeでつないでやりとりしていました。このように映っていたそうです。
今回のテーマ
11:45に参加者全員に今回のテーマが発表されました。
================================================
================================================
チューニング条件や計測方法についての説明がありました。
計測班は、計測専用サーバから各サーバの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)からの名言。
『お金で買えないチューニングの力がある!!』 素敵。
とても勉強になり楽しくて充実した一日でした。次回も鹿児島サテライトで参加したいです。次回はもっと参加者が集まればもっと楽しいだろうなぁ。