fix: resolve k6 loadtest data path
This commit is contained in:
@@ -95,17 +95,29 @@ K6 脚本默认只跑公开列表接口;传入 `AUTH_TOKEN` 后会额外跑需
|
||||
npm run dev
|
||||
```
|
||||
|
||||
注意端口可能漂移。以启动日志中的实际 api-server 端口为准,然后传给 K6:
|
||||
注意端口可能漂移。以启动日志中的实际 api-server 端口为准,然后传给 K6。
|
||||
|
||||
注意:K6 的 `open()` 会按 `k6-works-list.js` 所在目录解析相对路径,因此 `WORKS_DATA` 应写成 `data/works-list.local.json`,不要写成 `scripts/loadtest/data/works-list.local.json`。
|
||||
|
||||
Bash / Git Bash:
|
||||
|
||||
```bash
|
||||
BASE_URL=http://127.0.0.1:<actual-api-port> npm run loadtest:k6:works -- --summary-trend-stats="avg,min,med,p(90),p(95),p(99),max"
|
||||
BASE_URL=http://127.0.0.1:<actual-api-port> WORKS_DATA=data/works-list.local.json npm run loadtest:k6:works -- --summary-trend-stats="avg,min,med,p(90),p(95),p(99),max"
|
||||
```
|
||||
|
||||
PowerShell:
|
||||
|
||||
```powershell
|
||||
$env:BASE_URL="http://127.0.0.1:<actual-api-port>"
|
||||
$env:WORKS_DATA="data/works-list.local.json"
|
||||
npm run loadtest:k6:works -- --summary-trend-stats="avg,min,med,p(90),p(95),p(99),max"
|
||||
```
|
||||
|
||||
## Smoke
|
||||
|
||||
```bash
|
||||
BASE_URL=http://127.0.0.1:8787 \
|
||||
WORKS_DATA=scripts/loadtest/data/works-list.local.json \
|
||||
WORKS_DATA=data/works-list.local.json \
|
||||
SCENARIO=smoke \
|
||||
DETAIL_RATIO=0 \
|
||||
npm run loadtest:k6:works
|
||||
@@ -117,7 +129,7 @@ npm run loadtest:k6:works
|
||||
|
||||
```bash
|
||||
BASE_URL=http://127.0.0.1:8787 \
|
||||
WORKS_DATA=scripts/loadtest/data/works-list.local.json \
|
||||
WORKS_DATA=data/works-list.local.json \
|
||||
SCENARIO=baseline \
|
||||
VUS=10 \
|
||||
DURATION=3m \
|
||||
@@ -136,7 +148,7 @@ npm run loadtest:k6:works
|
||||
|
||||
```bash
|
||||
BASE_URL=http://127.0.0.1:8787 \
|
||||
WORKS_DATA=scripts/loadtest/data/works-list.local.json \
|
||||
WORKS_DATA=data/works-list.local.json \
|
||||
SCENARIO=spike \
|
||||
START_RPS=5 \
|
||||
PEAK_RPS=100 \
|
||||
@@ -171,7 +183,7 @@ npm run loadtest:k6:works
|
||||
|
||||
```bash
|
||||
BASE_URL=http://127.0.0.1:8787 \
|
||||
WORKS_DATA=scripts/loadtest/data/works-list.local.json \
|
||||
WORKS_DATA=data/works-list.local.json \
|
||||
SCENARIO=smoke \
|
||||
DETAIL_RATIO=0.35 \
|
||||
npm run loadtest:k6:works
|
||||
|
||||
@@ -4,7 +4,8 @@ import { SharedArray } from 'k6/data';
|
||||
import http from 'k6/http';
|
||||
import { Rate, Trend } from 'k6/metrics';
|
||||
|
||||
const DEFAULT_WORKS_DATA = 'scripts/loadtest/data/works-list.local.json';
|
||||
// k6 resolves open() paths relative to this script file, not the shell cwd.
|
||||
const DEFAULT_WORKS_DATA = 'data/works-list.local.json';
|
||||
const WORKS_DATA = __ENV.WORKS_DATA || DEFAULT_WORKS_DATA;
|
||||
const BASE_URL = (__ENV.BASE_URL || 'http://127.0.0.1:8787').replace(/\/+$/u, '');
|
||||
const AUTH_TOKEN = __ENV.AUTH_TOKEN || '';
|
||||
|
||||
Reference in New Issue
Block a user