vllm bench sweep serve_workload — 워크로드 스윕

vllm bench sweep serve_workload — 워크로드 스윕

vllm bench sweep serve_workload는 워크로드 변수(request_rate 또는 max_concurrency)를 단계적으로 조절하며 서빙 벤치마크를 반복 실행하는 하위 명령입니다. 부하가 커질 때 처리량과 지연 시간이 어떻게 변하는지 곡선을 얻는 데 특화되어 있습니다.

출처: 문서

본문

JSON CLI 인자

JSON CLI 인자를 넘길 때, 아래 두 방식은 서로 동등합니다.

--json-arg '{"key1": "value1", "key2": {"key3": "value2"}}'
--json-arg.key1 value1 --json-arg.key2.key3 value2

리스트 요소는 + 기호로 각각 전달할 수 있습니다.

--json-arg '{"key4": ["value3", "value4", "value5"]}'
--json-arg.key4+ value3 --json-arg.key4+='value4,value5'

핵심 옵션

옵션 기본값 설명
--serve-cmd None 서버 실행 명령(vllm serve ...)
--bench-cmd None 벤치마크 실행 명령(vllm bench serve ...)
--after-bench-cmd None 벤치마크 후 실행할 명령
--show-stdout False 하위 명령 표준 출력 로그
--server-ready-timeout 300 서버 준비 대기 타임아웃(초)
--serve-params None vllm serve 파라미터 조합 JSON(딕셔너리 리스트 또는 벤치 이름 키 딕셔너리)
--link-vars "" serve와 bench 간 연결 변수. 예: max_num_seqs=max_concurrency,max_model_len=random_input_len
--bench-params None vllm bench serve 파라미터 조합 JSON
-o, --output-dir results 결과를 기록할 최상위 디렉터리
-e, --experiment-name 타임스탬프 실험 이름(결과는 output_dir/experiment_name 아래 저장)
--num-runs 3 조합당 실행 횟수
--dry-run False 실행 없이 명령 목록만 출력
--resume False 이전 실행 이어가기(출력 없는 조합만)

워크로드 옵션

옵션 기본값 설명
--workload-var request_rate 각 반복에서 조절할 변수(request_rate 또는 max_concurrency)
--workload-iters 10 탐색할 워크로드 레벨 수
vllm bench sweep serve_workload \
    --workload-var request_rate \
    --workload-iters 10 \
    --output-dir results \
    --experiment-name my-sweep

더 알아보기 (Learn more)