diff options
Diffstat (limited to 'docs/storage-io-budget.md')
| -rw-r--r-- | docs/storage-io-budget.md | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/docs/storage-io-budget.md b/docs/storage-io-budget.md new file mode 100644 index 0000000..bdee602 --- /dev/null +++ b/docs/storage-io-budget.md @@ -0,0 +1,20 @@ +# Storage I/O budget + +成功応答前のdurability flush保証を維持し、論理I/O counterを正式な合否判定に使用する。物理SSD測定値はOS cacheと機種差があるため同一環境内の参考値とする。 + +| 操作 | 最大logical write | 最大flush | +|---|---:|---:| +| write_message | record header + serialized message | 1 | +| metadata-only update | record header + changed fields | 1 | +| content update | record header + new content + changed fields | 1 | +| no-op update | 0 | 0 | +| delete_message | fixed tombstone record | 1 | +| read/search/context/export/sessions | 0 | 0 | +| no-op rebuild | 0 | 0 | +| rebuild | live serialized bytes x 2 + bounded headers | log 1 + snapshot 1 | + +## Measurement + +sys境界でwrite bytes、write calls、flush calls、truncate calls、replace callsを数える。Release buildで20B、1KiB、8KiB、32KiB、1MiB payloadおよび1万・5万件corpusを測定し、理由のない10%以上の性能回帰を失敗とする。 + +metadata-only UPDATEはfield bitmaskと差分だけを追記し、content長に比例してはならない。読取り系操作は索引とメモリ上のMessageだけを利用し、アクセス記録を永続化しない。 |
