THPDFSpillStatistics レコード
圧縮スピルストリームの論理/物理サイズ、ブロック圧縮の内訳、非同期ライタの動きを報告します
宣言
THPDFSpillStatistics= record
LogicalBytes: Int64;
PhysicalBytes: Int64;
BlockCount: Integer;
CompressedBlockCount: Integer;
RawBlockCount: Integer;
AsyncWriteBatchCount: Int64;
AsyncWriteBlockCount: Int64;
ProducerWaitCount: Int64;
PeakQueuedBytes: Int64;
end;
ユニット
HPDFObjs
フィールド
| フィールド | 目的 |
|---|---|
LogicalBytes | ストリームがリーダに見せる非圧縮データサイズ |
PhysicalBytes | バックエンドのスピルファイルの現在のディスク上サイズ |
BlockCount | ブロックオフセットテーブルが追跡するブロックの総数 |
CompressedBlockCount | 圧縮して保存されたブロックの数 |
RawBlockCount | 圧縮の利得がなくそのまま保存されたブロックの数 |
AsyncWriteBatchCount | バックグラウンドライタスレッドに渡された書き込みバッチの数 |
AsyncWriteBlockCount | バックグラウンドライタが実際に書き込んだブロックの数 |
ProducerWaitCount | 書き込みキューが満杯で、生産スレッドが待たされた回数 |
PeakQueuedBytes | 非同期書き込み向けにキューイングされたバイト数の最大値 |
使用上の注意
- 保留中の書き込みをフラッシュした後に
THPDFCompressedSpillStream.GetStatisticsが返し、ディスクに実体化したストリームではTHPDFLazyFileStream.GetSpillStatisticsが返します - ロード済みストリームキャッシュのレポートは、これらの値を
THPDFLoadedStreamCacheInfoのスピル系フィールドに集約します ProducerWaitCountとPeakQueuedBytesは、メモリ圧迫時の非同期ライタのバックプレッシャーを可視化します