باختصار
- أُجري اختبار أداء لخدمة Postgres managed by ClickHouse مقارنةً مع AWS RDS (16k provisioned IOPS) وAurora IO Optimized باستخدام اختبارات
pgbenchالقياسية - الأداء: يوفّر Postgres من ClickHouse والمدعوم بأقراص NVMe أداءً أسرع بمقدار 4.3 إلى 9 مرات في workloads كثيفة الـIO، وأسرع بنسبة 12% في السيناريوهات المقيّدة بالـ CPU
- مثالي لـأعباء العمل المدفوعة بالذكاء الاصطناعي سريعة النمو التي تتطلب معدلات transaction مرتفعة، ووصولًا منخفض الكمون إلى البيانات، وأداءً متوقعًا من دون اختناقات IO
نظرة عامة على الاختبارات المعيارية
pgbench، أداة PostgreSQL القياسية للاختبارات المعيارية، لتقييم أداء أعباء العمل في سيناريوهات التزامن المتوسط والعالي.
اختبارات الأداء
الاختبار 1: كثيف الإدخال/الإخراج - قراءة+كتابة (مجموعة بيانات بحجم 500 جيجابايت)
- TPS أعلى بنسبة 326% (أسرع بمقدار 4.3x)
- TPS أعلى بنسبة 345% (أسرع بمقدار 4.5x)
الإعداد
تكوين الاختبار:
الاختبار 2: كثيف عمليات الإدخال/الإخراج - للقراءة فقط (مجموعة بيانات بحجم 500 جيجابايت)
- زيادة بنسبة 802% في TPS (أسرع بمقدار 9.0x)
الإعداد
تكوين الاختبار:
الاختبار 3: مكثّف الاستخدام للـ CPU (البيانات تتّسع في الذاكرة)
- TPS أعلى بنسبة 12.3% مقارنةً بـ RDS PostgreSQL
الإعداد
تكوين الاختبار:
ملخص الأداء
النتائج الرئيسية
- أعباء العمل المكثفة للقراءة والكتابة من حيث IO: معدل TPS أعلى بمقدار 4.3-4.5 مرة مقارنةً بـ RDS (16k IOPS) وAurora IO Optimized
- أعباء العمل المكثفة للقراءة من حيث IO: معدل TPS أعلى بمقدار 9 مرات مقارنةً بـ RDS with 16k IOPS
- أعباء العمل المقيّدة بالـ CPU: معدل TPS أعلى بنسبة 12% مقارنةً بـ RDS
متى يتفوّق Postgres by ClickHouse
- تشغّل أعباء عمل مدفوعة بالذكاء الاصطناعي وسريعة النمو وتتطلب استيعاب البيانات بمعدل نقل عالٍ، مع عمليات upsert متكررة، وتحديثات للسمات في الوقت الفعلي، وإمكانات تحليلات مدمجة عبر تكامل سلس مع ClickHouse لأعباء عمل OLAP
- تُجري عمليات كتابة أو تحديث متكررة، أو عمليات قراءة/كتابة مختلطة
- تحتاج إلى تخزين عالي الأداء ويمكن التنبؤ بأدائه
- تكون مقيّدة حاليًا بحدود IOPS في خدمات Postgres المُدارة التقليدية
ميزة معمارية NVMe
لمزيد من التفاصيل حول مزايا الأداء التي يوفرها تخزين NVMe، راجع الأداء المدعوم بـ NVMe.
الجدوى من حيث التكلفة
- إنتاجية أعلى مقابل كل دولار: حقّق TPS أعلى بمقدار 4 إلى 9 مرات مقارنةً بـ RDS مع 16k provisioned IOPS وAurora IO Optimized
- تكاليف متوقعة: لا حاجة إلى تخصيص سعة IOPS إضافية، إذ إن IOPS المحلية غير المحدودة مشمولة
- متطلبات حوسبة أقل: حقّق الأداء المستهدف باستخدام أحجام instance أصغر بفضل كفاءة I/O
- حاجة أقل إلى read replicas: تقلّل الإنتاجية الأعلى للمثيل الواحد الحاجة إلى horizontal scaling