好きこそものの上手なるyukichi

プログラミング学習の備忘録。万歳車輪の再発明。

【ISUCON11】ISUCON初参加2021 SUMMER 〜諸々no知識だったけど参加してみたらお祭りだった〜

ISUCON11にこの夏参加してきました!ISUCON
準備期間から本番まで非常に素敵な時間を過ごせた。ざっと備忘録

 

きっかけ

今年5月までISUCONの存在すら知らなかった。
とあるエンジニアさんから

ISUCONはエンジニアの夏の大運動会、技術と技術のガテン系ぶつかり合いのお祭り、おもしろいよ!

と教えてもらって気になっていた。
そんな矢先、Code Polarisdzさんから、ISUCONやりませんかー、とのありがたい募集が!これは運命、神の見えざる手のお導きと諸手を挙げて参加表明、そのままdzさんとチームを組ませてもらうことに。

結果声を大にして言いたいことは、ISUCONは楽しかったよ!

チームは別だけど、CodePolarisとして一緒に参加したkaoriさんもISUCONブログ書かれてました(●´∀`)v↓↓

zenn.dev

 

事前に取り組んだこと

  • 公式:ISUCONの事前講習2つ
    • 座学:とりあえずマニュアル読むの超大事ということと、ISUCONはみんなの母ということを学ぶ
    • ハンズオン:公開鍵を生成してgithubに置いたり、sshでのログインなど、最初からほとんどやった事ないことばかりで戸惑い(; ・`д・´)         途中、サーバー上のコードってどうやってローカルに持ってくるの?と右往左往する。とりあえずVimVim!                   ベンチ回して、修正して、また回して…とこんな流れでやるのか〜と雰囲気を羽毛布団並みのふわっっと感で掴む。あとは去年の事前講習動画も見た。

     本番前から着々と前夜祭が盛り上がりを見せていました

 

 ↓↓個人でやったこと↓↓

  • Isucon9予選少しいじり:alpやスロークエリの使い方を学ぶ@AWS。インバウンドルールを適切に設定していないことにより、時たま詰まる。
  • dzさんと会議:当日の集合時間から、最初これをやろうなど決めたことをリスト化。あらゆる無料枠の登録やリポジトリの作成も事前に完了!
  • SQLのおべんきょ:せっかくだしあんまやったことないSQLもちょろっと勉強してみよう、とわかりみSQLをさらっと読む。INDEXという存在を知る。Redisについても学びたかったな…間に合わず。
  • Vtuberさん動画垂れ流し:Vtuberさん3人が5時間でISUCON問題を解いてみる動画。皆さんの役割分担がインフラ・総統括とアプリ改修に綺麗に分かれていて流れるように作業していらっしゃる。

    youtu.be

     

本番  

10:00 :開始。node.jsで取り組むことにするcloudFormationから3台起動。マニュアル読み合わせを始めるも、長くて途中で一旦止め!笑

10:30 :無事ssh接続完了👏👏

11:00 :GitHubに必要なとこだけ(etcとwebapp)pushするのに四苦八苦。

何も考えずbench回す、2000点ぐらい? serviceをnodejsに変更→1100点ぐらい。3台のスペックを把握。どれも一緒ぽい。

12:00 :logのクリアやらサービス再起動するスクリプト作成。あれもう12時か、何もしてないぞ

14:00 :レポジトリのpushができるようになる。→権限回りの問題だった模様、dzさんが改修してくれた…ありがたや👏

slow-query onにするも、permission deniedで書けないよと、error.logに書いてある。。。権限色々変更でいけた。dzさんはアプリ側のチェック。alpで状況見たりしてくれている。アプリ側、お任せします…!(私はちんぷんのかんです)

pt-query-digestで時間かかってるquery把握からの、index貼る、score3000に上がった!上がったー!👏

やばいぞ楽しいぞー!

15:30 :nginx周りの設定を見る、cache周りなど少し設定を変えてみる score5000みたけど幻?

17:00    :SQLを別サーバに切り出しやろうかと思ったけど、時間間に合うか…でやめた。portalがつながらないー!時間経つの早いー!とキャッキャしていた。

で終了。結局ごはんもいらないほど8時間集中していて、あっという間に終わってしまった。

最終スコアは4184でした!もう、少し上げられただけでも私からしたら嬉しいのですよ…(´;ω;`)ただ上位の神々達はうん百万とかうん十万のスコアを叩き出していて、もう頭を垂れてひれ伏すしかありません。そんなスコア上がるのか…と夢も広がる

 

これからやりたいこと(ざっと)

  • Pythonでやってみたい。ぱっと見Flask使っているようなので、少しFlaskさらって取り組む
  • manual、documentもう少し読みこむ
  • 分散化
  • SQL学ぶ
  • 公式の講評や、Discordのrandomチャンネルの神々達の話を読んで改良したい

はぁ~楽しかった。来年も参加したい。どんどん募集締め切りが早くなってきている(今年は数時間だったかな?)らしいけど、人気なのもわかる。

運営の皆様お疲れさまでした、ありがとうございました!

isucon.net