clickhouse-benchmark:
Opciones de línea de comandos
--query=QUERY— Consulta que se va a ejecutar. Si no se pasa este parámetro,clickhouse-benchmarkleerá las consultas desde la entrada estándar.--query_id=ID— ID de consulta.--query_id_prefix=ID_PREFIX— Prefijo del ID de consulta.--queries-format=FORMAT— Formato de las consultas leídas desde la entrada estándar. Posibles valores:tsv(predeterminado, una consulta por línea con tabulaciones escapadas) yscript(analiza la entrada como un script de varias consultas separadas por punto y coma). Limitación descript: las consultasINSERT ... FORMATdeben estar en una sola línea.-c N,--concurrency=N— Número de consultas queclickhouse-benchmarkenvía simultáneamente. Valor predeterminado: 1.-C N,--max_concurrency=N— Aumenta gradualmente el número de consultas paralelas hasta el valor especificado, generando un informe para cada nivel de concurrencia.--precise— Habilita informes precisos por intervalo con métricas ponderadas.-d N,--delay=N— Intervalo en segundos entre informes intermedios (para desactivar los informes, establezca 0). Valor predeterminado: 1.-h HOST,--host=HOST— Host del servidor. Valor predeterminado:localhost. Para el modo de comparación puede usar varias opciones-h.-i N,--iterations=N— Número total de consultas. Valor predeterminado: 0 (repetir indefinidamente).-r,--randomize— Ejecuta las consultas en orden aleatorio si hay más de una consulta de entrada.-s,--secure— Usa una conexiónTLS.-t N,--timelimit=N— Límite de tiempo en segundos.clickhouse-benchmarkdeja de enviar consultas cuando se alcanza el límite de tiempo especificado. Valor predeterminado: 0 (límite de tiempo deshabilitado).--port=N— Puerto del servidor. Valor predeterminado: 9000. Para el modo de comparación puede usar varias opciones--port.--confidence=N— Nivel de confianza para la prueba t. Posibles valores: 0 (80%), 1 (90%), 2 (95%), 3 (98%), 4 (99%), 5 (99.5%). Valor predeterminado: 5. En el modo de comparación,clickhouse-benchmarkrealiza la prueba t de Student para dos muestras independientes para determinar si las dos distribuciones no son diferentes con el nivel de confianza seleccionado.--cumulative— Imprime datos acumulados en lugar de datos por intervalo.--database=DATABASE_NAME— Nombre de la base de datos de ClickHouse. Valor predeterminado:default.--user=USERNAME— Nombre de usuario de ClickHouse. Valor predeterminado:default.--password=PSWD— Contraseña del usuario de ClickHouse. Valor predeterminado: cadena vacía.--stacktrace— Muestra stack traces. Cuando se establece esta opción,clickhouse-benchmarkmuestra los stack traces de las excepciones.--stage=WORD— Etapa del procesamiento de la consulta en el servidor. ClickHouse detiene el procesamiento de la consulta y devuelve una respuesta aclickhouse-benchmarken la etapa especificada. Posibles valores:complete,fetch_columns,with_mergeable_state. Valor predeterminado:complete.--roundrobin— En lugar de comparar consultas para distintos--host/--port, elige un--host/--portaleatorio para cada consulta y la envía allí.--reconnect=N— Controla el comportamiento de reconexión. Posibles valores: 0 (no reconectar nunca), 1 (reconectar para cada consulta) o N (reconectar después de cada N consultas). Valor predeterminado: 0.--max-consecutive-errors=N— Número de errores consecutivos permitidos. Valor predeterminado: 0.--ignore-error,--continue_on_errors— Continúa la prueba incluso si las consultas fallan.--client-side-time— Muestra el tiempo incluyendo la comunicación de red en lugar del tiempo del lado del servidor; tenga en cuenta que, para versiones del servidor anteriores a 22.8, siempre mostramos el tiempo del lado del cliente.--proto-caps— Habilita o deshabilita la fragmentación en la transferencia de datos. Opciones (pueden separarse por comas):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. Valor predeterminado:notchunked.--help— Muestra el mensaje de ayuda.--verbose— Aumenta la verbosidad del mensaje de ayuda.
--<session setting name>= SETTING_VALUE. Por ejemplo, --max_memory_usage=1048576.
Opciones de variables de entorno
CLICKHOUSE_USER, CLICKHOUSE_PASSWORD y CLICKHOUSE_HOST.
Los argumentos de la línea de comandos --user, --password o --host tienen prioridad sobre las variables de entorno.
Salida
clickhouse-benchmark muestra resultados para cada intervalo --delay.
Ejemplo del informe:
-
Número de consultas en el campo
Queries executed:. -
Cadena de estado que contiene (en este orden):
- Endpoint del servidor de ClickHouse.
- Número de consultas procesadas.
- QPS: Cuántas consultas ejecutó el servidor por segundo durante el período especificado en el argumento
--delay. - RPS: Cuántas filas lee el servidor por segundo durante el período especificado en el argumento
--delay. - MiB/s: Cuántos mebibytes lee el servidor por segundo durante el período especificado en el argumento
--delay. - RPS del resultado: Cuántas filas añade el servidor al resultado de una consulta por segundo durante el período especificado en el argumento
--delay. - MiB/s del resultado. Cuántos mebibytes añade el servidor al resultado de una consulta por segundo durante el período especificado en el argumento
--delay.
- Percentiles del tiempo de ejecución de las consultas.
Modo de comparación
clickhouse-benchmark puede comparar el rendimiento de dos servidores ClickHouse en ejecución.
Para usar el modo de comparación, especifique los endpoints de ambos servidores mediante dos pares de opciones --host, --port. Las opciones se emparejan según su posición en la lista de argumentos: el primer --host se empareja con el primer --port, y así sucesivamente. clickhouse-benchmark establece conexiones con ambos servidores y luego envía consultas. Cada consulta se envía a un servidor seleccionado aleatoriamente. Los resultados se muestran en una tabla.