メインコンテンツまでスキップ
2022
41

スレッドプールのコアスレッド数の計算方法

計算集約型、IO 集約型、混合型という 3 つのワークロードから出発して、スレッドプールのコアスレッド数の見積もり公式と、なぜ最終的には負荷テストによる調整が必要なのかを論じます。

42

InnoDB の BufferPool 徹底解説

InnoDB BufferPool の階層構造とページ管理を詳しく解説:Page Hash、Free/LRU/Flush リスト、ホット・コールドデータの分離、そしてダーティページをディスクにフラッシュする 4 つのタイミング。

43

MySQL の実行チェーン

1 本の SQL が MySQL 内部でたどる完全な実行チェーンを整理します。コネクタからエグゼキュータまで、Buffer Pool がディスク IO をどう減らすか、そして Redo Log・Bin Log・Undo Log それぞれの役割と 2 フェーズコミットについて解説します。

44

HTTP プロトコルの発展史

HTTP が 0.9 から 3.0 へと進化してきた流れを整理します。各世代のプロトコルが何を解決し、何を課題として残したのか、そして QUIC がトランスポート層をどう再設計したのかを見ていきます。

45

JVM スレッドプールの拡張メカニズム

HotSpot では Java スレッドとカーネルスレッドが 1 対 1 でマッピングされ、作成・破棄のコストが高くつきます。ThreadPoolExecutor のコアパラメータ、タスク処理と拡張・回収のフロー、そして無界キューによって設定が無効になる落とし穴を整理します。

46

ブルームフィルタ徹底解説

ビットマップと複数ハッシュから出発して、ブルームフィルタの判定の特性、偽陽性率の由来とトレードオフ、そしてなぜ元の構造は削除をサポートせず、カウンティングブルームフィルタがどうそれを補うのかを整理します。

47

隠れたパフォーマンスキラー「False Sharing」

CPU の多段キャッシュと Cache Line から説き起こし、マルチコア並行環境における False Sharing(偽共有)問題の成因と、キャッシュラインパディングなどの一般的な回避手段を分析します。

48

セキュアコンテナランタイム Kata

従来のコンテナはホストとカーネルを共有するため、分離性の面でセキュリティ上の懸念があります。本記事では、軽量な仮想マシンによってカーネルレベルの分離を実現する Kata のアプローチと、その特徴・課題を紹介します。

49

Istio のトラフィックミラーリング

k8s クラスタで Istio の Envoy プロキシを利用してトラフィックミラーリングを実現:実際のリクエストを複製してシャドウサービスに送り、レスポンスは破棄されるため業務に完全に透過的。原理、VirtualService の設定の書き方、実際にハマったポイントを整理します。

50

分散トランザクションと Seata

マイクロサービスアーキテクチャでは各ビジネスモジュールが独立した DB ストレージノードを持ち、DB を跨ぐ呼び出しが分散トランザクション問題をもたらします。本記事では Seata の役割分担と、AT、TCC、Saga、XA という 4 つのモードの原理とトレードオフを整理します。