From 9958b3c462cda3e7ca9d19c35fbaeb89084ae547 Mon Sep 17 00:00:00 2001 From: richjohnrambo Date: Sun, 27 Sep 2026 01:58:15 +0800 Subject: [PATCH] docs: add pressure runtime package transfer steps --- .../IM-allrich双机压测执行记录-20260927.md | 21 ++++++--- loadtest/im-pressure/MACHINE-B.md | 45 ++++++++++++++----- 2 files changed, 51 insertions(+), 15 deletions(-) diff --git a/docs/test/IM-allrich双机压测执行记录-20260927.md b/docs/test/IM-allrich双机压测执行记录-20260927.md index 14dba0d..315ef2b 100644 --- a/docs/test/IM-allrich双机压测执行记录-20260927.md +++ b/docs/test/IM-allrich双机压测执行记录-20260927.md @@ -49,8 +49,8 @@ 机器 A 已生成: ```text -/tmp/allrich-machine-b-runtime-p2p-20260927-01.tar.gz -SHA-256: ed22883856862e0ef8183cf14c4306d4569904400867cb2a236c3498e5c6f574 +/tmp/allrich-machine-b-runtime-p2p-20260927-01.zip +SHA-256: 479f119e7d01e1829c7262cace282c72a5f53ad8e7f5128abc2ade75d046db64 ``` 机器 B 必须先安全获取该文件,再执行: @@ -58,10 +58,21 @@ SHA-256: ed22883856862e0ef8183cf14c4306d4569904400867cb2a236c3498e5c6f574 ```bash git switch dev git pull --ff-only origin dev + +# 运行包不在 Git 中,必须从机器 A 单独复制 +scp youshunlai@192.168.1.135:/tmp/allrich-machine-b-runtime-p2p-20260927-01.zip /tmp/ +shasum -a 256 /tmp/allrich-machine-b-runtime-p2p-20260927-01.zip + +unzip -o /tmp/allrich-machine-b-runtime-p2p-20260927-01.zip \ + -d loadtest/im-pressure +chmod 600 loadtest/im-pressure/.env.test \ + loadtest/im-pressure/config.json \ + loadtest/im-pressure/manifest.json + +set -a +source loadtest/im-pressure/.env.test +set +a cd loadtest/im-pressure -tar -xzf /安全传输路径/allrich-machine-b-runtime-p2p-20260927-01.tar.gz -chmod 600 .env.test manifest.json -set -a; source .env.test; set +a go build -o im-pressure . ./im-pressure agent \ diff --git a/loadtest/im-pressure/MACHINE-B.md b/loadtest/im-pressure/MACHINE-B.md index a2c300e..4d64b9c 100644 --- a/loadtest/im-pressure/MACHINE-B.md +++ b/loadtest/im-pressure/MACHINE-B.md @@ -26,12 +26,23 @@ 机器 A 已生成安全运行包: ```text -/tmp/allrich-machine-b-runtime-p2p-20260927-01.tar.gz -SHA-256: ed22883856862e0ef8183cf14c4306d4569904400867cb2a236c3498e5c6f574 +/tmp/allrich-machine-b-runtime-p2p-20260927-01.zip +SHA-256: 479f119e7d01e1829c7262cace282c72a5f53ad8e7f5128abc2ade75d046db64 ``` 运行包内只有三个运行时文件:`.env.test`、`config.json`、`manifest.json`。其中包含 API Key、测试账号密码、固定测试验证码和账号 Token,不进入 Git,必须通过受控内网传输。测试环境验证码为 `123456`,正式环境禁止使用固定验证码。 +因此,机器 B 只执行 `git pull` 后看不到这三个文件是正常现象。机器 B 需要从机器 A 单独复制运行包: + +```bash +scp youshunlai@192.168.1.135:/tmp/allrich-machine-b-runtime-p2p-20260927-01.zip /tmp/ + +shasum -a 256 /tmp/allrich-machine-b-runtime-p2p-20260927-01.zip +# 必须输出:479f119e7d01e1829c7262cace282c72a5f53ad8e7f5128abc2ade75d046db64 +``` + +如果机器 B 无法主动连接 A,也可以由机器 A 执行 `scp` 推送;目标机器的用户名和地址由 B 机提供。禁止通过 Git、公开网盘或无访问控制的 HTTP 服务传输该运行包。 + 本轮 A/B 都通过同一个公共 WebSocket LB 接入。它能覆盖负载均衡后的多 Pod 投递,但不能保证 A、B 被固定分配到不同 Pod;需要强制跨指定 Pod 时,应另行提供两个定向 WS 入口并更新 `config.json`。 ## 运行前向机器 A 获取 @@ -60,30 +71,44 @@ ulimit -n 100000 将 `git rev-parse HEAD` 的结果发给机器 A,确认两边代码版本一致。 -## 第二步:放置运行文件 +## 第二步:解压运行文件 -机器 A 应把文件放到: +在机器 B 的仓库根目录执行: + +```bash +unzip -o /tmp/allrich-machine-b-runtime-p2p-20260927-01.zip \ + -d loadtest/im-pressure +chmod 600 \ + loadtest/im-pressure/.env.test \ + loadtest/im-pressure/config.json \ + loadtest/im-pressure/manifest.json +``` + +解压后必须存在: ```text +loadtest/im-pressure/.env.test loadtest/im-pressure/config.json loadtest/im-pressure/manifest.json ``` -检查并保护 manifest: +检查文件: ```bash +test -s loadtest/im-pressure/.env.test test -s loadtest/im-pressure/config.json test -s loadtest/im-pressure/manifest.json -chmod 600 loadtest/im-pressure/manifest.json ``` ## 第三步:设置环境变量并核验 ```bash -export IM_API_KEY='由机器A提供' -export IM_LOAD_PASSWORD='由机器A提供' -export MACHINE_A_IP='机器A内网IP' -export RUN_ID='由机器A提供的本轮run-id' +set -a +source loadtest/im-pressure/.env.test +set +a + +export MACHINE_A_IP='192.168.1.135' +export RUN_ID='p2p-20260927-01' ./loadtest/im-pressure/im-pressure verify \ -config loadtest/im-pressure/config.json \