#performance
11件の記事
-
EXPLAIN ANALYZEでLaravelの遅いクエリを実測!loopsの読み方とtoBase()の落とし穴
EXPLAIN の推定だけでは分からなかった遅いクエリを、MySQL の EXPLAIN ANALYZE で実測しました。actual time・rows・loops の読み方と、Laravel のクエリをそのまま流すマクロ、toBase() を挟む理由をまとめます。
-
MySQLの使っていないインデックス、いきなり消さずに「不可視」で2週間様子を見てから消すようにした話
Laravel のプロジェクトで増えすぎたMySQLのインデックスを、sys.schema_unused_indexes で洗い出し、INVISIBLE にして様子を見てから削除する手順にしました。統計がリセットされる落とし穴や、外部キーで消せないときの対処も書いています。
-
RedisのキャッシュでAPIが別次元に速くなった話!キャッシュの消し方とCache Stampede対策
DBへの問い合わせが増えて遅くなっていたAPIにRedisのキャッシュ層を追加したところ、レスポンス速度が大幅に改善し、DBの負荷もかなり下がりました。
-
Laravel OctaneをFrankenPHPで入れたらAPIが別次元に速くなった話!メモリリークっぽい挙動の対処も
Laravelの標準PHP-FPM構成にLaravel Octane(FrankenPHP)を導入したところ、毎リクエストの再起動コストがなくなり、APIの応答速度がかなり改善しました。
-
React Compilerを入れたらuseMemo・useCallbackがほぼ消えた話!実際に消えたコードを紹介
React Compiler を実際に仕事のプロジェクトに導入してみたら、手動で書いていた useMemo・useCallback の大半が不要になりました。導入手順とハマった点をまとめています。
-
TypeScript 7.0でビルドが最大10倍速くなったので試してみた話【ESLintでハマった点も】
TypeScript 7.0がGoネイティブコンパイラへの全面移植によってフルビルドが8〜10倍高速化。大規模プロジェクトで実際に触ってみた所感と移行時のポイントをまとめました。
-
LaravelのN+1問題を解消したらAPIが速くなった話!with()以外の対策も
LaravelのEloquentでN+1問題が起きていたAPIにEager Loadingを導入したところ、クエリ数が大幅に減り、応答速度がかなり速くなりました。その手順と感想をまとめます。
-
TurborepoでモノレポのCIビルドが劇的に速くなった話!キャッシュが効かないときの確認ポイント
複数パッケージを管理するモノレポに Turborepo を導入したところ、変更のないパッケージのビルドがキャッシュされ、CI の実行時間がかなり短縮されました。その設定と効果をまとめます。
-
GitHub Actionsのnpmキャッシュ設定でCIが速くなった話!actions/cacheの使い方と注意点
毎回 npm install を走らせていた CI ワークフローを actions/cache でキャッシュするようにしたところ、実行時間がかなり短縮されました。その設定と手順をまとめます。
-
Dockerのmulti-stage buildでイメージを軽量化!Laravelでの書き方とビルド時間の短縮
開発用 Dockerfile のまま本番にデプロイしていたイメージを multi-stage build で整理したら、サイズが大幅に減りました。その手順と考え方をまとめます。
-
Laravelのpaginate()が遅い原因はCOUNTクエリ!simplePaginate()で劇的に速くした話
商品一覧の遅さを調べる中で、Laravel の paginate() が発行する COUNT クエリが原因候補だと判明しました。simplePaginate() に切り替えた結果と考え方をまとめます。