1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
|
# tiny-convmem-mcp 負荷テストレポート
- サーバ: `build\windows-vs2026\src\Release\tiny-convmem-mcp.exe`
- ビルド: release
- exe mtime: 2026-06-30 21:51:05
- iterations: 100
- warmup: 5
- 計測日: 2026-06-30 21:56:23
- raw JSON: `benchmark_results.json`
## レイテンシサマリ
| scenario | succ | fail | p50[ms] | p95[ms] | p99[ms] | mean[ms] | ops/s |
|---|---|---|---|---|---|---|---|
| write_message (small ~20B) | 100 | 0 | 0.470 | 0.791 | 1.092 | 0.615 | 1626.88 |
| write_message (medium 1KiB) | 100 | 0 | 0.817 | 1.672 | 2.104 | 0.896 | 1116.07 |
| write_message (P1 8KiB) | 100 | 0 | 2.167 | 3.441 | 4.012 | 2.344 | 426.68 |
| write_message (large 32KiB) | 100 | 0 | 5.907 | 7.661 | 9.328 | 6.200 | 161.29 |
| write_message (P1 1MiB) | 5 | 0 | 90.093 | 91.422 | 91.534 | 88.483 | 11.30 |
| write_message (with tags) | 100 | 0 | 0.391 | 0.882 | 1.375 | 0.473 | 2115.41 |
| startup index build (P1 1KiB x20) | 1 | 0 | 21.179 | 21.179 | 21.179 | 21.179 | 47.22 |
| rebuild_index (P1 1KiB x20) | 1 | 0 | 13.273 | 13.273 | 13.273 | 13.273 | 75.34 |
| startup index build (P1 8KiB x20) | 1 | 0 | 44.862 | 44.862 | 44.862 | 44.862 | 22.29 |
| rebuild_index (P1 8KiB x20) | 1 | 0 | 41.827 | 41.827 | 41.827 | 41.827 | 23.91 |
| startup index build (P1 32KiB x20) | 1 | 0 | 107.591 | 107.591 | 107.591 | 107.591 | 9.29 |
| rebuild_index (P1 32KiB x20) | 1 | 0 | 104.675 | 104.675 | 104.675 | 104.675 | 9.55 |
| startup index build (P1 1MiB x20) | 1 | 0 | 912.258 | 912.258 | 912.258 | 912.258 | 1.10 |
| rebuild_index (P1 1MiB x20) | 1 | 0 | 1074.865 | 1074.865 | 1074.865 | 1074.865 | 0.93 |
| read_messages (100 msgs) | 100 | 0 | 0.386 | 0.480 | 1.145 | 0.418 | 2392.33 |
| search_messages (global, no session) | 100 | 0 | 0.179 | 0.285 | 0.913 | 0.206 | 4844.54 |
| search_messages (scoped to session) | 100 | 0 | 0.179 | 0.227 | 0.828 | 0.212 | 4725.14 |
| delete_message | 100 | 0 | 0.396 | 0.916 | 1.497 | 0.464 | 2154.14 |
| rebuild_index | 5 | 0 | 8.487 | 9.922 | 9.965 | 8.313 | 120.29 |
| get_system_health | 100 | 0 | 0.136 | 0.173 | 0.306 | 0.143 | 7011.00 |
| recovery (restart + count check) | 1 | 0 | 21.361 | 21.361 | 21.361 | 21.361 | 46.81 |
| recovery small read (1 message check) | 5 | 0 | 16.202 | 18.880 | 19.315 | 16.899 | 59.18 |
| recovery full read (100 msgs) | 5 | 0 | 16.481 | 16.710 | 16.735 | 16.458 | 60.76 |
## MCP 準拠 / エラーチェック
```json
{
"tool_count": 6,
"tool_names": [
"write_message",
"read_messages",
"search_messages",
"delete_message",
"rebuild_index",
"get_system_health"
],
"write_message_properties": [
"session_id",
"role",
"content",
"metadata_json"
],
"write_requires": [
"session_id",
"role",
"content"
],
"jsonrpc_error_response": {
"error_response_present": true,
"has_jsonrpc_field": true,
"has_error_field": true,
"error_code": -32601,
"raw_response": {
"jsonrpc": "2.0",
"id": 2,
"error": {
"code": -32601,
"message": "client not initialized"
}
}
}
}
```
## Domain検索index構築
| payload | iterations | mean[ms] | peak working set[bytes] |
|---:|---:|---:|---:|
| 1024 | 100 | 0.217 | 4665344 |
| 8192 | 100 | 1.299 | 6803456 |
| 32768 | 50 | 3.948 | 10264576 |
| 1048576 | 5 | 34.988 | 17416192 |
## 最終 health
```json
{
"status": "OK",
"format_version": 1,
"log_size": 920,
"snapshot_size": 0,
"active_messages": 10,
"deleted_messages": 0,
"last_sequence": 10,
"recovered_tail": false,
"snapshot_valid": false,
"last_error": ""
}
```
|