PHASE 9

发布时间:2026/10/11 3:50:01
PHASE 9 Test 和 Benchmark的区别Test功能测试检查程序行为是否正确。队列容量为2已经排满2个任务 再 submit 一个任务 ↓ 预期返回 queue_full测试关注的是结果对不对Benchmark基准测试测量特定条件下程序的性能。使用1个 worker10秒完成多少任务 使用4个 worker10秒完成多少任务Benchmark 关注的是在指定环境和工作负载下表现怎么样不变量程序在规定的运行阶段和条件下必须始终满足的规则。不变量 含义 Queue不超过容量 不能因为任务过多就无限积压 已接受任务恰好完成一次 不能丢结果也不能重复发布结果 Task ID 不重复 每个任务都有唯一标识 全部任务完成后资源预留归零 不能遗留逻辑资源预留 严格 FIFO 资源不足时后面的任务不能越过队首 日志超过保存上限仍可正常退出 不能因为停止读取 pipe 而卡住Latency 和 ThroughputLatency延迟一次操作花了多少时间。任务 A 从开始执行到完成 耗时50ms Latency50msThroughput吞吐量单位时间完成多少任务。TaskForge 在1秒内完成100个任务 Throughput100tasks/s区别指标 关注的问题 Latency 一个任务需要等多久才能完成 Throughput 整个系统每秒能完成多少任务Worker 越多性能不一定越好worker 拿到任务 → 拼命算 → 占满 CPU → 还要读文件 → 完成这时候worker 之间会抢资源8 个 worker 一起编译 → 抢 CPU 核心 → 你只有 4 核就得排队抢内存带宽 → 互相拖慢抢磁盘 I/O → 一起卡