Agent skill · data analytics · jeremylongshore
clickhouse-rate-limits
Configure ClickHouse query concurrency, memory quotas, and connection limits. Use when hitting "too many simultaneous queries", managing concurrent users, or tuning server-side resource limits so an app never starves the cluster. Trigger with "clickhouse rate limit", "clickhouse concurrency", "clickhouse quota", "too many simultaneous queries", "clickhouse connection limit".
Why this skill is useful
Adds specific ClickHouse configuration patterns and client-side control snippets that the AI wouldn't reliably generate on its own.
What it needs
Requires @clickhouse/client installed locally. About 3k tokens when loaded. Last updated 2026-08-07. 2,604 stars on the source repository.
What this skill does
ClickHouse Rate Limits & Concurrency Overview ClickHouse has no REST API rate limits like a SaaS product. Instead it enforces server-side concurrency limits, memory quotas, and per-user settings that control resource usage. This skill configures those server-side limits and pairs them with client-side controls so an application stays within them under load. Prerequisites ClickHouse admin access (or Cloud console) to create quotas and settings profiles. The @clickhouse/client Node package for the client-side patterns. A rough target for peak concurrent queries and per-query memory. Instructions Work top-down: cap resources at the server, then make the client respect the cap. Step 1: Know the server-side limits The defaults you tune most often: Setting Default Controls --------- --------- ---------- maxconcurrentqueries 100 Queries running simultaneously maxconnections 4096 Max TCP/HTTP connections maxmemoryusage ~10GB Per-query memory maxexecutiontime 0 (unlimited) Per-query timeout (seconds) ClickHouse Cloud's management API (not the query interface) is separately limited to 10 requests per 10 seconds. Full table in references/implementation.md. Step 2: Cap resources per user (essential skeleton) Bind a quota and a settings profile to each application user: The full quota (CREATE QUOTA … FOR INTERVAL 1 HOUR MAX …) plus verification queries are in references/implementation.md. Step 3: Make the client respect the cap Four client-side patterns keep the app inside the server limits — connection pooling, an app-level concurrency queue (p-queue), retry-with-backoff on TOOMANYSIMULTANEOUSQUERIES, and insert buffering to avoid TOOMANYPARTS. Each is a drop-in TypeScript snippet in references/implementation.md, with the concurrency queue as the smallest starting point: Step 4: Monitor and verify Watch live concurrency and confirm limits bind with the queries in references/examples.md (system.processes, system.metrics, system.querylog, SHOW QUOTAS). …
How to use it
Reference it in AdaL, Claude Code, Cursor or any coding agent — nothing to install:
@skills jeremylongshore/clickhouse-rate-limits