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揭示内存压力下异步写入器的背压情况