第3回チューニンガソンに参加してきました。

久しぶりのblogになります。

Zusaarでチューニンガソンの東京会場のページを見つけたときすでに、

参加者がいっぱいだったので諦めてましたが、

福岡でも開催されるとしり急いでエントリーしました。

当日の朝から開始まで

当日実は寝坊しそうで、会場到着はギリギリでした。

まーそんな中始まったチューニンガソンですが、

blojsomのチューニングが今回のお題でした。

えっとblojsomってなに?

tomcat + java ???

javaとかわかんないし、tomcatなんて使った事ないし。。。

ってところ始まりました。

まずは、blojsomがなんなのかgoogle先生に聞くところから始めました。

やったこと

そんな感じで結果は6位でした。

これから簡単に僕がやった事を書いていきます。

まずやったのがMySQLのチューニング

(っていうかこれで駄目ならもう無理って思ってました。)

innodbだったので、innodb周りの設定やquery_cacheの変更を行いました。

変更した箇所はこんな感じです。

query_cache_size=512M
innodb_buffer_pool_size=1280M
innodb_log_file_size= 256M
innodb_log_files_in_group = 3
innodb_log_buffer_size = 32M
innodb_flush_log_at_trx_commit = 2
innodb_flush_method=O_DIRECT

こんなかんじで、MySQLの設定かえましたが、たいしてスコアが伸びず。。

とりあえずMySQL5.5.22もソースからインストールしたんですが、

なぜかうまく動作せずといった感じでした。

次にやったのが、ファイルシステムまわりのチューニングです。

  • メモるの忘れたのでやった事だけ。
    • 書き込みバリアの使用を無効化。(barrier=0)
    • メタデータの非同期書き込みを許可。(data=writeback)
    • no journaling modeにする。

変更後はドキドキしながら、サーバの再起動をしました。

この時点でもたいしてスコアが伸びず。。。

途方にくれた感じで最後のやったのがtomcatの設定でした。

これまたgoogle先生に聞いてみると、

JAVA_OPTSとかCATALINA_OPTSとかあるみたいだけど、どこに設定すればいいかわからず。

とりあえず設定ファイルを色々みてたら、tomcat6.confってのに記述があるのを発見しました。

何設定したらいいかわかんなかったので、CATALINA_OPTSを設定してみました。

設定項目はこんな感じでした。
このあたりはよくわからずに設定してました。

CATALINA_OPTS="-server -Xmx1024M -Xms512M -Xss512k"

-server : サーバ用VMを起動
-Xmx    : ヒープ全体の最大値
-Xms    : ヒープ全体の最小値
-Xss    : スレッドスタックサイズ

あとは設定でログの出力をoffしました。

これでやっと50を超えるスコアがでるようになりました。

今回の反省点

  • もっときちんとデータをとってメモリのチューニングをするべきでした。
    • いまのメモリの使用量とかの把握がちゃんとできてなかったので、メモリの最適な値が設定できてませんでした。
  • アプリケーションの入れ替えをやらなかった事。
    • 動かなくなる事が怖かったので、入れ替えをやる勇気がありませんでした。
    • 今回はjava + tomcatといったさわった事のない環境で、挑戦しなったのが一番よくないと思ってるので、次回はどんどんチャレンジしていきます。

最後に

第三弾チューニンガソンを開催して頂いた、株式会社ゼロスタートの皆様本当に有難う御座いました。
リモートで福岡から参加させていただき、楽しく参加できました。

福岡でのサテライトを企画してくださった、@murajun さん、会場を提供していただいた、ギルドカフェ・コスタ様、有難う御座いました!
次回は是非優勝目指して頑張ります。

参加者の皆様お疲れ様でした!