ISUCON7 予選に参加しました
10/21(土)に、チーム爆アドというチーム名にて、earshttpというハンドルネームで参加させていただきました。
予選概要
予選合計参加者数
- 合計 407組、1132名
10月21日(土)
- 204組 , 577名
- 一般 173組 [2名:28組 , 3名:145組]
- 学生 31組 [2名:5組 , 3名:26組)
10月22日(日)
- 203組 , 559名
- 一般 165組 [2名:44組,3名:121組]
- 学生 38組 [2名:6組,3名:32組]
総合順位
- 145位 26,759点
課題内容
課題はチャットシステムでした。 3台のubuntuサーバ(APPx2、DBx1)を使い、高速化するものでした。
修正内容
当日お腹の調子が悪く、メンバー二人は某所で集まり、自分は自宅から参加しました。 連携方法がチャットしかなかったので、一人で走る感じになってしまいました。
言語はRubyを使用しました。
netdataの導入
やってもらいました。
SQLの見直し
- select文の取得カラムの見直し
- Indexの貼り直し
- レコード取得数の見直し
MySQLのチューニング
知識がなかったので調べながら使用メモリ量のチューニング
Nginxのチューニング
やろうとしたけど知識がなさすぎて手が回りませんでした。
はまったところ
進めていくと、/icons取得時に500エラーが大量に発生するようになりました。 /iconsはDBに入っている画像データをAppが書き出す形になっており、netdataで見るとDBサーバのCPUが張り付いていました。
画像をファイルに書き出してNginxに良しなにしてもらおう、ということは思いつきましたが、私用の都合で途中抜けしたため、時間が足りずにタイムアップ。 18時時点で25000点ほどで離脱しました。 その後メンバーにミドルウェアのチューニングをお願いし、27659点を記録しました。
感想
人生初のプログラミングコンテストでしたが、0点でした、と書かずに済んでホッとしています。
開始時レギュレーションを一切読まずに進めたため、pythonからrubyへの切り替えができずにあたふたしました。 レギュレーションは必ず読むことにします。
また、リモート参加は慣れていないと意思疎通が難しいので、お腹を壊さないようにしようと思います。(:3 」∠ )_
来年も参加します。 お疲れ様でした〜