الانتقال إلى المحتوى الرئيسي
يتصل بخادم ClickHouse ويرسل الاستعلامات المحددة بشكل متكرر. الصياغة
أو
أو
إذا أردت إرسال مجموعة من الاستعلامات، فأنشئ ملفًا نصيًا وضع كل استعلام في سطر منفصل داخل هذا الملف. على سبيل المثال:
ثم مرِّر هذا الملف إلى الإدخال القياسي لـ clickhouse-benchmark:

خيارات سطر الأوامر

  • --query=QUERY — الاستعلام المراد تنفيذه. إذا لم يُمرَّر هذا المَعلَم، فسيقرأ clickhouse-benchmark الاستعلامات من الإدخال القياسي.
  • --query_id=ID — معرّف الاستعلام.
  • --query_id_prefix=ID_PREFIX — بادئة معرّف الاستعلام.
  • --queries-format=FORMAT — تنسيق الاستعلامات المقروءة من الإدخال القياسي. القيم الممكنة: tsv (الافتراضي، استعلام واحد في كل سطر مع تهريب علامات الجدولة) وscript (تحليل الإدخال على أنه برنامج نصي يضم عدة استعلامات مفصولة بفواصل منقوطة). قيد script: يجب أن تكون استعلامات INSERT ... FORMAT في سطر واحد.
  • -c N, --concurrency=N — عدد الاستعلامات التي يرسلها clickhouse-benchmark بالتزامن. القيمة الافتراضية: 1.
  • -C N, --max_concurrency=N — يزيد عدد الاستعلامات المتوازية تدريجيًا حتى القيمة المحددة، مع إنشاء تقرير واحد لكل مستوى من مستويات التزامن.
  • --precise — يفعّل إعداد تقارير دقيقة لكل فاصل زمني باستخدام مقاييس موزونة.
  • -d N, --delay=N — الفاصل الزمني بالثواني بين التقارير المرحلية (لتعطيل التقارير، عيّن القيمة 0). القيمة الافتراضية: 1.
  • -h HOST, --host=HOST — مضيف الخادم. القيمة الافتراضية: localhost. في وضع المقارنة يمكنك استخدام عدة مفاتيح -h.
  • -i N, --iterations=N — العدد الإجمالي للاستعلامات. القيمة الافتراضية: 0 (تكرار بلا نهاية).
  • -r, --randomize — تنفيذ الاستعلامات بترتيب عشوائي إذا كان هناك أكثر من استعلام إدخال واحد.
  • -s, --secure — استخدام اتصال TLS.
  • -t N, --timelimit=N — المهلة الزمنية بالثواني. يتوقف clickhouse-benchmark عن إرسال الاستعلامات عند بلوغ المهلة المحددة. القيمة الافتراضية: 0 (المهلة الزمنية معطّلة).
  • --port=N — منفذ الخادم. القيمة الافتراضية: 9000. في وضع المقارنة يمكنك استخدام عدة مفاتيح --port.
  • --confidence=N — مستوى الثقة لاختبار t. القيم الممكنة: 0 (80%)، 1 (90%)، 2 (95%)، 3 (98%)، 4 (99%)، 5 (99.5%). القيمة الافتراضية: 5. في وضع المقارنة، يُجري clickhouse-benchmark اختبار Student’s t-test المستقل لعينتين لتحديد ما إذا كان التوزيعان غير مختلفين عند مستوى الثقة المحدد.
  • --cumulative — طباعة البيانات التراكمية بدلًا من البيانات لكل فاصل زمني.
  • --database=DATABASE_NAME — اسم قاعدة بيانات ClickHouse. القيمة الافتراضية: default.
  • --user=USERNAME — اسم مستخدم ClickHouse. القيمة الافتراضية: default.
  • --password=PSWD — كلمة مرور مستخدم ClickHouse. القيمة الافتراضية: سلسلة فارغة.
  • --stacktrace — إخراج stack traces. عند ضبط هذا المفتاح، يعرض clickhouse-benchmark stack traces الخاصة بالاستثناءات.
  • --stage=WORD — مرحلة معالجة الاستعلام على الخادم. يوقف ClickHouse معالجة الاستعلام ويعيد استجابة إلى clickhouse-benchmark عند المرحلة المحددة. القيم الممكنة: complete, fetch_columns, with_mergeable_state. القيمة الافتراضية: complete.
  • --roundrobin — بدلًا من مقارنة الاستعلامات عبر مجموعات --host/--port المختلفة، اختر --host/--port عشوائيًا لكل استعلام وأرسل الاستعلام إليه.
  • --reconnect=N — يتحكم في سلوك إعادة الاتصال. القيم الممكنة: 0 (عدم إعادة الاتصال مطلقًا)، 1 (إعادة الاتصال لكل استعلام)، أو N (إعادة الاتصال بعد كل N استعلامات). القيمة الافتراضية: 0.
  • --max-consecutive-errors=N — عدد الأخطاء المتتالية المسموح بها. القيمة الافتراضية: 0.
  • --ignore-error,--continue_on_errors — متابعة الاختبار حتى إذا فشلت الاستعلامات.
  • --client-side-time — عرض الوقت شاملاً الاتصال عبر الشبكة بدلًا من وقت جهة الخادم؛ لاحظ أنه في إصدارات الخادم الأقدم من 22.8 نعرض دائمًا وقت جهة العميل.
  • --proto-caps — تمكين/تعطيل chunking في نقل البيانات. الخيارات (يمكن فصلها بفواصل): 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. القيمة الافتراضية: notchunked.
  • --help — يعرض رسالة المساعدة.
  • --verbose — يزيد مستوى تفصيل رسالة المساعدة.
إذا كنت تريد تطبيق بعض الإعدادات على الاستعلامات، فمرّرها بالصيغة --<session setting name>= SETTING_VALUE. على سبيل المثال، --max_memory_usage=1048576.

خيارات متغيرات البيئة

يمكن تعيين اسم المستخدم وكلمة المرور والمضيف عبر متغيرات البيئة CLICKHOUSE_USER وCLICKHOUSE_PASSWORD وCLICKHOUSE_HOST. تأخذ وسيطات سطر الأوامر --user أو --password أو --host الأسبقية على متغيرات البيئة.

المخرجات

يعرض clickhouse-benchmark، بشكل افتراضي، تقريرًا لكل فترة --delay. مثال على التقرير:
في التقرير يمكنك العثور على:
  • عدد الاستعلامات في الحقل Queries executed:.
  • سلسلة الحالة التي تتضمن (بالترتيب):
    • نقطة نهاية خادم ClickHouse.
    • عدد الاستعلامات التي تمت معالجتها.
    • QPS: عدد الاستعلامات التي ينفذها الخادم في الثانية خلال فترة محددة في الوسيط --delay.
    • RPS: عدد الصفوف التي يقرأها الخادم في الثانية خلال فترة محددة في الوسيط --delay.
    • MiB/s: عدد الميبيبايت التي يقرأها الخادم في الثانية خلال فترة محددة في الوسيط --delay.
    • result RPS: عدد الصفوف التي يضيفها الخادم إلى ناتج الاستعلام في الثانية خلال فترة محددة في الوسيط --delay.
    • result MiB/s. عدد الميبيبايت التي يضيفها الخادم إلى ناتج الاستعلام في الثانية خلال فترة محددة في الوسيط --delay.
  • النسب المئينية لزمن تنفيذ الاستعلامات.

وضع المقارنة

يمكن لـ clickhouse-benchmark مقارنة الأداء بين خادمي ClickHouse عاملَين. لاستخدام وضع المقارنة، حدِّد نقاط النهاية لكلا الخادمين باستخدام زوجين من المفتاحين --host و--port. تُقرَن المفاتيح معًا بحسب موضعها في قائمة الوسائط؛ إذ يُقرَن أول --host مع أول --port وهكذا. ينشئ clickhouse-benchmark اتصالين بكلا الخادمين، ثم يرسل الاستعلامات. ويُوجَّه كل استعلام إلى خادم يُختار عشوائيًا. وتُعرَض النتائج في جدول.

مثال

آخر تعديل في ٢٥ يونيو ٢٠٢٦