初め見たときはCPUもmemoryもがら空き状態だった。nginxが複数たってくれなかった。(1台で玉に2,3台でてくる程度)これも、index追加対応でIO待ち解消すると、ちゃんと複数あがってくれた。autoの時の話だが。あれ、そもそも、ここ、皆固定値入れてるの?あと、memoryが、超がら空きだったのが勿体なかったswapも当然ほとんど発生してない。余裕有ればKVS入れて、Count処理とかcacheしても良かったなー。KVSといえば、今回のtable構成では、loginのtrackingしてる所があり、単純にinsertしてselectしてるだけなので、これをKVS(redisでsort済みとかね)に突っ込むのやりたかった。queryが割と柔軟に書かれていたので、この対応いちいち書き換えて行く作業時間が、残り時間に入るか不安で没に。夕方/etc/my.cnf見直しをエンジニアAに依頼。usersというreportも気になって見てもらった今回のアプリはinsertとselectだけで、アプリ側でトランザクションも貼ってないので、どこからもdbのロックかかりそうもない。※ちょっと自分は確認してないがなぜ、こんな事起こるか、その時は謎だった。予選後、反省会で、この話あがり、おそらく、nginx+GOの大きな蛇口に対してmysqlの蛇口が低すぎたんじゃないか、という説がでた。mysql周りで溢れた分が処理しきれていない可能性があるかもしれない。uri:/これ、多分、多くの出場者がひっかかっていたのでは?(井戸端でも誰か書いてた)調べると、goのnet/httpのkeepalive周りの問題っぽい。※参考1/2nginxでkeepalive接続をoffにしたら、このエラーでなくなった。いうのも、現場でよくありますよね。最後にベンチマークのworkaroundを幾つか指定して適性値を探した。コア数前後が良さそうだが、この時点でまだCPU使い切ってなかったので、ばんばん並列度合い上げてみた結局、8くらいまであげれた(それ以上あげてもscoreにあまり貢献しなかった)そして、それでも、まだCPU/LoadAvg余裕あった上にも書いたが、次はmysqlの蛇口を開くべきだったなー。my.cnfの設定に移れば良かった。反省会で出た内容だが、そもそもmysqlを冗長化してしまっても良かった気がした。intに、tinyint(4)を1にとか)あと、mysqlの余計なlogとかoffにしたり。振り返ると、なんか、benchmark周りのエラーを除くのばっかやっていたような印象。メモリーが全然がら空きでmemcache/redisとか突っ込めば良かったなーとあと、初めに担当決め過ぎると、責任感の意識が働いて柔軟に動けず逆に良くなかったなーとなんか、17:50くらいで終わったので、皆で反省会やったけど、なんか暗い雰囲気になってしまったのも良くなかった!反省会はお酒飲みながら明るくやらないとね!その後、hikarieのおしゃれなお店で酒飲みながら反省会しました。次回も参加したいっす。canvasを画像に変換したかった。spdyをちょっと試してみたい。