Blame view

docs/搜索API对接指南-10-接口级压测脚本.md 1.43 KB
0342d897   tangwang   搜索API对接指南 拆分
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
  # 搜索API对接指南-10-接口级压测脚本
  
  原文第 10 章:压测脚本与用例。
  
  ## 10. 接口级压测脚本
  
  仓库提供统一压测脚本:`scripts/perf_api_benchmark.py`,用于对以下接口做并发压测:
  
  - 后端搜索:`POST /search/`
  - 搜索建议:`GET /search/suggestions`
  - 向量服务:`POST /embed/text`
  - 翻译服务:`POST /translate`
  - 重排服务:`POST /rerank`
  
  说明:脚本对 `embed_text` 场景会校验返回向量内容有效性(必须是有限数值,不允许 `null/NaN/Inf`),不是只看 HTTP 200。
  
  ### 10.1 快速示例
  
  ```bash
  # suggest 压测(tenant 162)
  python scripts/perf_api_benchmark.py \
    --scenario backend_suggest \
    --tenant-id 162 \
    --duration 30 \
    --concurrency 50
  
  # search 压测
  python scripts/perf_api_benchmark.py \
    --scenario backend_search \
    --tenant-id 162 \
    --duration 30 \
    --concurrency 20
  
  # 全链路压测(search + suggest + embedding + translate + rerank)
  python scripts/perf_api_benchmark.py \
    --scenario all \
    --tenant-id 162 \
    --duration 60 \
    --concurrency 30 \
    --output perf_reports/all.json
  ```
  
  ### 10.2 自定义用例
  
  可通过 `--cases-file` 覆盖默认请求模板。示例文件:
  
  ```bash
  scripts/perf_cases.json.example
  ```
  
  执行示例:
  
  ```bash
  python scripts/perf_api_benchmark.py \
    --scenario all \
    --tenant-id 162 \
    --cases-file scripts/perf_cases.json.example \
    --duration 60 \
    --concurrency 40
  ```