ISUCON11予選に参加しました
ISUCON11予選に @hilotter、@Konboi と流れ弾で参加して敗退しました。参考実装はRubyを使用しました。
運営の皆様、ありがとうございました。今年もとても楽しかったです。
やったこと⌗
- Deploy しやすい環境を整える
- INDEX を貼る
- DB x 1、nginx + app x 2 の構成にする
- Session を Redis にする
- MariaDB を MySQL 8 にする
- sidekiq を systemd で起動する
ハマったこと⌗
Rack::Session::Redis を導入する際に https://github.com/redis-store/redis-rack#usage をそのまま書いたら :redis_server
が設定されなかった⌗
Usage のコードをよく見ると use Rack::Session::Redis
が 2つ書いてあり、option を指定しない場合と option を指定するときの書き方が混在しています。これをそのままコピペして :redis_server
の値だけ変更しようとすると、2つめの use Rack::Session::Redis
が無視されます。(無視されるという表現は正しくないかもしれませんが、そういう動作になるということで…)
これに気がつくのに30分以上かかり時間を無駄にしました(チームメイトのどちらかが気がついてくれました…)。
MariaDB から MySQL の移行がスムーズにできない⌗
この作業を着手する前は、最近の ubuntu 20.04 は apt install で MySQL 8.0.26 をインストールできるし、mariadb 消して apt install すればいいだろう、くらいに思っていましたが、そんなにすんなり MySQL が起動しませんでした。 具体的には以下で起動する状態にできるはずです(ただし、本番環境でやってはいけないオペレーションです、念の為)。
sudo apt purge mariadb*
# /var/lib/mysql が残っていたら削除
sudo apt install mysql-server-8.0 -y
# mysqldump しておいたファイルを投入する
終わりに⌗
運営の皆様、いつも楽しいイベントを開催していただきありがとうございます。
いつも一緒に参加してくれているチームの二人もありがとうございます。役に立てず申し訳ないです。
来年も開催されるようでしたら参加したいです。
Read other posts