感想
- フロントエンドのパフォーマンス改善を2024年現在の価値観にアップデートできたのがよかった
顧客が本当に必要だったもの - パフォーマンス改善編
RDBのパフォーマンス改善
- 仕様を変えるのが一番負荷にきく
- 複雑な仕様がDBパフォーマンスに影響を与える
- スロークエリ
- ロングトランザクション
- 例:購入ボタンが重い
- ロングトランザクション対策
- 先にできること後で出来ることを分割する
- 全部同じテーブルだと分割できない
- ダメな設計の上には何を乗せてもダメ
- テーブルを分割
- 例:検索結果の総件数
count(*)
が重い- indexがきかないと遅い
- Googleは昔出してたけど今はない
- 仕様を削るのが一番きく
- 例:最終ページの番号
- ページングの最終ページが何ページか出す
- 最後のページにアクセスされると重い
- limit offsetのoffsetがでかいと重い
- order逆にしてとるといい
『最高のチューニング』をしないためにすること
インフラのパフォーマンス改善
- 2011年のアプリのチューニング
- diskにアクセスしたら負け
- ハードディスクなので今のSSDと比べると100倍違う
- メモリにおさまらないと一時的にdiskに書く
- 遅くなると処理がたまってコネクション数も増えていく
- 2024年ならお金をつぎ込んで解決できる
- ただsどこかで限界が来る
- お金をかけずに解決する方法もある
- お金で時間を稼いでその間に対処する
- diskにアクセスしたら負け
- 負荷試験をやるといい
- リリース後に発生する問題の9割は分かる
- ゴールを決めてからやらないと何を試験してるのか分からなくなる
- シナリオも考えて負荷を決める
- リリース後長期運用してる時に突然悪化することも
- DBのデータが溜まってきて実行計画が変わる
- 使ってほしいindexが使われなくなる
re: 光を超えるためのフロントエンドアーキテクチャ
- mizchiさん
- https://20241029-delta.pages.dev/
フロントエンドのパフォーマンス改善
- 一番早いのはCDNから静的htmlを返すこと
- マウスホバーでpreloadとかするとはやいがいろんなコストとの兼ね合い
- 2018と2014の違い
- https://speakerdeck.com/mizchi/guang-wochao-erutamefalsehurontoendoakitekutiya
- 初期ロード重いSPAがなくなってきた
- CDN Edge Workerが枯れてきた
- Core Web Vitalsで投資する動機が生まれた
- 2024のフロントエンドのゴール
- チューニング