blob: bdee602377bc6ea66c198add425022a858a6b9f2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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だけを利用し、アクセス記録を永続化しない。
|