Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ISUCONにPHPで挑み続けてできるようになっ(てき)たこと / phperkaigi2025
Search
blue_goheimochi
March 23, 2025
Technology
0
260
ISUCONにPHPで挑み続けてできるようになっ(てき)たこと / phperkaigi2025
PHPerKaigi 2025のLT登壇資料です。
https://phperkaigi.jp/2025/
blue_goheimochi
March 23, 2025
Tweet
Share
More Decks by blue_goheimochi
See All by blue_goheimochi
依存パッケージの更新はコツコツが勝つコツ! / phpcon_nagoya2025
blue_goheimochi
3
430
コミュニケーションを「パス」のやりとりと捉え大切にしていること / dai-kichijojipm-2024
blue_goheimochi
2
3.6k
「手動オペレーションに定評がある」と言われた私が心がけていること / phpcon_odawara2024
blue_goheimochi
4
2k
芝生の障害対応・メンテナンスについて語る / ya8-2024
blue_goheimochi
1
130
「わたしたちのコード」を安定させるためにフレームワークとの距離を保つ / phperkaigi2024
blue_goheimochi
5
2.5k
コードを計測することで捉える問題点 / phpcondo2024
blue_goheimochi
5
1.2k
Laravelのコードとわたしたちのコードとの距離を保つ / phpcon2023
blue_goheimochi
1
2.3k
リンケージにおけるアプリケーションコードとの付き合い方とそれを支えるコミュニケーション / drobe_pixiv_linkage-20230905
blue_goheimochi
1
610
推測しないで、計測し、判断する! 〜カイゼンのためのステップ考察〜 / phpconfuk2023
blue_goheimochi
4
2.8k
Other Decks in Technology
See All in Technology
[VPoE Global Summit] サービスレベル目標による信頼性への投資最適化
satos
0
220
クラウドとリアルの融合により、製造業はどう変わるのか?〜クラスメソッドの製造業への取組と共に〜
hamadakoji
0
360
Azureコストと向き合った、4年半のリアル / Four and a half years of dealing with Azure costs
aeonpeople
1
250
webpack依存からの脱却!快適フロントエンド開発をViteで実現する #vuefes
bengo4com
2
2.5k
会社を支える Pythonという言語戦略 ~なぜPythonを主要言語にしているのか?~
curekoshimizu
3
570
RDS の負荷が高い場合に AWS で取りうる具体策 N 連発/a-series-of-specific-countermeasures-available-on-aws-when-rds-is-under-high-load
emiki
7
4.5k
「改善」ってこれでいいんだっけ?
ukigmo_hiro
0
410
OpenTelemetry が拡げる Gemini CLI の可観測性
phaya72
2
1.9k
Introduction to Sansan, inc / Sansan Global Development Center, Inc.
sansan33
PRO
0
2.8k
あなたの知らない Linuxカーネル脆弱性の世界
recruitengineers
PRO
3
150
Kubernetes self-healing of your workload
hwchiu
0
380
NLPコロキウム20251022_超効率化への挑戦: LLM 1bit量子化のロードマップ
yumaichikawa
1
190
Featured
See All Featured
Code Reviewing Like a Champion
maltzj
526
40k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.7k
GraphQLの誤解/rethinking-graphql
sonatard
73
11k
GraphQLとの向き合い方2022年版
quramy
49
14k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
10
880
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
230
22k
We Have a Design System, Now What?
morganepeng
53
7.8k
Visualization
eitanlees
149
16k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
36
6.1k
Raft: Consensus for Rubyists
vanstee
140
7.2k
Agile that works and the tools we love
rasmusluckow
331
21k
Speed Design
sergeychernyshev
32
1.2k
Transcript
ISUCONにPHPで挑み続けて できるようになっ(てき)たこと PHPerKaigi 2025 2025.03.23 Yuta Ohashi
青ごへいもち / @blue_goheimochi 大橋 佑太 株式会社リンケージ ランニング, サッカー, フットサル, キャンプ
浜松まつり, PUBG MOBILE, けん玉 さわやかのげんこつハンバーグ おおはし ゆうた
ISUCONに
参加すること
8回!
8回! チームメンバーもずっと同じ
7 ISUCON 過去の成績(参考順位) • 2017年 - • 2018年 - •
2019年 - • 2020年 - • 2021年 - • 2022年 - • 2023年 - • 2024年 -
8 ISUCON 過去の成績(参考順位) • 2017年 - ISUCON7 予選( Fail /
407組 ) • 2018年 - • 2019年 - • 2020年 - • 2021年 - • 2022年 - • 2023年 - • 2024年 -
9 ISUCON 過去の成績(参考順位) • 2017年 - ISUCON7 予選( Fail /
407組 ) • 2018年 - ISUCON8 予選( Fail / 528組 ) • 2019年 - • 2020年 - • 2021年 - • 2022年 - • 2023年 - • 2024年 -
10 ISUCON 過去の成績(参考順位) • 2017年 - ISUCON7 予選( Fail /
407組 ) • 2018年 - ISUCON8 予選( Fail / 528組 ) • 2019年 - ISUCON9 予選( 145位 / 598組 ) • 2020年 - • 2021年 - • 2022年 - • 2023年 - • 2024年 -
11 ISUCON 過去の成績(参考順位) • 2017年 - ISUCON7 予選( Fail /
407組 ) • 2018年 - ISUCON8 予選( Fail / 528組 ) • 2019年 - ISUCON9 予選( 145位 / 598組 ) • 2020年 - ISUCON10 予選( 149位 / 490組 ) • 2021年 - • 2022年 - • 2023年 - • 2024年 -
12 ISUCON 過去の成績(参考順位) • 2017年 - ISUCON7 予選( Fail /
407組 ) • 2018年 - ISUCON8 予選( Fail / 528組 ) • 2019年 - ISUCON9 予選( 145位 / 598組 ) • 2020年 - ISUCON10 予選( 149位 / 490組 ) • 2021年 - ISUCON11 予選( 163位 / 598組 ) • 2022年 - • 2023年 - • 2024年 -
13 ISUCON 過去の成績(参考順位) • 2017年 - ISUCON7 予選( Fail /
407組 ) • 2018年 - ISUCON8 予選( Fail / 528組 ) • 2019年 - ISUCON9 予選( 145位 / 598組 ) • 2020年 - ISUCON10 予選( 149位 / 490組 ) • 2021年 - ISUCON11 予選( 163位 / 598組 ) • 2022年 - ISUCON12 予選( 142位 / 698組 ) • 2023年 - • 2024年 -
14 ISUCON 過去の成績(参考順位) • 2017年 - ISUCON7 予選( Fail /
407組 ) • 2018年 - ISUCON8 予選( Fail / 528組 ) • 2019年 - ISUCON9 予選( 145位 / 598組 ) • 2020年 - ISUCON10 予選( 149位 / 490組 ) • 2021年 - ISUCON11 予選( 163位 / 598組 ) • 2022年 - ISUCON12 予選( 142位 / 698組 ) • 2023年 - ISUCON13( Fail / 694組 ) • 2024年 -
非常に芳しくない ように感じてた
自分は
自分は 成長
自分は 成長 できているのか…??
不安
不安 不安
不安 不安
不安 不安
不安 不安
何事も 思うような結果が 出ないと 「不安」は感じる
25 ISUCON 過去の成績(参考順位) • 2017年 - ISUCON7 予選( Fail /
407組 ) • 2018年 - ISUCON8 予選( Fail / 528組 ) • 2019年 - ISUCON9 予選( 145位 / 598組 ) • 2020年 - ISUCON10 予選( 149位 / 490組 ) • 2021年 - ISUCON11 予選( 163位 / 598組 ) • 2022年 - ISUCON12 予選( 142位 / 698組 ) • 2023年 - ISUCON13( Fail / 694組 ) • 2024年 - ISUCON14( 73位 / 834組 )
26 ISUCON 過去の成績(参考順位) • 2017年 - ISUCON7 予選( Fail /
407組 ) • 2018年 - ISUCON8 予選( Fail / 528組 ) • 2019年 - ISUCON9 予選( 145位 / 598組 ) • 2020年 - ISUCON10 予選( 149位 / 490組 ) • 2021年 - ISUCON11 予選( 163位 / 598組 ) • 2022年 - ISUCON12 予選( 142位 / 698組 ) • 2023年 - ISUCON13( Fail / 694組 ) • 2024年 - ISUCON14( 73位 / 834組 )← PHPのチームでは2位…!
27 ISUCON 過去の成績(参考順位) • 2017年 - ISUCON7 予選( Fail /
407組 ) • 2018年 - ISUCON8 予選( Fail / 528組 ) • 2019年 - ISUCON9 予選( 145位 / 598組 ) • 2020年 - ISUCON10 予選( 149位 / 490組 ) • 2021年 - ISUCON11 予選( 163位 / 598組 ) • 2022年 - ISUCON12 予選( 142位 / 698組 ) • 2023年 - ISUCON13( Fail / 694組 ) • 2024年 - ISUCON14( 73位 / 834組 )← PHPのチームでは2位…! PHP1位のチームとは ダブルスコアの差
28 目次 •できるようになっ(てき)たこと •「できる」を感じたポイント •どう成長を捉えていくとよいか? •まとめ
29 ISUCONってなに??
30 ISUCONってなに??
できるようになっ(てき)たこと
32 できるようになっ(てき)たこと • 準備 • 各サーバーにansibleで共通設定をいれる • GitHubへのコード・設定のバックアップの自動化 • ボトルネック特定
• NGINXのログの設定 – アクセスログからボトルネックをみる • MySQLのスローログの設定 – pt-query-digestなどでボトルネックをみる • 改善 • インデックスを貼る • アプリケーションサーバーとデータベースサーバーを分ける • 画像のキャッシュが効くようにする • opcacheの設定をする • preloadの設定をする • その他 • 素振りの環境をterraformで構築 • などなど
33 できるようになっ(てき)たこと ボトルネックの特定はできるようになってきているなという実感 • Before • 最初は本当に「何から手をつければ…」という状態だった • 「チューニングしたけど、ちゃんと改善されているのかも分からな い」
• After • 「このログのここを見ればよい」が分かってきている • 「チューニングに自信がもてる」状態が増えてきている
34 できるようになっ(てき)たこと ボトルネックの特定はできるようになってきているなという実感 • Before • 最初は本当に「何から手をつければ…」という状態だった • 「チューニングしたけど、ちゃんと改善されているのかも分からな い」
• After • 「このログのここを見ればよい」が分かってきている • 「チューニングに自信がもてる」状態が増えてきている
35 できるようになっ(てき)たこと 「チューニングに自信が持てる」状態が増えてきている • 一定、ISUCON文脈ではあるが… • ≒「推測するな、計測せよ」が意識できるようになってきている • 計測 →
ボトルネックの特定 → 判断 → 改善 • 特に「判断」の精度が上がってきた感触がある • こういう傾向であれば、preloadの設定が効くだろうのような判断 • 闇雲な手ではなく、可能性の高い手を複数持つ・選択する意識
「できる」を感じたポイント
37 「できる」を感じたポイント ISUCON13の苦い記憶のアウトプット
38 「できる」を感じたポイント 「できる」にはグラデーションがあると認識した • 「できる」は 0 or 1 ではない •
「ここまではできている、ここまではできていない」 • 自分自身で(目標に対して)「できない」と「できる」の境目 を意識できているか?
どう成長を捉えていくとよいか?
40 どう成長を捉えていくとよいか? 「できること」「できないこと」を認識する・認める • 「できないことはダメなことだ」という想いが強かった • 「できること」「できないこと」をちゃんと認識することが必要 • 「ここまではできている」と思えると「じゃあそこからどうす る?」を考えやすくなる
• 「できない」は「不安」は消えないが、認識できてれば自分自身でコ ントロールできていると考えて良い • 「できない」を一定ポジティブに捉えられる
刻むんだ
その行動を 努力と呼ぶ
逆も大事
自分が登れた 小さいステップを 認識する
努力できた行動を 自分自身で認める (メタ認知)
まとめ
47 まとめ • ISUCONにPHPで挑み続けてできるようにな(って)きたこと • PHP…あんまり…関係なかったですが…(マインド寄り) • できるようになってきたことは実は色々あった • 自分で「できた」を意識し「できない」もまた意識する
• それにより、ここまでの「成長」とここからの「成長」をより意 識できるんじゃないかなと思っています
48 まとめ • PHPerKaigiでさまざまなトークを聞いたり、人と話して、 • 「ここはできてるな」「ここはできてないな」が少なからず心の 中に生まれたんじゃないかなと思います
49 まとめ • PHPerKaigiでさまざまなトークを聞いたり、人と話して、 • 「ここはできてるな」「ここはできてないな」が少なからず心の 中に生まれたんじゃないかなと思います • そう、「成長」の準備はできている!
明日からも 「成長」していくぞ !!!!!1