• 陈泽健's avatar
    feat(performance): 混合场景 mix 每虚拟用户独立登录(CSV账号各自token + 登录重登替换) · 59948f7c
    陈泽健 提交于
    - 后端 HttpClient 新增 login_with_credentials(username,password) 与 _extract_token 静态方法
      - 复用 captcha uuid + SHA256 加密 + 签名;不写入 _tokens 缓存(token 由 executor 管理)
    - 执行引擎 per-VU 状态:_vu_tokens Dict[int,str] + _vu_tokens_lock + _vu_login_failed
      - _ensure_vu_token 异步幂等(run_in_executor 包裹同步登录),失败记入 _vu_login_failed
      - _resolve_csv_credentials 按 global_thread_idx 分配 CSV 行(idx % len 循环复用)
      - _mix_worker 启动各自登录;登录接口进随机池命中后替换该 VU 自己的 token
      - _send_request 新增 bearer_token 可选参 + 返回 Optional[str](登录 2xx 提取新 token)
      - _build_headers bearer_token 优先于 self._token;登录目标 bearer_token="" 签名且无 Authorization
      - _is_login_target 支持 url_override(识别随机池中的登录接口)
      - _run_mix 校验:CSV 未启用/缺 username/password 列/账号数 < 并发数 → 拒绝执行
      - execute() per_vu_login 时跳过共享预登录
    - Model/Schema 增加 per_vu_login 字段(默认 False)+ _ensure_columns 自动迁移
    - 前端 types perVuLogin + TaskList.vue「每虚拟用户独立登录」开关(仅 mix 显示)
    - 单测 TestPerVuLogin 13 条(各自token/重登替换/失败处理/CSV校验/共享回归)
    - 已部署 5.60(含 performance_tasks.per_vu_login 自动迁移);端到端由用户手动验证
    Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
    59948f7c
名称
最后提交
最后更新
..
data Loading commit data...
executors Loading commit data...
models Loading commit data...
routers Loading commit data...
schemas Loading commit data...
services Loading commit data...
simulators Loading commit data...
tasks Loading commit data...
utils Loading commit data...
websocket Loading commit data...
__init__.py Loading commit data...
config.py Loading commit data...
database.py Loading commit data...
main.py Loading commit data...