THPDFSpillStatistics Record
回報壓縮溢寫 stream 的邏輯與實際大小、區塊壓縮組成,以及非同步寫入器行為
宣告
THPDFSpillStatistics= record
LogicalBytes: Int64;
PhysicalBytes: Int64;
BlockCount: Integer;
CompressedBlockCount: Integer;
RawBlockCount: Integer;
AsyncWriteBatchCount: Int64;
AsyncWriteBlockCount: Int64;
ProducerWaitCount: Int64;
PeakQueuedBytes: Int64;
end;
單元
HPDFObjs
欄位
| 欄位 | 用途 |
|---|---|
LogicalBytes | stream 提供給讀取端的未壓縮資料大小 |
PhysicalBytes | 磁碟上後備溢寫檔目前的大小 |
BlockCount | 區塊偏移表追蹤的區塊總數 |
CompressedBlockCount | 以壓縮形式儲存的區塊數 |
RawBlockCount | 壓縮不划算而原樣儲存的區塊數 |
AsyncWriteBatchCount | 交給背景寫入執行緒的寫入批次數 |
AsyncWriteBlockCount | 背景寫入器實際寫出的區塊數 |
ProducerWaitCount | 生產執行緒因寫入佇列已滿而被迫等待的次數 |
PeakQueuedBytes | 排入非同步寫入的位元組高水位 |
使用說明
- 未決寫入沖刷後由
THPDFCompressedSpillStream.GetStatistics回傳;落地到磁碟的 stream 則由THPDFLazyFileStream.GetSpillStatistics回傳 - 已載入 stream 快取報告會把這些值彙總進
THPDFLoadedStreamCacheInfo的溢寫欄位 ProducerWaitCount與PeakQueuedBytes顯示記憶體壓力下非同步寫入器的背壓狀況