Se connecte à un serveur ClickHouse et envoie à plusieurs reprises les requêtes spécifiées.
Syntaxe
ou
ou
Si vous voulez envoyer plusieurs requêtes, créez un fichier texte et placez chaque requête sur une ligne distincte dans ce fichier. Par exemple :
Passez ensuite ce fichier via l’entrée standard de clickhouse-benchmark :
Options en ligne de commande
--query=QUERY — Requête à exécuter. Si ce paramètre n’est pas fourni, clickhouse-benchmark lira les requêtes depuis l’entrée standard.
--query_id=ID — ID de requête.
--query_id_prefix=ID_PREFIX — Préfixe d’ID de requête.
--queries-format=FORMAT — Format des requêtes lues depuis l’entrée standard. Valeurs possibles : tsv (par défaut, une requête par ligne avec les tabulations échappées) et script (analyse l’entrée comme un script contenant plusieurs requêtes séparées par des points-virgules). Limitation de script : les requêtes INSERT ... FORMAT doivent tenir sur une seule ligne.
-c N, --concurrency=N — Nombre de requêtes que clickhouse-benchmark envoie simultanément. Valeur par défaut : 1.
-C N, --max_concurrency=N — Augmente progressivement le nombre de requêtes parallèles jusqu’à la valeur spécifiée, en produisant un rapport pour chaque niveau de concurrence.
--precise — Active des rapports précis par intervalle avec des métriques pondérées.
-d N, --delay=N — Intervalle en secondes entre les rapports intermédiaires (pour désactiver les rapports, définissez cette valeur sur 0). Valeur par défaut : 1.
-h HOST, --host=HOST — Hôte du serveur. Valeur par défaut : localhost. Pour le mode de comparaison, vous pouvez utiliser plusieurs clés -h.
-i N, --iterations=N — Nombre total de requêtes. Valeur par défaut : 0 (répéter indéfiniment).
-r, --randomize — Exécute les requêtes dans un ordre aléatoire s’il y a plus d’une requête en entrée.
-s, --secure — Utilise une connexion TLS.
-t N, --timelimit=N — Limite de temps en secondes. clickhouse-benchmark cesse d’envoyer des requêtes lorsque la limite de temps spécifiée est atteinte. Valeur par défaut : 0 (limite de temps désactivée).
--port=N — Port du serveur. Valeur par défaut : 9000. Pour le mode de comparaison, vous pouvez utiliser plusieurs clés --port.
--confidence=N — Niveau de confiance pour le t-test. Valeurs possibles : 0 (80 %), 1 (90 %), 2 (95 %), 3 (98 %), 4 (99 %), 5 (99,5 %). Valeur par défaut : 5. Dans le mode de comparaison, clickhouse-benchmark effectue le test t de Student indépendant à deux échantillons afin de déterminer si les deux distributions ne diffèrent pas au niveau de confiance sélectionné.
--cumulative — Affiche des données cumulées au lieu des données par intervalle.
--database=DATABASE_NAME — Nom de la base de données ClickHouse. Valeur par défaut : default.
--user=USERNAME — Nom d’utilisateur ClickHouse. Valeur par défaut : default.
--password=PSWD — Mot de passe de l’utilisateur ClickHouse. Valeur par défaut : chaîne vide.
--stacktrace — Affichage des traces de pile. Lorsque cette clé est définie, clickhouse-benchmark affiche les traces de pile des exceptions.
--stage=WORD — Étape du traitement de la requête sur le serveur. ClickHouse arrête le traitement de la requête et renvoie une réponse à clickhouse-benchmark à l’étape spécifiée. Valeurs possibles : complete, fetch_columns, with_mergeable_state. Valeur par défaut : complete.
--roundrobin — Au lieu de comparer les requêtes pour différents --host/--port, sélectionnez simplement un --host/--port aléatoire pour chaque requête et envoyez-lui la requête.
--reconnect=N — Contrôle le comportement de reconnexion. Valeurs possibles : 0 (ne jamais se reconnecter), 1 (se reconnecter pour chaque requête) ou N (se reconnecter après chaque N requêtes). Valeur par défaut : 0.
--max-consecutive-errors=N — Nombre d’erreurs consécutives autorisées. Valeur par défaut : 0.
--ignore-error,--continue_on_errors — Continue le test même si certaines requêtes ont échoué.
--client-side-time — Affiche le temps incluant la communication réseau au lieu du temps côté serveur ; notez que, pour les versions du serveur antérieures à 22.8, le temps affiché est toujours le temps côté client.
--proto-caps — Active/désactive le chunking lors du transfert des données. Choix possibles (séparés par des virgules) : chunked_optional, notchunked, notchunked_optional, send_chunked, send_chunked_optional, send_notchunked, send_notchunked_optional, recv_chunked, recv_chunked_optional, recv_notchunked, recv_notchunked_optional. Valeur par défaut : notchunked.
--help — Affiche le message d’aide.
--verbose — Augmente le niveau de détail du message d’aide.
Si vous souhaitez appliquer certains paramètres aux requêtes, indiquez-les sous la forme d’une clé --<session setting name>= SETTING_VALUE. Par exemple, --max_memory_usage=1048576.
Options des variables d’environnement
Le nom d’utilisateur, le mot de passe et l’hôte peuvent être définis à l’aide des variables d’environnement CLICKHOUSE_USER, CLICKHOUSE_PASSWORD et CLICKHOUSE_HOST.
Les arguments de ligne de commande --user, --password ou --host sont prioritaires sur les variables d’environnement.
Par défaut, clickhouse-benchmark génère un rapport à chaque intervalle --delay.
Exemple de rapport :
Dans le rapport, vous trouverez :
-
Le nombre de requêtes dans le champ
Queries executed:.
-
Une chaîne d’état contenant, dans l’ordre :
- L’endpoint du serveur ClickHouse.
- Le nombre de requêtes traitées.
- QPS : le nombre de requêtes exécutées par le serveur par seconde sur une période spécifiée dans l’argument
--delay.
- RPS : le nombre de lignes lues par le serveur par seconde sur une période spécifiée dans l’argument
--delay.
- MiB/s : le nombre de mébioctets lus par le serveur par seconde sur une période spécifiée dans l’argument
--delay.
- RPS de résultat : le nombre de lignes renvoyées par le serveur dans le résultat d’une requête par seconde sur une période spécifiée dans l’argument
--delay.
- MiB/s de résultat. Le nombre de mébioctets renvoyés par le serveur dans le résultat d’une requête par seconde sur une période spécifiée dans l’argument
--delay.
-
Les percentiles des temps d’exécution des requêtes.
clickhouse-benchmark peut comparer les performances de deux serveurs ClickHouse en fonctionnement.
Pour utiliser le mode de comparaison, indiquez les endpoints des deux serveurs à l’aide de deux paires de clés --host, --port. Les clés sont associées selon leur position dans la liste des arguments : le premier --host correspond au premier --port, et ainsi de suite. clickhouse-benchmark établit des connexions avec les deux serveurs, puis envoie des requêtes. Chaque requête est adressée à un serveur sélectionné aléatoirement. Les résultats sont affichés dans un tableau.
Dernière modification le 3 juillet 2026