From 92063e581f6b067e06ec49d73b5ea05c89b10f80 Mon Sep 17 00:00:00 2001 From: bourdon Date: Sat, 4 Oct 2025 02:05:24 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B8=85=E7=90=86=EF=BC=9A=E7=A7=BB=E9=99=A4?= =?UTF-8?q?=E5=86=97=E4=BD=99=E7=9A=84=20RUN=5FCONCURRENT.md?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 该文件内容已合并到 example/README.md 中,不再需要单独维护。 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- example/RUN_CONCURRENT.md | 93 --------------------------------------- 1 file changed, 93 deletions(-) delete mode 100644 example/RUN_CONCURRENT.md diff --git a/example/RUN_CONCURRENT.md b/example/RUN_CONCURRENT.md deleted file mode 100644 index 61209c1..0000000 --- a/example/RUN_CONCURRENT.md +++ /dev/null @@ -1,93 +0,0 @@ -# 运行高并发示例 - -## 快速开始 - -```bash -cd example/concurrent -go run main.go -``` - -## 预计运行时间 - -**总时间:约 5 分钟** - -- 场景 1 (并发写入): ~27 秒 -- 场景 2 (并发查询): ~3 秒 -- 场景 3 (混合读写): ~14 秒 -- 场景 4 (持续压测): 4 分钟 -- 场景 5 (统计汇总): ~10 秒 - -## 后台运行 - -如果想在后台运行并保存日志: - -```bash -cd example/concurrent -go run main.go > output.log 2>&1 & -echo $! > pid.txt - -# 查看实时输出 -tail -f output.log - -# 停止程序 -kill $(cat pid.txt) -rm pid.txt -``` - -## 查看进度 - -程序在场景 4(持续压测)阶段会每 10 秒显示一次进度: - -``` -[进度] 已运行 10 秒 - 写入: 1951 条, 查询: 1920 次 -[进度] 已运行 20 秒 - 写入: 3902 条, 查询: 3840 次 -... -``` - -## 性能指标 - -根据测试结果,您应该会看到: - -- **写入吞吐量**: ~220-240 msg/s -- **查询吞吐量**: ~400-1500 query/s(取决于数据量) -- **并发处理**: 3 个 topic 同时写入和查询 - -## 故障排查 - -### 问题:程序卡住不动 - -如果程序在某个阶段卡住: - -1. 检查磁盘空间是否充足 -2. 检查是否有其他进程占用文件 -3. 尝试清理测试目录:`rm -rf test_concurrent` - -### 问题:查询出现 EOF 错误 - -这是正常现象!当 tailer 正在处理文件时,查询可能会读取到不完整的记录。程序会自动处理这些错误。 - -### 问题:性能比预期低 - -可能的原因: -- 磁盘性能较慢(特别是在虚拟机或网络存储上) -- 系统负载较高 -- 索引批量同步设置(可以通过修改 `index.go` 中的 `DefaultSyncBatch` 调整) - -## 自定义测试 - -如果想调整测试参数,编辑 `concurrent/main.go`: - -```go -// 场景 1:每个 topic 写入的消息数 -messagesPerTopic := 2000 - -// 场景 2:每个 goroutine 的查询次数 -queriesPerGoroutine := 200 - -// 场景 4:持续压测时间 -stressTestDuration := 4 * time.Minute -``` - -## 预期输出示例 - -完整输出请参考 [README.md](README.md)。