Install
$ agentstack add skill-vllm-project-vllm-skills-vllm-bench-serve ✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.
Security review
✓ PassedNo issues found. Passed automated security review. · v0.1.0 How review works →
- ✓ Prompt-injection patterns
- ✓ Secret / credential exfiltration
- ✓ Dangerous shell & filesystem operations
- ✓ Untrusted network calls
- ✓ Known-malicious package signatures
What it can access
- ✓ Network access No
- ✓ Filesystem access No
- ✓ Shell / process execution No
- ✓ Environment & secrets No
- ✓ Dynamic code execution No
From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.
Verified badge
Passed review? Show it. Paste this badge into your README, it links to the public security report.
Reliability & compatibility
Declared compatibility
Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.
We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.
How agent discovery & health will work →About
vLLM Bench Serve
Benchmark vLLM or any OpenAI-compatible serving endpoint using the vllm bench serve CLI. Measures throughput, latency (TTFT, TPOT), and goodput against configurable request load.
Reference: vLLM Bench Serve Documentation
Prerequisites
- vLLM installed (or any OpenAI-compatible server running)
- A vLLM server or API endpoint already serving a model
- Python environment with vLLM for the benchmark client
Quick Start
Basic benchmark against local vLLM server (default random dataset, 1000 prompts):
vllm bench serve \
--backend openai-chat \
--host 127.0.0.1 \
--port 8000 \
--model Qwen/Qwen2.5-1.5B-Instruct \
--endpoint /v1/chat/completions
Save results to JSON:
vllm bench serve \
--backend openai-chat \
--host 127.0.0.1 \
--port 8000 \
--model Qwen/Qwen2.5-1.5B-Instruct \
--endpoint /v1/chat/completions \
--save-result \
--result-dir ./bench-results \
--metadata "version=0.6.0" "tp=1"
> Note: When using --backend openai-chat, you must specify --endpoint /v1/chat/completions (default is /v1/completions).
Core Arguments
| Argument | Default | Description | |----------|---------|-------------| | --backend | openai | Backend type: openai, openai-chat, openai-embeddings, vllm, vllm-pooling, vllm-rerank, etc. | | --host | 127.0.0.1 | Server host | | --port | 8000 | Server port | | --base-url | - | Alternative: full base URL instead of host:port | | --endpoint | /v1/completions | API endpoint; use /v1/chat/completions for openai-chat | | --model | (from /v1/models) | Model name | | --num-prompts | 1000 | Number of prompts to process | | --request-rate | inf | Requests per second; inf = burst all at once | | --max-concurrency | - | Max concurrent requests (caps parallelism) | | --num-warmups | 0 | Warmup requests before measuring |
Datasets
| --dataset-name | Use Case | |------------------|----------| | random | Synthetic random prompts (default) | | sharegpt | ShareGPT conversation format; requires --dataset-path | | sonnet | Sonnet-style prompts | | hf | HuggingFace dataset; requires --dataset-path (dataset ID) | | custom / custom_mm | Custom dataset; requires --dataset-path | | prefix_repetition | Prefix repetition benchmark | | random-mm | Random multimodal (images/videos) | | spec_bench | Spec bench dataset |
Dataset-specific options (examples):
# Random: control input/output length
--dataset-name random --random-input-len 1024 --random-output-len 128
# Sonnet defaults: input 550, output 150, prefix 200
--dataset-name sonnet --sonnet-input-len 550 --sonnet-output-len 150
# HuggingFace dataset
--dataset-name hf --dataset-path "lmarena-ai/VisionArena-Chat" --hf-split test
# General overrides (map to dataset-specific args)
--input-len 512 --output-len 256
Load Control
# Fixed request rate (Poisson process)
--request-rate 10
# More bursty arrivals (gamma distribution, burstiness vllm bench serve \
--backend openai-chat --host 127.0.0.1 --port 8000 \
--model Qwen/Qwen2.5-1.5B-Instruct \
--endpoint /v1/chat/completions \
--dataset-name random --num-prompts 100
Troubleshooting
- Connection refused: Ensure the server is running and
--host/--portor--base-urlare correct. - Model not found: Pass
--modelexplicitly or ensure/v1/modelsreturns the model. - URL must end with chat/completions: Use
--endpoint /v1/chat/completionswhen--backend openai-chat. - Rate limit / 429: Reduce
--request-rateor--max-concurrency. - Ready check: Use
--ready-check-timeout-sec 60to wait for the endpoint before benchmarking. - SSL: Use
--insecurefor self-signed certificates.
Notes
- For embeddings/rerank benchmarks, use
--backend openai-embeddings,vllm-pooling, orvllm-rerank. --profilerequires--profiler-configon the server for vLLM profiling.- Goodput SLOs are useful for SLA-style analysis; see DistServe paper for details.
Source & license
This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.
- Author: vllm-project
- Source: vllm-project/vllm-skills
- License: Apache-2.0
Install and usage instructions live in the source repository linked above.
Reviews
No reviews yet, be the first.
Write a review
Versions
- v0.1.0 Imported from the upstream source.