Benchmarks¶
searxng-mcp includes a benchmark harness so you can measure backend latency, tool-layer latency, cache effects, and visible token counts.
What It Measures¶
- direct SearXNG backend search time
searchsearch_manyresearchfetch_urlfetch_many- cold cache and warm cache runs
- visible token count in the model-facing text
Run It¶
From a checkout (after uv sync):
uv run searxng-mcp-bench --rounds 3 --max-results 5
If the entry point is on PATH:
searxng-mcp-bench --rounds 3 --max-results 5
Custom fetch target:
uv run searxng-mcp-bench \
--rounds 3 \
--max-results 5 \
--fetch-url https://docs.python.org/3/library/asyncio-task.html
How To Read The Output¶
Look for:
- low backend search latency
- low visible token counts for common requests
- large cold-to-warm improvement when cache hits are working
- stable
fetch_manyandresearchtimings under concurrency
Practical Interpretation¶
- high backend latency usually means the SearXNG instance or its upstream engines are slow
- high tool-layer latency usually means fetch or render work is dominating
- high visible token counts mean your prompt shaping needs tightening
Why This Matters¶
The benchmark helps answer a practical question:
can the server stay fast while still returning enough detail for a model to act on?