詳解 システムパフォーマンスを読む⑩
前回の続き
P.30あたりから
キャッシング
データをディスクではなくメモリに展開する
キャッシュの種類がレベル1, 2, 3とあり、ストレージサイズ、レイテンシがこの順で上がる
キャッシュのパフォーマンスの代表:ヒット率
ヒット率=ヒット/全アクセス(ヒット+ミス)
ヒット率が高ければ高いほど、指数的にパフォーマンスが上がる
※98%と99%の差は、10%と11%の差よりよほど大きい
キャッシュミス率:1秒当たりのキャッシュミス
ヒット率が高くても、キャッシュミス率が高ければ、それだけミス数が多くなり実行時間が遅くなる
上記のヒット率と合わせて、実行時間を以下のように整理できる
実行時間=(ヒット率*ヒットレイテンシ)+(ミス率*ミスレイテンシ)
キャッシュの限られたスペースに何を格納するか
キャッシュ保持ポリシーと、キャッシュ削除ポリシーがある
※何を残すか、または何から消すか、をポリシーとして定義したもの
MRU(Most Recently Used):キャッシュ保持ポリシーで、もっとも最近使われたキャッシュを残していく
LRU(Least Recently Used):キャッシュ削除ポリシーで、もっとも古いキャッシュを削除する(上と同義)
MFU(Most Frequency Used)とLFU(Least Frequency Used)もある
ホット、コールド、ウォームキャッシュ
キャッシュの状態を表すいくつかの表現
コールドキャッシュ:空、または不要なデータが格納されたキャッシュ、ヒット率は0
ホットキャッシュ:よく要求されるデータがセットされていてる状況、ヒット率は99%とか
ウォームキャッシュ:役立つデータもキャッシュしているが、ヒット率は高くない状況
最初に初期化されたメモリは、コールド状態である
そこからウォームアップを挟み、最終的にホットキャッシュとなる
以上