VictoriaLogs مقابل Loki - نتائج اختبارات الأداء

Built for Speed: ~10ms Latency, Even Under Load
Blazingly fast way to build, track and deploy your models!
- Handles 350+ RPS on just 1 vCPU — no tuning needed
- Production-ready with full enterprise support
ملخص – بعد إجراء اختبارات مقارنة على عبء عمل بحجم 500 جيجابايت/7 أيام، قللت VictoriaLogs من زمن استجابة الاستعلامات بنسبة 94 %، وقلصت مساحة التخزين بنسبة ≈40 %، واستخدمت أقل من 50 % من وحدة المعالجة المركزية والذاكرة العشوائية التي خصصناها سابقًا لـ Loki. يشرح هذا المنشور لماذا انتقلنا.
الخلفية والمتطلبات
تساعد Truefoundry المطورين على تشغيل أعباء عمل التعلم الآلي متعددة المستأجرين على Kubernetes.
يحتاج المطورون إلى:
- بحث سريع ومخصص
- معدل استيعاب جيد
- متابعة مباشرة للتصحيح.
- أقل عبء تشغيلي – يُفضل النشر بملف ثنائي واحد.
- كفاءة في استخدام الموارد التشغيل على 4 معالجات افتراضية / 16 جيجابايت ذاكرة وصول عشوائي عقدة
- نسبة عالية ضغط على السجلات المخزنة
- تخزين الكتل > يُفضل S3 لتقليل العبء التشغيلي. + زمن الاستجابة
لقد خدمنا Loki جيدًا في البداية، ولكن مع تزايد الحجم، لاحظنا زمن استجابة للبحث يتجاوز 30 ثانية وتضخيمًا عاليًا لعمليات الإدخال/الإخراج. وقد دفعنا هذا إلى تقييم VictoriaLogs.
ما هو Loki؟
Loki هو نظام تجميع السجلات من Grafana-Labs الذي يخزن السجلات في أجزاء مضغوطة مصحوبة بفهرس مبني على تسميات (أزواج المفتاح-القيمة). يتم التعبير عن الاستعلامات في LogQL وتعتمد بشكل كبير على مرشحات التسميات متبوعة بتصفية الأسطر.
- نقاط القوة: تكامل قوي مع Grafana، فهرس منخفض التكلفة، قابل للتوسع أفقيًا.
- محددات بالنسبة لنا: فهرس يعتمد على التسميات فقط يعني عمليات بحث مكلفة باستخدام التعبيرات النمطية بمسح كامل؛ عمليات إدخال/إخراج عالية لضغط الكتل؛ عبء إضافي على جامع القمامة (GC) في Go عند الاستيعاب العالي للبيانات.
ما هو VictoriaLogs؟
VictoriaLogs هي قاعدة بيانات سجلات من فريق VictoriaMetrics. تستخدم تخزينًا عموديًا على غرار LSM مع فهارس لكل حقل، وبحث مُسرّع بتقنية SIMD، و LogSQL شبيه بـ SQL في بناء الجملة.
- نقاط القوة: فهرس نصي كامل على جميع الرموز؛ ملف تنفيذي واحد؛ استهلاك منخفض جدًا للذاكرة؛ عمليات مسح سريعة للذاكرة المؤقتة الباردة.
- المفاضلات: نظام بيئي أصغر، عدد أقل من عمليات التكامل المضمنة (نقوم بتمرير البيانات عبر Vector).
منهجية الاختبار المعياري
مجموعة الاستعلامات
- الإحصائيات – إجمالي عدد الأسطر لمرشح في آخر 24 ساعة.
- إبرة في كومة قش – 3-4 سطر ثابت
[UNIQUE-STATIC-LOG] ID=abc123 XYZفي مساحة اسم مليئة بالسجلات الكثيفة على مدار 7 أيام. - سلبي – سلسلة نصية لا توجد (تفرض فحصًا كاملاً) على مدار 7 أيام.
🔍 أداء الاستعلام
1. استعلام الإحصائيات (عدد السجلات على مدار 24 ساعة)
الغرض: إجمالي سطور السجل من app="servicefoundry-server"
2. استعلام إبرة في كومة قش (7 أيام، ~500 جيجابايت)
الغرض: البحث عن سطر سجل ثابت فريد في truefoundry مساحة الاسم
3. مطابقة سجل إعادة تشغيل التطبيق (7 أيام) (استعلام إضافي للتحقق من الخطوة 2)
الغرض: البحث عن نمط إعادة تشغيل معروف :3000 في مجموعة فرعية صغيرة من السجلات (تستهدف جزءًا واحدًا)
تم التحقق من أن مجموعات النتائج متطابقة.
4. مطابقة سجل غير موجود (7 أيام)
الغرض: البحث عن سجل غير موجود، مما يؤدي إلى تشغيل بحث كامل للبيانات
تم التحقق من أن مجموعات النتائج متطابقة.
عند معالجة بيانات بحجم 500 جيجابايت، تصرف Loki بغرابة. اختنقت الموارد وتوقفت استجابة الاستعلام.
Loki مقابل VictoriaLogs: النتائج في لمحة
ركز تقييمنا على ثلاثة أبعاد تهم مهندسي المنصات في عملهم اليومي:
- ما مدى سرعة حصولنا على الإجابات؟
- كم تكلف هذه السرعة من الموارد؟
- ما مدى استقرار التجربة تحت الحمل الحقيقي؟
أداء الاستعلام
لماذا هذا الفارق؟ يحتفظ VictoriaLogs بفهرس لكل رمز، لذا حتى عمليات الفحص الشبيهة بالتعابير النمطية تكون مدعومة بالفهرس. على النقيض من ذلك، يقوم Loki بالتصفية سطرًا بسطر بعد استعلام التسمية، مما يتحول إلى فحص بالقوة الغاشمة عندما تكون مجموعة التسميات واسعة.
🌪️ · أداء الاستيعاب
كما اختبرنا أداء الاستيعاب تحت الضغط باستخدام 120 نسخة متماثلة من flog مولد.
كانت النتائج مذهلة:

Loki:

يرتفع استهلاك Loki إلى 3-4 vCPU، ويقترب من حده الأقصى البالغ 8 جيجابايت، ويظهر تباطؤًا تحت نفس عبء العمل
VictoriaLogs:

👉 الخلاصة الرئيسية: قدمت VictoriaLogs سرعة استيعاب أعلى بثلاثة أضعاف بينما تستهلك أقل بنسبة 72% من وحدة المعالجة المركزية و أقل بنسبة 87% من الذاكرة مقارنة بـ Loki.
تبقى VictoriaLogs بأريحية دون حدودها البالغة 4 vCPU / 8 جيجابايت حتى أثناء فترات الاستيعاب المكثفة
2 · استهلاك الموارد (احتفاظ لمدة 7 أيام)
Loki

الذاكرة المستخدمة: تستخدم باستمرار 6-7 جيجابايت من ذاكرة الوصول العشوائي
ذروة استخدام المعالج: 3 vCPU
VictoriaLogs

الذاكرة المستخدمة: 800 ميجابايت - 900 ميجابايت
ذروة استخدام وحدة المعالجة المركزية: 1.1 vCPU
3 · حمل واقعي (تشغيل Locust لمدة دقيقتين بواسطة 10 مستخدمين و 2 تصاعد)
كانت الاستعلامات متشابهة، مع حدود عشوائية ونطاق زمني عشوائي، لضمان تدفقات ذاكرة التخزين المؤقت.
Victoria Logs

Loki

📌 على الرغم من معالجة معدل طلبات في الثانية أعلى بنسبة 36%، أظهر VictoriaLogs زمن استجابة أقل عند p95% وزمن استجابة ذيلي أقل — مما يثبت أن نموذج الفهرسة الخاص به يصمد تحت الضغط مع 3.6 ضعف أسرع p99%

عزز هذا الاختبار قرارنا: VictoriaLogs ليس أسرع نظريًا فحسب، بل يتوسع بشكل أفضل تحت الضغط في أعباء العمل الشبيهة بالإنتاج.
خلاصة الأرقام
- أسرع بنسبة 70-94% عبر أنماط البحث الشائعة.
- أصغر بنسبة 40% تقريبًا على القرص مع نفس فترة الاحتفاظ.
- نصف موارد الحوسبة، مما يوفر وحدة معالجة مركزية افتراضية كاملة وحوالي 1-2 جيجابايت من ذاكرة الوصول العشوائي على أصغر العقد لدينا.
الخلاصة: بالنسبة لحالة استخدام كثيفة السجلات وتتمحور حول البحث، يتيح لنا VictoriaLogs الإجابة على الأسئلة في ثوانٍ بدلاً من دقائق مع خفض تكاليف البنية التحتية.
النتائج الرئيسية
- أهمية فهرس النص الكامل – فهرس VictoriaLogs القائم على الرموز يلغي تصفية الأسطر بالقوة الغاشمة.
- تخطيط التخزين – التخزين العمودي + LSM يقلل بشكل كبير من الحجم على القرص وعمليات البحث في القرص.
- كفاءة الذاكرة – حررنا حوالي 2 جيجابايت من ذاكرة الوصول العشوائي لكل عقدة، مما يسمح بجدولة أكثر كثافة.
- بساطة التشغيل – كلاهما يعمل بملف تنفيذي واحد، لكن VictoriaLogs لم يحتج أي ضبط مخصص لتحقيق هذه الأرقام.
الاستنتاج
بالنسبة لملفات تعريف أعباء العمل التي تعتمد بشكل كبير على البحث النصي المخصص، قدمت VictoriaLogs فارقًا كبيرًا في سرعة الاستعلامات وتوفيرًا ماديًا في التكاليف. يظل Loki خيارًا ممتازًا عندما تسود التكاملات المحكمة مع Grafana والاستعلامات القائمة على التسميات أولاً، لكن VictoriaLogs هو الآن خيارنا الافتراضي للمجموعات عالية الاستيعاب والتي تركز على المطورين.
المراجع
الأسئلة الشائعة
ما هو الفرق الرئيسي بين VictoriaLogs و Loki؟
الفرق الرئيسي بين VictoriaLogs و Loki يكمن في الفهرسة المتقدمة لكل رمز والتخزين العمودي في VictoriaLogs. يتيح ذلك أداء استعلامات أسرع بكثير واستخدامًا أقل للموارد بشكل ملحوظ مقارنة بفهرسة Loki المعتمدة على التسميات فقط، والتي غالبًا ما تؤدي إلى عمليات بحث أبطأ بمسح كامل ونفقات تشغيلية أعلى لإدارة السجلات.
هل VictoriaLogs أسرع من Loki؟
نعم، في اختبارات الأداء الصارمة التي أجريناها، أظهرت VictoriaLogs سرعة فائقة مقارنة بـ Loki. في مقارنات VictoriaLogs مقابل Loki، قللت VictoriaLogs من زمن استجابة الاستعلامات بنسبة 94% وحققت أوقات بحث أسرع بـ 12 مرة للاستعلامات المعقدة. كما قدمت أداء استيعاب أعلى بـ 3 مرات، مما يجعلها أكثر كفاءة بشكل ملحوظ.
ما هو المنفذ الافتراضي لـ VictoriaLogs؟
عند تقييم VictoriaLogs مقابل Loki، من المفيد معرفة تفاصيل الإعداد. تستخدم VictoriaLogs عادةً المنفذ 8428 لواجهة برمجة تطبيقات HTTP الافتراضية ونقاط نهاية التجميع. يتيح هذا المنفذ الوصول والتفاعل مع قاعدة بيانات السجلات. بينما تركز مدونتنا على الأداء، فإن فهم أساسيات النشر، مثل المنفذ الافتراضي، أمر بالغ الأهمية لتكوين النظام.
ما هي نتائج اختبارات الأداء لـ VictoriaLogs مقابل Loki؟
في اختبارات الأداء التي قارنت VictoriaLogs بـ Loki، قدمت VictoriaLogs أداءً فائقًا. فقد حققت انخفاضًا بنسبة 94% في زمن استجابة الاستعلامات، وقللت من استخدام التخزين بنسبة 40% تقريبًا، واستهلكت أقل من 50% من وحدة المعالجة المركزية والذاكرة العشوائية المخصصة. كما أظهرت VictoriaLogs إنتاجية استيعاب أعلى بـ 3 مرات، مما يجعلها عالية الكفاءة.
أيهما أفضل: VictoriaLogs أم Loki؟
في اختبارات الأداء التي أجريناها لـ VictoriaLogs مقابل Loki، أثبتت VictoriaLogs تفوقها. فقد خفضت زمن استجابة الاستعلامات بنسبة 94%، وقللت التخزين بنسبة 40%، واستخدمت أقل من 50% من وحدة المعالجة المركزية/الذاكرة العشوائية. اختارت TrueFoundry في الولايات المتحدة VictoriaLogs لأدائها وكفاءتها المحسّنة في إدارة أعباء عمل التعلم الآلي.
TrueFoundry AI Gateway delivers ~3–4 ms latency, handles 350+ RPS on 1 vCPU, scales horizontally with ease, and is production-ready, while LiteLLM suffers from high latency, struggles beyond moderate RPS, lacks built-in scaling, and is best for light or prototype workloads.
The fastest way to build, govern and scale your AI





















.png)
.webp)










.webp)






