# 轮询系统压测指南 ## 目标 模拟 1000 万张卡的轮询场景,测试系统性能。 ## 环境要求 - Docker(运行本地 Redis) - 测试环境 PostgreSQL(已有) - 10+ CPU 核心 - 16GB+ 内存 ## 压测步骤 ### Step 1: 启动本地 Redis ```bash ./scripts/benchmark/start_redis.sh ``` ### Step 2: 启动 Mock Gateway(模拟上游接口) ```bash go run ./scripts/benchmark/mock_gateway.go ``` ### Step 3: 生成测试数据(1000万张卡) ```bash go run ./scripts/benchmark/generate_cards.go ``` ### Step 4: 启动 Worker 进行压测 ```bash # 使用本地 Redis 配置 + Mock Gateway source .env.local && \ JUNHONG_REDIS_ADDRESS=127.0.0.1 \ JUNHONG_REDIS_PORT=6379 \ JUNHONG_REDIS_PASSWORD="" \ JUNHONG_REDIS_DB=0 \ JUNHONG_GATEWAY_BASE_URL=http://127.0.0.1:8888 \ JUNHONG_GATEWAY_APP_ID=test \ JUNHONG_GATEWAY_APP_SECRET=testsecret123456 \ JUNHONG_GATEWAY_TIMEOUT=30 \ go run ./cmd/worker/... ``` **注意**:可以启动多个 Worker 实例来增加并发处理能力。单个 Worker 通过 Asynq 已支持并发任务处理。 ### Step 5: 监控压测状态 ```bash ./scripts/benchmark/monitor.sh ``` ## 预期结果 - 初始化时间:~50秒(1000万卡) - 调度吞吐:5万张/秒 - 任务处理:取决于 Gateway 响应时间