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
最近の若者はsshしないらしいですよ / isu-isu-h
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
ikura-hamu
December 23, 2023
710
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
最近の若者はsshしないらしいですよ / isu-isu-h
https://github.com/reactive-futakotamagawa/isu-isu-h-13
https://trap.jp/post/2047/
ikura-hamu
December 23, 2023
More Decks by ikura-hamu
See All by ikura-hamu
traP の部内 ISUCON とそれを支えるポータル / PISCON Portal
ikura_hamu
0
400
Featured
See All Featured
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.8k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
120k
Build your cross-platform service in a week with App Engine
jlugia
234
18k
A Tale of Four Properties
chriscoyier
163
24k
Navigating Weather and Climate Data
rabernat
0
250
SEO for Brand Visibility & Recognition
aleyda
0
4.6k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
250
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.9k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
260
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
350
Transcript
最近の若者はssh しない( する) らしいですよ @ikura-hamu / traP ISUCON LT
自己紹介 いくら・はむ (@ikura-hamu) 東京工業大学 学士2 年 Go (サーバーサイド) ISUCON13 は「リアクティブ二子玉川~♪ 」とし
て初めて出場しました。 2023/12/23 traP ISUCON LT 2 / 20
今日話す内容 ISUCON 用ツール群 「isu-isu-h 」 https://trap.jp/post/2047/ 2023/12/23 traP ISUCON LT
3 / 20
ISUCON で、何してますか? 2023/12/23 traP ISUCON LT 4 / 20
ISUCON で、何してますか? 高速化のために改善 それはそう 本質 改善以外は? ツール導入 計測 デプロイ などなど…
2023/12/23 traP ISUCON LT 5 / 20
ISUCON で、何してますか? 高速化のために改善 それはそう 本質 改善以外は? ツール導入 計測 デプロイ などなど…
ここ、もったいなくないですか? 2023/12/23 traP ISUCON LT 6 / 20
isu-isu-h 出現前の作業 場所 やること 1 手元のターミナル commit 、push 2 問題サーバー
各サーバーに ssh して pull 、設定ファイルの反映 (Makefile) 3 問題サーバー いろいろビルド、再起動 4 ブラウザ ベンチマーク回す 5 問題サーバー プロファイラ(pprof) を動かす 6 問題サーバー CPU などのメトリクスを眺める 7 問題サーバー スローログ、アクセスログをまとめて Discord に送る 8 ブラウザ pprof の結果を見る 9 ブラウザ、Discord 、エディタ … 計測結果を踏まえて改善する 2023/12/23 traP ISUCON LT 7 / 20
isu-isu-h 出現前の作業 場所 やること 1 手元 commit 、push 2 サーバー
各サーバーに ssh して pull 、設定ファイルの反映 3 サーバー いろいろビルド、再起動 4 ブラウザ ベンチマーク回す 5 サーバー プロファイラ(pprof) を動かす 6 サーバー CPU などのメトリクスを眺める 7 サーバー スローログ、アクセスログをまとめて Discord に送 る 8 ブラウザ pprof の結果を見る 9 たくさん 計測結果を踏まえて改善する 問題点 たくさんあるサーバーごと に ssh 接続してコマンドを 実行する必要がある サーバー間違いが発生 するかも 改善するときに見る場所が 散らばる スロークエリとアクセ スログは Discord pprof はブラウザ 2023/12/23 traP ISUCON LT 8 / 20
思想 ISUCON は入れた改善が多ければ多いほどいい 改善と直接関係ない作業は極力減らしたい ⇒ ツールを作ろう 2023/12/23 traP ISUCON LT
9 / 20
isu-isu-h 1. デプロイを 1 コマンドで 2. 見たい情報は全部ブラウザで を実現して、 改善サイクルのスピードを上げる ためのツール
ansible と observer の 2 つに大きく分けられる 2023/12/23 traP ISUCON LT 10 / 20
デプロイを 1 コマンドで ansible を使う 初動 計測で用いるツールの導入 Git リポジトリのセットアップ 設定ファイルのコピー
2023/12/23 traP ISUCON LT 11 / 20
デプロイを 1 コマンドで ansible を使う デプロイ ブランチを指定して GitHub から pull
設定ファイルの反映 MySQL 、nginx などのミドルウェア再起動 アプリのビルド、再起動 ログローテーション 2023/12/23 traP ISUCON LT 12 / 20
見たい情報を全部ブラウザで メトリクス、ログ確認 ⇒ Grafana Prometheus を使って node_exporter 、systemd_exporter からメトリクスを取ってきて、 Grafana
で表示した。 Promtail で systemd のログを送り、 Loki に貯めてブラウザで見れるよう にした プリントデバッグで活躍。 2023/12/23 traP ISUCON LT 13 / 20
見たい情報を全部ブラウザで 計測結果確認 ⇒ pprotein (NaruseJun 製ツール) スローログ (slp) アクセスログ (alp)
pprof を見れるツール。 これを改造して pt-query-digest も見れるようにした。 めっちゃ使いやすかったです。ありがとうございます。 2023/12/23 traP ISUCON LT 14 / 20
見たい情報を全部ブラウザで データベース操作 ⇒ adminer MySQL をブラウザから操作する。インデックスを貼ったり EXPLAIN を 実行したりするのに使った。 2023/12/23
traP ISUCON LT 15 / 20
isu-isu-h が あらわれた ! 場所 やること 1 手元 commit 、push
2 手元 ansible でデプロイ 3 ブラウザ ベンチマーク回す 4 ブラウザ いろいろな計測結果を見る 5 ブラウザ/ エディタ 計測結果を踏まえて改善する 変わったところ ベンチマークを回すまでの 過程がシンプルに 使う場所が「手元のターミ ナル」「ブラウザ」「エデ ィタ」だけ ssh して行う作業が無くな った ( ツール名の由来) 2023/12/23 traP ISUCON LT 16 / 20
isu-isu-h を作ってよかったこと 初動(~GitHub リポジトリ に設定済みのファイルがす べて上がっている状態)ま で15 分 見る場所が減るのは想像以 上に楽
ベンチマークを回すまでの 手間が少ないので、気軽に 回せる いろんな技術にちょっとず つ詳しくなった ansible Docker 、Docker Compose Grafana 、Prometheus 、 Loki ssh ( 結局内部では ssh している) などなど 2023/12/23 traP ISUCON LT 17 / 20
isu-isu-h のよくないところ 管理しにくい 「当日までに動けばいいや」で作ってたのでコードが読みにくい チームメンバーのうち自分しか構成が分からない 一部設定がURL 依存 脳内ドキュメント 2023/12/23 traP
ISUCON LT 18 / 20
isu-isu-h のよくないところ 管理しにくい 「当日までに動けばいいや」で作ってたのでコードが読みにくい チームメンバーのうち自分しか構成が分からない 一部設定がURL 依存 脳内ドキュメント ツールづくりに夢中になって練習できなかった 2023/12/23
traP ISUCON LT 19 / 20
来年は isu-isu-h で たくさん練習して 勝つ! GitHub reactive-futakotamagawa/ isu-isu-h-13 2023/12/23 traP
ISUCON LT 20 / 20