Mac 性能测试报告
1. 技术概述与测试背景
1.1 测试背景
本报告旨在深度对比 WarpParse 与 Vector 在高性能日志处理场景下的能力差异。基于最新基线数据,测试覆盖了从轻量级 Web 日志到复杂的安全威胁日志,重点评估两者在单机环境下的解析(Parse)与转换(Transform)性能、资源消耗及规则维护成本。
1.2 被测对象
- WarpParse: 大禹安全公司研发的高性能 ETL 核心引擎,采用 Rust 构建,专为极致吞吐和复杂安全日志分析设计。
- Vector: 开源领域标杆级可观测性数据管道工具,同样采用 Rust 构建,以高性能和广泛的生态兼容性著称。
2. 测试环境与方法
2.1 测试环境
- 平台: Mac M4 Mini
- 操作系统: MacOS
- 硬件规格: 10C16G
2.2 测试范畴 (Scope)
- 日志类型:
- Nginx Access Log (239B): 典型 Web 访问日志,高吞吐场景。
- AWS ELB Log (411B): 云设施负载均衡日志,中等复杂度。
- Sysmon JSON (1K): 终端安全监控日志,JSON 结构,字段较多。
- APT Threat Log (3K): 模拟的高级持续性威胁日志,大体积、长文本。
- Mixed Log (): 上述四类日志混合起来形成的日志类型。
- 数据拓扑:
- File -> BlackHole: 测算引擎极限 I/O 读取与处理能力 (基准)。
- TCP -> BlackHole: 测算网络接收与处理能力。
- TCP -> File: 测算端到端完整落地能力。
- 测试能力:
- 解析 (Parse): 仅进行正则提取/JSON解析与字段标准化。
- 解析+转换 (Parse+Transform): 在解析基础上增加字段映射、富化、类型转换等逻辑。
2.3 评估指标
- EPS (Events Per Second): 每秒处理事件数(核心吞吐指标)。
- MPS (MiB/s): 每秒处理数据量。
- CPU/Memory: 进程平均与峰值资源占用。
- Rule Size: 规则配置文件体积,评估分发与维护成本。
3. 详细性能对比分析
3.1 日志解析能力 (Parse Only)
在纯解析场景下,WarpParse 展现出压倒性的性能优势,尤其在小包高并发场景下。
3.1.1 Nginx Access Log (239B)
| 引擎 | 拓扑 | EPS | MPS | CPU (Avg/Peak) | MEM (Avg/Peak) | 性能倍数 |
|---|---|---|---|---|---|---|
| WarpParse | File -> BlackHole | 2,456,100 | 559.81 | 684% / 825% | 107 MB / 120 MB | 4.5x |
| Vector | File -> BlackHole | 540,540 | 123.20 | 342% / 405% | 231 MB / 251 MB | 1.0x |
| WarpParse | TCP -> BlackHole | 1,737,200 | 395.96 | 507% / 651% | 426 MB / 450 MB | 1.8x |
| Vector | TCP -> BlackHole | 974,100 | 222.02 | 531% / 661% | 233 MB / 238 MB | 1.0x |
| WarpParse | TCP -> File | 1,084,600 | 247.21 | 541% / 722% | 697 MB / 700 MB | 11.9x |
| Vector | TCP -> File | 91,200 | 20.79 | 186% / 195% | 231 MB / 244 MB | 1.0x |
解析规则大小:
- WarpParse:174B
- Vector:416B
3.1.2 AWS ELB Log (411B)
| 引擎 | 拓扑 | EPS | MPS | CPU (Avg/Peak) | MEM (Avg/Peak) | 性能倍数 |
|---|---|---|---|---|---|---|
| WarpParse | File -> BlackHole | 1,012,400 | 396.82 | 827% / 938% | 237 MB / 264 MB | 6.4x |
| Vector | File -> BlackHole | 158,730 | 62.22 | 634% / 730% | 297 MB / 307 MB | 1.0x |
| WarpParse | TCP -> BlackHole | 884,700 | 346.76 | 612% / 814% | 710 MB / 743 MB | 5.4x |
| Vector | TCP -> BlackHole | 163,600 | 64.12 | 629% / 675% | 264 MB / 276 MB | 1.0x |
| WarpParse | TCP -> File | 347,800 | 136.32 | 496% / 615% | 481 MB / 848 MB | 4.7x |
| Vector | TCP -> File | 74,700 | 29.28 | 374% / 410% | 265 MB / 274 MB | 1.0x |
解析规则大小:
- WarpParse:1153B
- Vector:2289B
3.1.3 Sysmon JSON Log (1K)
| 引擎 | 拓扑 | EPS | MPS | CPU (Avg/Peak) | MEM (Avg/Peak) | 性能倍数 |
|---|---|---|---|---|---|---|
| WarpParse | File -> BlackHole | 440,000 | 413.74 | 852% / 944% | 224 MB / 338 MB | 5.7x |
| Vector | File -> BlackHole | 76,717 | 72.14 | 463% / 564% | 295 MB / 313 MB | 1.0x |
| WarpParse | TCP -> BlackHole | 418,900 | 393.90 | 720% / 815% | 456 MB / 461 MB | 3.7x |
| Vector | TCP -> BlackHole | 111,900 | 105.22 | 720% / 809% | 363 MB / 377 MB | 1.0x |
| WarpParse | TCP -> File | 279,700 | 263.01 | 713% / 789% | 441 MB / 453 MB | 4.5x |
| Vector | TCP -> File | 62,100 | 58.39 | 471% / 543% | 344 MB / 356 MB | 1.0x |
解析规则大小:
- WarpParse:1552B
- Vector:3259B
3.1.4 APT Threat Log (3K)
| 引擎 | 拓扑 | EPS | MPS | CPU (Avg/Peak) | MEM (Avg/Peak) | 性能倍数 |
|---|---|---|---|---|---|---|
| WarpParse | File -> BlackHole | 314,200 | 1062.84 | 700% / 826% | 176 MB / 181 MB | 9.3x |
| Vector | File -> BlackHole | 33,614 | 113.71 | 563% / 678% | 261 MB / 278 MB | 1.0x |
| WarpParse | TCP -> BlackHole | 298,200 | 1008.72 | 694% / 762% | 409 MB / 481 MB | 6.5x |
| Vector | TCP -> BlackHole | 46,100 | 155.94 | 849% / 922% | 421 MB / 446 MB | 1.0x |
| WarpParse | TCP -> File | 179,600 | 607.53 | 606% / 853% | 1016 MB / 1988 MB | 5.0x |
| Vector | TCP -> File | 36,200 | 122.45 | 688% / 755% | 369 MB / 397 MB | 1.0x |
解析规则大小:
- WarpParse:985B
- Vector:1759B
3.1.5 Mixed log (平均日志大小:867B)
| 引擎 | 拓扑 | EPS | MPS | CPU (Avg/Peak) | MEM (Avg/Peak) | 性能倍数 |
|---|---|---|---|---|---|---|
| WarpParse | File -> BlackHole | 672,500 | 556.05 | 815% / 904% | 218 MB / 250 MB | 4.7x |
| Vector | File -> BlackHole | 143,608 | 118.74 | 845% / 958% | 271 MB / 290 MB | 1.0x |
| WarpParse | TCP -> BlackHole | 613,000 | 506.85 | 652% / 805% | 365 MB / 580 MB | 3.8x |
| Vector | TCP -> BlackHole | 161,000 | 133.12 | 919% / 957% | 324 MB / 333 MB | 1.0x |
| WarpParse | TCP -> File | 308,400 | 255.00 | 535% / 598% | 320 MB / 346 MB | 4.4x |
| Vector | TCP -> File | 69,500 | 57.47 | 447% / 478% | 370 MB / 388 MB | 1.0x |
解析规则大小:
- WarpParse:3864B
- Vector:7723B
混合日志规则:
- 4类日志按照3:2:1:1混合
3.2 解析 + 转换能力 (Parse + Transform)
引入转换逻辑后,WarpParse 依然保持显著领先,表明其数据处理管线极其高效,转换操作未成为瓶颈。
3.2.1 Nginx Access Log(239B)
| 引擎 | 拓扑 | EPS | MPS | CPU (Avg/Peak) | MEM (Avg/Peak) | 性能倍数 |
|---|---|---|---|---|---|---|
| WarpParse | File -> BlackHole | 1,749,200 | 398.69 | 763% / 866% | 143 MB / 159 MB | 3.7x |
| Vector | File -> BlackHole | 470,312 | 107.20 | 372% / 423% | 254 MB / 280 MB | 1.0x |
| WarpParse | TCP -> BlackHole | 1,219,100 | 277.87 | 485% / 625% | 415 MB / 440 MB | 1.4x |
| Vector | TCP -> BlackHole | 870,500 | 198.41 | 514% / 640% | 238 MB / 258 MB | 1.0x |
| WarpParse | TCP -> File | 797,700 | 181.82 | 492% / 621% | 523 MB / 540 MB | 11.3x |
| Vector | TCP -> File | 70,800 | 16.14 | 161% / 181% | 226 MB / 236 MB | 1.0x |
解析+转换规则大小:
- WarpParse:521B
- Vector:682B
3.2.2 AWS ELB Log(411B)
| 引擎 | 拓扑 | EPS | MPS | CPU (Avg/Peak) | MEM (Avg/Peak) | 性能倍数 |
|---|---|---|---|---|---|---|
| WarpParse | File -> BlackHole | 710,400 | 278.45 | 837% / 912% | 230 MB / 252 MB | 5.5x |
| Vector | File -> BlackHole | 129,743 | 50.85 | 593% / 665% | 283 MB / 298 MB | 1.0x |
| WarpParse | TCP -> BlackHole | 611,800 | 239.80 | 624% / 753% | 478 MB / 487 MB | 4.0x |
| Vector | TCP -> BlackHole | 152,900 | 59.93 | 612% / 678% | 288 MB / 294 MB | 1.0x |
| WarpParse | TCP -> File | 318,200 | 124.72 | 593% / 733% | 409 MB / 547 MB | 5.5x |
| Vector | TCP -> File | 58,200 | 22.81 | 332% / 374% | 276 MB / 288 MB | 1.0x |
解析+转换规则大小:
- WarpParse:1694B
- Vector:2650B
3.2.3 Sysmon JSON Log (1K)
| 引擎 | 拓扑 | EPS | MPS | CPU (Avg/Peak) | MEM (Avg/Peak) | 性能倍数 |
|---|---|---|---|---|---|---|
| WarpParse | File -> BlackHole | 354,800 | 333.63 | 880% / 935% | 157 MB / 170 MB | 6.1x |
| Vector | File -> BlackHole | 58,200 | 54.73 | 431% / 528% | 296 MB / 317 MB | 1.0x |
| WarpParse | TCP -> BlackHole | 299,500 | 281.63 | 665% / 749% | 367 MB / 377 MB | 3.1x |
| Vector | TCP -> BlackHole | 97,200 | 91.40 | 711% / 807% | 399 MB / 424 MB | 1.0x |
| WarpParse | TCP -> File | 219,900 | 206.78 | 719% / 817% | 431 MB / 457 MB | 5.5x |
| Vector | TCP -> File | 40,300 | 37.90 | 391% / 497% | 394 MB / 409 MB | 1.0x |
解析+转换规则大小:
- WarpParse:2249B
- Vector:3782B
3.2.4 APT Threat Log (3K)
| 引擎 | 拓扑 | EPS | MPS | CPU (Avg/Peak) | MEM (Avg/Peak) | 性能倍数 |
|---|---|---|---|---|---|---|
| WarpParse | File -> BlackHole | 280,000 | 947.15 | 769% / 869% | 172 MB / 178 MB | 9.1x |
| Vector | File -> BlackHole | 30,612 | 103.55 | 561% / 654% | 248 MB / 273 MB | 1.0x |
| WarpParse | TCP -> BlackHole | 238,900 | 808.12 | 657% / 705% | 364 MB / 389 MB | 7.0x |
| Vector | TCP -> BlackHole | 34,000 | 115.01 | 693% / 849% | 408 MB / 430 MB | 1.0x |
| WarpParse | TCP -> File | 169,800 | 574.38 | 664% / 884% | 871 MB / 1500 MB | 6.8x |
| Vector | TCP -> File | 24,900 | 84.23 | 539% / 645% | 393 MB / 420 MB | 1.0x |
解析+转换规则大小:
- WarpParse:1638B
- Vector:2259B
3.2.5 Mixed Log (平均日志大小:1295B)
| 引擎 | 拓扑 | EPS | MPS | CPU (Avg/Peak) | MEM (Avg/Peak) | 性能倍数 |
|---|---|---|---|---|---|---|
| WarpParse | File -> BlackHole | 396,300 | 489.43 | 833% / 948% | 203MB / 223MB | 4.0x |
| Vector | File -> BlackHole | 98,704 | 121.90 | 871% / 971% | 299MB / 318MB | 1.0x |
| WarpParse | TCP -> BlackHole | 387,400 | 478.44 | 757% / 853% | 389MB / 411MB | 3.6x |
| Vector | TCP -> BlackHole | 108,400 | 133.87 | 938% / 965% | 302MB / 317MB | 1.0x |
| WarpParse | TCP -> File | 199,300 | 246.14 | 576% / 776% | 329MB / 496MB | 3.3x |
| Vector | TCP -> File | 60,800 | 75.09 | 566% / 614% | 371MB / 389MB | 1.0x |
解析+转换规则大小:
- WarpParse:6102B
- Vector:9373B
混合日志规则:
- 4类日志按照1:1:1:1混合
3.2.6 Mixed Log (平均日志大小:867B)
| 引擎 | 拓扑 | EPS | MPS | CPU (Avg/Peak) | MEM (Avg/Peak) | 性能倍数 |
|---|---|---|---|---|---|---|
| WarpParse | File -> BlackHole | 560,600 | 463.52 | 865% / 931% | 228 MB / 239 MB | |
| Vector | File -> BlackHole | 138,157 | 114.23 | 851% / 971% | 261 MB / 283 MB | 1.0x |
| WarpParse | TCP -> BlackHole | 515,300 | 426.07 | 706% / 822% | 309 MB / 320 MB | |
| Vector | TCP -> BlackHole | 156,000 | 128.99 | 885% / 955% | 337 MB / 351 MB | 1.0x |
| WarpParse | TCP -> File | 299,600 | 247.72 | 649% / 761% | 415 MB / 500 MB | |
| Vector | TCP -> File | 69,500 | 57.47 | 457% / 505% | 367 MB / 393 MB | 1.0x |
解析+转换规则大小:
- WarpParse:6102B
- Vector:9373B
混合日志规则:
- 4类日志按照3:2:1:1混合
3.3 linux测试数据
3.3.1 Nginx Access Log (239B)
| 引擎 | 拓扑 | EPS | MPS | CPU (Avg/Peak) | MEM (Avg/Peak) | 性能倍数 |
|---|---|---|---|---|---|---|
| WarpParse | File -> BlackHole | 790,900 | 180.27 | 549% / 583% | 66 MB / 67 MB | 4.1x |
| Vector | File -> BlackHole | 192,015 | 43.77 | 350% / 364% | 143 MB / 152 MB | 1.0x |
| WarpParse | TCP -> BlackHole | 767,000 | 174.82 | 468% / 605% | 188 MB / 532 MB | 2.1x |
| Vector | TCP -> BlackHole | 371,100 | 84.58 | 519% / 540% | 153 MB / 157 MB | 1.0x |
| WarpParse | TCP -> File | 397,200 | 90.53 | 616% / 666% | 181 MB / 511 MB | 21.5x |
| Vector | TCP -> File | 18,500 | 4.22 | 186% / 195% | 231 MB / 244 MB | 1.0x |
解析规则大小:
- WarpParse:174B
- Vector:416B
3.3.2 AWS ELB Log (411B)
| 引擎 | 拓扑 | EPS | MPS | CPU (Avg/Peak) | MEM (Avg/Peak) | 性能倍数 |
|---|---|---|---|---|---|---|
| WarpParse | File -> BlackHole | 394,500 | 154.63 | 757% / 775% | 421 MB / 541 MB | 7.5x |
| Vector | File -> BlackHole | 52,875 | 20.72 | 534% / 585% | 145 MB / 152 MB | 1.0x |
| WarpParse | TCP -> BlackHole | 367,700 | 144.12 | 686% / 724% | 205 MB / 564 MB | 6.3x |
| Vector | TCP -> BlackHole | 58,200 | 22.81 | 479% / 531% | 172 MB / 183 MB | 1.0x |
| WarpParse | TCP -> File | 169,700 | 66.52 | 704% / 731% | 170 MB / 222 MB | 11.1x |
| Vector | TCP -> File | 15,300 | 6.00 | 249% / 269% | 159 MB / 163 MB | 1.0x |
解析规则大小:
- WarpParse:1153B
- Vector:2289B
3.3.3 Sysmon JSON Log (1K)
| 引擎 | 拓扑 | EPS | MPS | CPU (Avg/Peak) | MEM (Avg/Peak) | 性能倍数 |
|---|---|---|---|---|---|---|
| WarpParse | File -> BlackHole | 152,500 | 143.40 | 726% / 776% | 318 MB / 368 MB | 2.0x |
| Vector | File -> BlackHole | 76,717 | 72.14 | 463% / 564% | 295 MB / 313 MB | 1.0x |
| WarpParse | TCP -> BlackHole | 149,800 | 140.86 | 711% / 763% | 221 MB / 678 MB | 4.0x |
| Vector | TCP -> BlackHole | 37,400 | 35.17 | 580% / 650% | 236 MB / 246 MB | 1.0x |
| WarpParse | TCP -> File | 104,900 | 98.64 | 750% / 764% | 169 MB / 505 MB | 7.7x |
| Vector | TCP -> File | 13,600 | 12.79 | 323% / 352% | 213 MB / 222 MB | 1.0x |
解析规则大小:
- WarpParse:1552B
- Vector:3259B
3.3.4 APT Threat Log (3K)
| 引擎 | 拓扑 | EPS | MPS | CPU (Avg/Peak) | MEM (Avg/Peak) | 性能倍数 |
|---|---|---|---|---|---|---|
| WarpParse | File -> BlackHole | 134,700 | 455.65 | 465% / 565% | 136 MB / 161 MB | 9.8x |
| Vector | File -> BlackHole | 13,780 | 46.61 | 534% / 614% | 190 MB / 193 MB | 1.0x |
| WarpParse | TCP -> BlackHole | 129,600 | 438.40 | 502% / 606% | 237 MB / 273 MB | 7.4x |
| Vector | TCP -> BlackHole | 17,400 | 58.86 | 783% / 795% | 228 MB / 246 MB | 1.0x |
| WarpParse | TCP -> File | 63,500 | 214.80 | 492% / 560% | 423 MB / 1161 MB | 7.8x |
| Vector | TCP -> File | 8,100 | 27.40 | 457% / 528% | 217 MB / 226 MB | 1.0x |
解析规则大小:
- WarpParse:985B
- Vector:1759B
3.3.5 Mixed Log (平均日志大小:867B)
| 引擎 | 拓扑 | EPS | MPS | CPU (Avg/Peak) | MEM (Avg/Peak) | 性能倍数 |
|---|---|---|---|---|---|---|
| WarpParse | File -> BlackHole | 267,600 | 221.26 | 649% / 758% | 298 MB / 347 MB | 4.7x |
| Vector | File -> BlackHole | 56,774 | 46.94 | 794% / 800% | 178 MB / 182 MB | 1.0x |
| WarpParse | TCP -> BlackHole | 259,000 | 214.15 | 706% / 822% | 309 MB / 320 MB | 4.4x |
| Vector | TCP -> BlackHole | 58,500 | 48.37 | 778% / 787% | 205 MB / 216 MB | 1.0x |
| WarpParse | TCP -> File | 159,900 | 132.21 | 696% / 728% | 121 MB / 185 MB | 10.8x |
| Vector | TCP -> File | 14,800 | 12.24 | 294% / 318% | 203 MB / 215 MB | 1.0x |
解析+转换规则大小:
- WarpParse:6102B
- Vector:9373B
混合日志规则:
- 4类日志按照3:2:1:1混合
3.4.1 Nginx Access Log(239B)
| 引擎 | 拓扑 | EPS | MPS | CPU (Avg/Peak) | MEM (Avg/Peak) | 性能倍数 |
|---|---|---|---|---|---|---|
| WarpParse | File -> BlackHole | 649,100 | 147.95 | 659% / 704% | 194 MB / 505 MB | 3.6x |
| Vector | File -> BlackHole | 181,739 | 41.42 | 381% / 397% | 156 MB / 169 MB | 1.0x |
| WarpParse | TCP -> BlackHole | 574,200 | 130.88 | 522% / 613% | 138 MB / 383 MB | 1.8x |
| Vector | TCP -> BlackHole | 318,900 | 72.69 | 462% / 538% | 161 MB / 167 MB | 1.0x |
| WarpParse | TCP -> File | 299,900 | 68.36 | 583% / 644% | 145 MB / 348 MB | 16.9x |
| Vector | TCP -> File | 17,700 | 4.03 | 146% / 151% | 137 MB / 140 MB | 1.0x |
解析+转换规则大小:
- WarpParse:521B
- Vector:682B
3.4.2 AWS ELB Log(411B)
| 引擎 | 拓扑 | EPS | MPS | CPU (Avg/Peak) | MEM (Avg/Peak) | 性能倍数 |
|---|---|---|---|---|---|---|
| WarpParse | File -> BlackHole | 265,800 | 104.18 | 626% / 713% | 248 MB / 362 MB | 5.1x |
| Vector | File -> BlackHole | 52,380 | 20.53 | 495% / 551% | 171 MB / 181 MB | 1.0x |
| WarpParse | TCP -> BlackHole | 239,600 | 93.91 | 576% / 628% | 120 MB / 166 MB | 4.3x |
| Vector | TCP -> BlackHole | 55,800 | 21.87 | 483% / 520% | 180 MB / 184 MB | 1.0x |
| WarpParse | TCP -> File | 139,900 | 54.84 | 679% / 741% | 183 MB / 284 MB | 7.8x |
| Vector | TCP -> File | 17,900 | 7.02 | 261% / 281% | 169 MB / 174 MB | 1.0x |
解析+转换规则大小:
- WarpParse:1694B
- Vector:2650B
3.4.3 Sysmon JSON Log (1K)
| 引擎 | 拓扑 | EPS | MPS | CPU (Avg/Peak) | MEM (Avg/Peak) | 性能倍数 |
|---|---|---|---|---|---|---|
| WarpParse | File -> BlackHole | 126,800 | 119.23 | 748% / 793% | 281 MB / 422 MB | 4.5x |
| Vector | File -> BlackHole | 28,157 | 26.48 | 454% / 511% | 221 MB / 232 MB | 1.0x |
| WarpParse | TCP -> BlackHole | 119,900 | 112.74 | 715% / 772% | 180 MB / 563 MB | 3.5x |
| Vector | TCP -> BlackHole | 34,200 | 32.16 | 568% / 701% | 255 MB / 266 MB | 1.0x |
| WarpParse | TCP -> File | 84,900 | 79.83 | 706% / 764% | 170 MB / 384 MB | 5.8x |
| Vector | TCP -> File | 14,700 | 13.82 | 344% / 414% | 240 MB / 252 MB | 1.0x |
解析+转换规则大小:
- WarpParse:2249B
- Vector:3782B
3.4.4 APT Threat Log (3K)
| 引擎 | 拓扑 | EPS | MPS | CPU (Avg/Peak) | MEM (Avg/Peak) | 性能倍数 |
|---|---|---|---|---|---|---|
| WarpParse | File -> BlackHole | 122,500 | 414.38 | 542% / 637% | 161 MB / 204 MB | 9.6x |
| Vector | File -> BlackHole | 12,783 | 43.24 | 546% / 580% | 194 MB / 198 MB | 1.0x |
| WarpParse | TCP -> BlackHole | 114,800 | 388.33 | 534% / 543% | 234 MB / 277 MB | 7.3x |
| Vector | TCP -> BlackHole | 15,700 | 53.11 | 786% / 796% | 236 MB / 249 MB | 1.0x |
| WarpParse | TCP -> File | 58,700 | 198.56 | 473% / 569% | 682 MB / 1296 MB | 6.4x |
| Vector | TCP -> File | 9,200 | 31.12 | 487% / 521% | 224 MB / 233 MB | 1.0x |
解析+转换规则大小:
- WarpParse:1638B
- Vector:2259B
3.4.5 Mixed Log (平均日志大小:867B)
| 引擎 | 拓扑 | EPS | MPS | CPU (Avg/Peak) | MEM (Avg/Peak) | 性能倍数 |
|---|---|---|---|---|---|---|
| WarpParse | File -> BlackHole | 223,300 | 184.63 | 673% / 777% | 328 MB / 387 MB | 3.9x |
| Vector | File -> BlackHole | 56,666 | 46.85 | 792% / 798% | 181 MB / 184 MB | 1.0x |
| WarpParse | TCP -> BlackHole | 209,300 | 173.06 | 659% / 701% | 128 MB / 161 MB | 3.7x |
| Vector | TCP -> BlackHole | 57,300 | 47.38 | 782% / 787% | 202 MB / 211 MB | 1.0x |
| WarpParse | TCP -> File | 134,900 | 111.54 | 695% / 736% | 121 MB / 154 MB | 7.0x |
| Vector | TCP -> File | 19,400 | 16.04 | 308% / 317% | 209 MB / 213 MB | 1.0x |
解析+转换规则大小:
- WarpParse:6102B
- Vector:9373B
混合日志规则:
- 4类日志按照3:2:1:1混合
4. 核心发现与架构优势分析
4.1 性能与资源效率
核心发现:
- 吞吐量碾压: 在所有 24 组对比测试中,WarpParse 均取得领先。解析场景下平均领先 3.7x - 11.9x,解析+转换场景下领先 1.4x - 11.3x。
- 算力利用率: WarpParse 倾向于“以算力换吞吐“,CPU 占用率普遍高于 Vector,但换来了数倍的处理能力。例如在 Sysmon 解析中,WarpParse 用 1.8 倍的 CPU 换取了 Vector 5.7 倍的吞吐。
- 大日志处理: 在 APT (3K) 这种大体积日志场景下,WarpParse 展现出极强的稳定性,MPS 达到 1062 MiB/s,接近千兆处理能力,而 Vector 在该场景下吞吐下降明显。
4.2 规则与维护成本
优势分析:
- 规则体积更小: 同等语义下,WarpParse 的 WPL/OML 规则体积显著小于 Vector 的 VRL 脚本。
- Nginx: 174B (WarpParse) vs 416B (Vector)
- APT: 985B (WarpParse) vs 1759B (Vector)
- 维护性: 更小的规则体积意味着更快的网络分发速度、更短的冷启动时间,这在边缘计算或大规模 Agent 下发场景中至关重要。
4.3 稳定性
- 在整个高压测试过程中,WarpParse 保持了极高的吞吐稳定性,未观察到显著的 Backpressure(背压)导致的处理崩塌。
- 注意点: 在 TCP -> File 的端到端场景中,WarpParse 的内存占用在部分大包场景下会有所上升(如 APT 场景达到 1GB+),这与其为了维持高吞吐而使用的缓冲策略有关。
5. 总结与建议
| 决策维度 | 建议方案 | 理由 |
|---|---|---|
| 追求极致性能 | WarpParse | 无论是小包高频还是大包吞吐,WarpParse 均提供 5-10倍 的性能红利。 |
| 资源受限环境 | WarpParse | 尽管峰值 CPU 较高,但完成同等数据量所需的总 CPU 时间远少于 Vector;且小包场景内存控制优异。 |
| 边缘/Agent部署 | WarpParse | 规则文件极小,便于快速热更新;单机处理能力强,减少对中心端的压力。 |
| 通用生态兼容 | WarpParse | 提供面向开发者的 API 与插件扩展机制,支持用户快速开发自定义输入 / 输出模块;在满足性能要求的同时,也具备良好的生态扩展能力。 |
结论: 对于专注于日志分析、安全事件处理(SIEM/SOC)、以及对实时性有苛刻要求的 ETL 场景,WarpParse 是优于 Vector 的选择。它通过更高效的 Rust 实现和专用的 WPL/OML 语言,成功打破了通用 ETL 工具的性能天花板。