feature image

2023年12月5日 | ブログ記事

部内ISUCON「PISCON」を開催しました!

この記事は アドベントカレンダー2023 5日目の記事です。

部内ISUCONこと「PISCON」を今年も開催したので、そのレポート記事です。今年の運営はボク (@cp20) 1人でした。運営的に大変だったこととか、大会の様子とかをつらつらと書いていこうと思います。

PISCONってなんだ

一言で言うと、ISUCON というWebサーバーのパフォーマンスチューニングを行うコンテストの部内版です。ISUCONについて詳しくは任意の他の記事を読んでみてください。 (今だとISUCON13が終わった直後なので大量の参加記が落ちてると思います)

ISUCONではWebサーバーに対してベンチマーカーが負荷をかけて、Webサーバーがどれぐらいチューニングされてるかを測定するんですが、それはポータルサイトからリクエストすることで行います。PISCONでは独自のポータルを用意して、ベンチマーカーをうまく走らせるようにしています。また選手が使う環境 (AWSインスタンス) もボタン1つで構築できるようになっています。チームの順位・スコアを見ることもできて、さながら本番のポータルのような機能を備えています。

そのおかげで本番のような練習を行うことができます。環境構築の手間も不要なので初心者も参加しやすくなっています。

ちなみにポータルはGitHubで公開されてるので (一応) 誰でも使えます。ただめちゃくちゃハードコード部分が多くて実際に使おうと思うとかなり大変かもですが、、、

GitHub - traPtitech/piscon-portal: traPisucon(Piscon)ポータルサイト
traPisucon(Piscon)ポータルサイト. Contribute to traPtitech/piscon-portal development by creating an account on GitHub.

開催レポート

今年のPISCONはISUCON9予選を使った第1回とISUCON11予選を使った第2回で計2回行いました。

第1回 10/20~10/22 + 延長

ISUCON9予選、ISUCARIを扱いました。参加チーム (のうち正のスコアを出したチーム) は19チーム、総参加者は31人でした。ちなみにボクも参加したんですが、忙しくてあんまりコミットできませんでした。先輩たちが圧倒的なスコアをたたき出していてすごいなぁ、、という気持ちです。

第1回PISCONの裏(?)で @pikachu0310 さんによるISUCON講習会が行われていました。超大ボリュームのテキストと、座学 & 実際にPISCONを題材とした実習を合わせて行いました。詳しくは以下のブログ記事を読んでみてください。

ISUCON初心者向け講習会のテキストを作り、開催しました!
こんにちは、@pikachu0310 です。サーバーを書くVRChatに住んでるケモノです。 ISUCON初心者向け講習会のテキスト作成及び講習会の講師を担当しました。 ISUCON初心者向け講習会について もうすぐISUCONの季節という事で、この時期になるとtraPではPISCONと呼ばれる部内ISUCONを毎年開催しています。 そこで、ISUCON初参加/初心者の人に向けて、ISUCONの基礎知識を座学で教え、その後実際にPISCONで計測から改善まで各自が手を動かしてやってみる「ISUCON初心者向け講習会」を開催しました。 講習会のテキストについて http…

第2回 11/3~11/5 + 延長

ISUCON11予選、ISUCONDITIONを扱いました。実はtraP作問で、作問者も参加しています。そしてバッチリ1位を取ってくれました。流石です。

(初期スコアより高いスコアを出した) 参加チーム数は9チームで、総参加者数は20人でした。第1回はチームメンバーそれぞれで参加していたチームが第2回では一緒に戦うといった光景が見られました。

技術的な話とか

ポータル兼ベンチマーカーのインスタンスと、選手が使う用のインスタンスを全てAWSを使って建てました。なぜならポータルがそういう風に設計されているからです。ちなみにポータルはt3.xlarge、競技用にはt2.medium×3/チームのインスタンスを使いました。

AWSの個人アカウントを使っていたんですが、AWSのQuota引き上げ申請をする必要があって、なのに最初リージョンを間違えて申請しちゃったので第1回のときに東京リージョンで再申請したという裏話があったりなかったり。

ポータルを問題用に書き換えたりしなきゃいけなかったんですが、結構うまく行かないもので1日、2日ぐらい溶かしてました。大変だ~。具体的に何やったかとかが知りたい人はコミットログを参照して頂ければと

反省点

まず準備が遅すぎました。最初に話を振られたのが9/26で、その日のうちに引き受けたんですが、まともに準備を始めたのが10/9ぐらい、本格的に動き出したのは開催まで1週間切ってからとかだったのでホントにギリギリでした。そのせいで色んな人に迷惑をかけちゃったのは反省してます、、、

あとはAWSのQuota引き上げ申請ミスったのが反省ポイントですね。リージョンはしっかり確認しましょう。(1敗)

感想

こういう大会を運営するのはたぶん初めてなのに、1人で運営するのはもっと初めてでした。でもいい経験になったと思います。初めてAWSをまともに使った気がします。でも今度こういうことがあったらもっと人にタスクを振って行こうかな、という気になりました。

明日は @mera さん @noc7t さんの記事です!お楽しみに!

おまけ

過去にもPISCONやってるはずだけどブログないのかな?と思って探してみたら2019年のブログが見つかりました。

部内ISUCONを開催しました
SysAd班のxecuaです。公式Twitterでもちらっと触れました(CATechPitchBattleのスライドでもちらっと見えてたみたいですね)が、部内ISUCON(PISCON)を開催しました。今回はそのときに詰まったこと、反省などを書き記しておきたいと思います。 ISUCONについての説明は割愛させていただきます。 -------------------------------------------------------------------------------- traPからは毎年数チームISUCONに出場しており、その練習会をSysAd班主催で毎年行なっていま…

参加者6人で歴史を感じますね。

cp20 icon
この記事を書いた人
cp20

23B / icon: https://twitter.com/sora_douhu

この記事をシェア

このエントリーをはてなブックマークに追加
共有

関連する記事

2023年12月11日
DIGI-CON HACKATHON 2023『Mikage』
toshi00 icon toshi00
2023年12月13日
HgameOPについて語る
noc7t icon noc7t
2023年12月25日
オレオレRustプロジェクトテンプレート
H1rono_K icon H1rono_K
2023年12月18日
GPU側でレイヤーブレンドする絵描きソフトの同期方法
tq icon tq
2023年12月16日
MacからWindowsを弄る方法?~RDP環境を作ろう~
Alt--er icon Alt--er
2023年12月4日
私的ジャンル別最強映画番付(2023年版)
botoku_izm icon botoku_izm
記事一覧 タグ一覧 Google アナリティクスについて 特定商取引法に基づく表記