MySQL conferenece

行ってきた。
印象に残ったセッションはCyberAgentの人がソースコードの読み方と3分間ハックの方法を紹介していたのと、InnoDBのチューニング話。
CAと言えば社長がblogで香ばしい事を言っていたのでロクなエンジニアが居ないのではないかと思っていたが、今回講演されていたのは至極まっとうなハッカーっぽい人だった。会社の方針なのかCAから来ている人は全員スーツ着用だったため、その真面目そうな外見とハッカー特有の圧縮言語のような早口がチグハグで面白かった。私もよく必要にせまられてソースコードを調査するので、GNU GLOBALとかはどの環境にも入れているが、gdbを使った正攻法によるソースコードの追いかけはあまり場数をこなしていなかったので参考になった。
あとはInnoDBのチューニング話。講演者がMySQL日本法人の松信さんというだけあって、実に手堅いチューニングのポイントが紹介されていた。
内容自体は他の文献や資料と大差はなかったが、自分のチューニング方法を再確認できたのはよかった。新しい発見と言えば、レプリカのスレーブでinnodb_doublewriteを切ったりinnodb_flush_log_trx_commitで同期書き込みを減らしてしまうのは推奨とまでは行かなくとも「アリ」な方法と紹介されていたこと。複数台によるレプリケーション構成はよく使うけど、マスタのディスク負荷が高まっている頃にはスレーブ側の書き込みも相当量になっていることが多く、レプリケーションラグが発生したり書き込みが飽和したりでスレーブを増やすこともできなくなる事があって困っていた。これらの方法はちょっと試したいところ。
このセッションは2部構成になっていて後半はNTTコムウェアの人によるディープなコードレベルでのInnoDBのチューニング話。特に最近のハイエンドハードウェア上でのパフォーマンスの向上に注力したもの。
趣旨として最近の高いハードウェアはディスクI/Oやプロセッサの並列度が高いのだから、それをガンガン使うべくいくつかのポイントでハックを行ったというもの。残念ながらこれらのハックの恩恵に預かれる高いハードウェアでMySQLを運用しているわではないので、成果のパッチの利用を検討することは当面なさそうだけど、いずれも興味深い改良ばかり。
ハードウェアメーカとしてはhpとDELLとSUNが来ていた。hpはAMDを担いで来ていたので、現行製品について聞いてみた。AMDのハードウェア上でのMySQLベンチマークなどは非常に参考になったので、同じ世代のIntel版とAMD版をガチでぶつけたときの結果も出して欲しいと頼んでみたが、やはりそれは難しいとのこと。
SUNはX4500とX4200とT2000を持ってきていた。T2000は非常に面白いのだけど、一箱がそれなりに高いので試しに一ノード買ってみるというわけにはいかないところが難しい。全面置き替えとかをやる場面があるのなら、考慮する余地もあるかな。デモではMySQLを入れてSuperSmackで負荷をかけていた。32CPU見えた状態でMySQLのスレッドがウニウニ動くのは壮観。ただDBとして使うにはDASが弱いので、SCSIなりSANなりでこれまた大掛り。
ディスクいっぱいのX45000はローカルファイルシステムZFSを使うとして外に出すときには何を想定しているのかが疑問だったので、聞いてみたところ「NFSかCIFS」とのこと。つまり、UNIXで使うにはNFS一択か。最近はLinuxで使ってもクライアント側では変なトラブルも無いのだけど、やはり良い印象はないかな。最近Lustreと提携してZFSと連携するようになるらしいけど、これはアグレッシブ過ぎか。T2000よりもう少し手軽かと思っていたのだけど、値段を見て諦めた。一桁違う。やはりこのセグメントにはまだ敵が居ないためか。
カンファレンス全体のイメージとしては、YAPCとかに比べてもビジネス色が強いこと。まぁ、処理系とDBだとどちらがよりビジネス寄りなのかは明かだし、比べるべきはJavaあたりなんだろう。