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
190
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
340
コミュニケーションを「パス」のやりとりと捉え大切にしていること / dai-kichijojipm-2024
blue_goheimochi
2
3.2k
「手動オペレーションに定評がある」と言われた私が心がけていること / phpcon_odawara2024
blue_goheimochi
4
1.8k
芝生の障害対応・メンテナンスについて語る / ya8-2024
blue_goheimochi
1
97
「わたしたちのコード」を安定させるためにフレームワークとの距離を保つ / phperkaigi2024
blue_goheimochi
5
2.3k
コードを計測することで捉える問題点 / phpcondo2024
blue_goheimochi
5
1.2k
Laravelのコードとわたしたちのコードとの距離を保つ / phpcon2023
blue_goheimochi
1
2.2k
リンケージにおけるアプリケーションコードとの付き合い方とそれを支えるコミュニケーション / drobe_pixiv_linkage-20230905
blue_goheimochi
1
580
推測しないで、計測し、判断する! 〜カイゼンのためのステップ考察〜 / phpconfuk2023
blue_goheimochi
4
2.4k
Other Decks in Technology
See All in Technology
AI技術トレンド勉強会 #1MCPの基礎と実務での応用
nisei_k
1
200
Tensix Core アーキテクチャ解説
tenstorrent_japan
0
360
ゆるSRE #11 LT
okaru
1
610
Tenstorrent 開発者プログラム
tenstorrent_japan
0
310
生成AIをテストプロセスに活用し"よう"としている話 #jasstnano
makky_tyuyan
0
170
堅牢な認証基盤の実現 TypeScriptで代数的データ型を活用する
kakehashi
PRO
2
220
“プロダクトを好きになれるか“も QAエンジニア転職の大事な判断基準だと思ったの
tomodakengo
0
140
Long journey of Continuous Delivery at Mercari
hisaharu
1
210
技術職じゃない私がVibe Codingで感じた、AGIが身近になる未来
blueb
0
120
SFTPコンテナからファイルをダウンロードする
dip
0
260
エンジニア採用から始まる技術広報と組織づくり/202506lt
nishiuma
8
1.7k
Nonaka Sensei
kawaguti
PRO
3
680
Featured
See All Featured
Optimizing for Happiness
mojombo
379
70k
A Tale of Four Properties
chriscoyier
159
23k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
32
2.3k
Scaling GitHub
holman
459
140k
A Modern Web Designer's Workflow
chriscoyier
693
190k
4 Signs Your Business is Dying
shpigford
184
22k
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
30
2.1k
Music & Morning Musume
bryan
46
6.6k
What's in a price? How to price your products and services
michaelherold
245
12k
Typedesign – Prime Four
hannesfritz
42
2.7k
Git: the NoSQL Database
bkeepers
PRO
430
65k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
331
22k
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