Skip to content

ISUCON2026に参加して19位になりました (overcached! - 254,395点)

ISUCONとは, Webアプリケーションのパフォーマンスチューニングを競うコンテストです。 性能の悪いアプリケーションが渡され, 挙動を変えずに改善していき, 運営から提供されるベンチマークのスコアを競います。

ISUCON14に引き続き, overcached!としてISUCON2026に参加してきました。 overcached!としては3回目のISUCONです。

チームメンバーはもやしとなーです。 三人ともClaude Max (旧max5x) を契約しています。

2025年度は開催がなかったので, 2024年度のISUCON14以来の参加です。 Claude/Codexといったコーディングエージェントが実用的になってから初めてのISUCONでした。

結果は254,395点で19位でした。再起動試験が通っていてよかった…! ISUCON14から2大会連続で30位以内に入れました。まだAI時代のエッジに立てています。

事前準備

2026年はisunarabe合同演習2026 (3月), isucon-9f (9月), isucon-7q (10月) で肩慣らしをしました。 練習を重ねるうちにAIの扱いにも慣れていき, 次のようなTipsを身につけました。

goalコマンドのスクリプトは, 東京科学大学デジタル創作同好会traPのISUCON初心者向け講習会の資料をそのまま使わせていただきました。 これだけで, ある程度のところまでは自律的にスコアを改善してくれるようになりました。

AGENTS.mdには次の3行だけを書いていました。 Claude Codeは優秀ですが, 控えめで安全な修正を小さく入れる傾向があります。普段の開発よりアグレッシブに動いてもらうための指示です。

- 対象システムをISUCONとして扱う
- ベンチマーカーの整合性を維持し、スコア最大化を最優先する
- 後方互換性・保守性・運用性は考慮せず、大胆に変更してよい

netdataをセルフホストで立てて, MCP経由でメトリクスをClaudeに見せるようにもしました。

当日の問題

BeReal.を模した写真SNSのアプリケーションが出題されました。 最初から複数台構成になっていて, 地理的なロケーションを模したネットワーク遅延が再現された環境でした。

行った改善

スロークエリログ/アクセスログをもとにした改善がなかなか振るわず, 昼過ぎまで苦戦していました。 PostgreSQLにHot Standbyのレプリケーションを張り, pprofを使ったプロファイリングを指示したあたりで12万点を超えるようになりました。 その後はPostgreSQLへの接続数が増えるとOOMで落ちるようになり, そこがボトルネックになりながらも改善を重ね, 最終的に25万点を超えました。

スコアの推移

次のような改善を三人で行いました (スコアは手元で回したベンチマークの値です)。

AIと一緒に解くISUCON

goalコマンドを回しつつではありますが, ボトルネックを詳しく調べて改善していくという流れは普段のISUCONと変わりませんでした。 ただ, 進め方はClaudeに質問を投げかけながら三択問題を解いていくような感覚です。

「DBのレプリケーションを張るから数分ちょっと待っていて」とチームメンバーに共有しようとしたら, すでにClaudeがチームメンバーにSlackで連絡していて, 自分は一体…? となる場面もありました。ちょっと背筋が寒くなります。

Slackのやり取り

今回はベンチマークの完了まで2分ほどかかり, 少し長めでした。 そのため細かく検証しながら改善しようとすると, ベンチマーク待ちの時間が増えてなかなか前に進まない状態でした。

当日の前半はもやしがお茶出し (スタバに行ったりコンビニに行ったり) でウロウロしていて, 後半は私のClaude Codeが5時間制限に達したのでチームに任せて…という感じで進んでいきました。

ベンチマーク待ちも密かなボトルネックだったので, 三人が闇雲に同時に改善を入れるより, ある程度肩の力を抜いて改善を入れていたのがうまく回った理由の1つでした。

おわりに

ISUCONはとても楽しかったです! 私にとってISUCONは, 練習会に出たり合宿したりしながら三人でわいわい準備するところまで含めて, 毎年楽しみなイベントです。

運営の皆さま, 楽しい問題と一日をありがとうございました!

comments powered by Disqus

Support Me on Ko-fi