قياس Azure Cosmos DB لأداء NoSQL باستخدام إطار عمل قياس

هناك المزيد من الخيارات، الآن أكثر من أي وقت مضى، على نوع قاعدة البيانات لاستخدامها مع حمل عمل البيانات. أحد العوامل الرئيسية لاختيار قاعدة بيانات هو أداء قاعدة البيانات أو الخدمة، ولكن يمكن أن يكون أداء قياس الأداء مرهقا وعرضة للخطأ. يبسط إطار عمل قياس الأداء لقواعد بيانات Azure عملية قياس الأداء باستخدام أدوات قياس الأداء مفتوحة المصدر الشائعة مع وصفات منخفضة الاحتكاك تنفذ أفضل الممارسات الشائعة. في Azure Cosmos DB ل NoSQL، ينفذ إطار العمل أفضل الممارسات ل Java SDK ويستخدم أداة YCSB مفتوحة المصدر. في هذا الدليل، يمكنك استخدام إطار عمل القياس هذا لتنفيذ حمل عمل للقراءة للتعرف على إطار العمل.

المتطلبات الأساسية

إنشاء موارد حساب Azure Cosmos DB

أولا، يمكنك إنشاء قاعدة بيانات وحاوية في واجهة برمجة التطبيقات الموجودة لحساب NoSQL.

  1. انتقل إلى واجهة برمجة التطبيقات الموجودة لحساب NoSQL في مدخل Microsoft Azure.

  2. في قائمة الموارد، حدد Data Explorer.

    لقطة شاشة لخيار مستكشف البيانات المميز في قائمة الموارد.

  3. في صفحة Data Explorer ، حدد الخيار New Container في شريط الأوامر.

    لقطة شاشة لخيار حاوية جديدة في شريط أوامر مستكشف البيانات.

  4. في مربع الحوار حاوية جديدة، قم بإنشاء حاوية جديدة بالإعدادات التالية:

    الإعداد القيمة‬
    مُعرِّف قاعدة البيانات ycsb
    نوع معدل نقل قاعدة البيانات يدوي
    مقدار معدل نقل قاعدة البيانات 400
    معرف الحاوية usertable
    مفتاح التقسيم⁧ /id

    لقطة شاشة لمربع حوار New Container في صفحة Data Explorer.

توزيع إطار عمل قياس الأداء إلى Azure

الآن، يمكنك استخدام قالب Azure Resource Manager لنشر إطار عمل القياس إلى Azure مع وصفة القراءة الافتراضية.

  1. نشر إطار عمل قياس الأداء باستخدام قالب Azure Resource Manager المتوفر في هذا الارتباط.

    توزيع على زر Azure.

  2. في صفحة النشر المخصص، المعلمات التالية

    لقطة شاشة لصفحة النشر المخصص مع تعبئة قيم المعلمات.

  3. حدد Review + create ثم Create لنشر القالب.

  4. انتظر حتى يكتمل التوزيع.

    تلميح

    يمكن أن يستغرق النشر من 5 إلى 10 دقائق حتى يكتمل.

عرض نتائج المعيار

الآن، يمكنك استخدام حساب Azure Storage الحالي للتحقق من حالة المهمة القياسية وعرض النتائج المجمعة. يتم تخزين الحالة باستخدام جدول تخزين ويتم تجميع النتائج في كائن ثنائي كبير الحجم للتخزين باستخدام تنسيق CSV.

  1. انتقل إلى حساب Azure Storage الموجود في مدخل Microsoft Azure.

  2. انتقل إلى جدول تخزين يسمى ycsbbenchmarkingmetadata وحدد موقع الكيان الذي يحتوي على مفتاح قسم ل ycsb_sql.

    لقطة شاشة لجدول ycsbbenchmarkingMetadata في حساب تخزين.

  3. JobStatus مراقبة حقل كيان الجدول. في البداية، تكون حالة المهمة Started وتتضمن طابعا زمنيا في الخاصية JobStartTime ولكن ليس الخاصية JobFinishTime .

  4. انتظر حتى يكون للوظيفة حالة Finished وتتضمن طابعا زمنيا في الخاصية JobFinishTime .

    تلميح

    قد يستغرق انتهاء المهمة ما يقرب من 20-30 دقيقة.

  5. انتقل إلى حاوية التخزين في نفس الحساب مع بادئة ycsbbenchmarking-*. لاحظ الكائنات الثنائية كبيرة الحجم الناتجة والتشخيصية للأداة.

    لقطة شاشة للحاوية والكائنات الثنائية كبيرة الحجم للإخراج من أداة القياس.

  6. افتح الكائن الثنائي كبير الحجم aggregation.csv ولاحظ المحتوى. يجب أن يكون لديك الآن مجموعة بيانات CSV مع نتائج مجمعة من جميع العملاء القياسيين.

    لقطة شاشة لمحتوى كائن ثنائي كبير الحجم لنتائج التجميع.

    Operation,Count,Throughput,Min(microsecond),Max(microsecond),Avg(microsecond),P9S(microsecond),P99(microsecond)
    READ,180000,299,706,448255,1079,1159,2867
    

الوصفات

يتضمن إطار عمل قياس الأداء لقواعد بيانات Azure وصفات لتغليف تعريفات حمل العمل التي يتم تمريرها إلى أداة قياس الأداء الأساسية لتجربة "1-Click". تم تصميم تعريفات حمل العمل بناء على أفضل الممارسات التي نشرها فريق Azure Cosmos DB وفريق أداة القياس. تم اختبار الوصفات والتحقق من صحتها للحصول على نتائج متسقة.

يمكنك أن تتوقع رؤية زمن الانتقال التالي لجميع وصفات القراءة والكتابة في مستودع GitHub.

  • زمن انتقال القراءة

    رسم تخطيطي لزمن انتقال القراءة النموذجي الذي يبلغ متوسطه حوالي 1 مللي ثانية إلى 2 مللي ثانية.

  • زمن انتقال الكتابة

    رسم تخطيطي لزمن انتقال الكتابة النموذجي الذي يبلغ متوسطه حوالي 4 مللي ثانية.

المشكلات الشائعة

يتضمن هذا القسم الأخطاء الشائعة التي قد تحدث عند تشغيل أداة القياس. عادة ما تتوفر سجلات الخطأ للأداة في حاوية داخل حساب Azure Storage.

لقطة شاشة للحاوية والكائنات الثنائية كبيرة الحجم في حساب تخزين.

  • إذا لم تكن السجلات متوفرة في حساب التخزين، فعادة ما تحدث هذه المشكلة بسبب سلسلة الاتصال تخزين غير صحيح أو مفقود. في هذه الحالة، يتم سرد هذا الخطأ في ملف agent.out داخل المجلد /home/benchmarking للجهاز الظاهري للعميل.

    Error while accessing storage account, exiting from this machine in agent.out on the VM
    
  • يتم سرد هذا الخطأ في ملف agent.out في كل من الجهاز الظاهري للعميل وحساب التخزين إذا كان عنوان URI لنقطة نهاية Azure Cosmos DB غير صحيح أو لا يمكن الوصول إليه.

    Caused by: java.net.UnknownHostException: rtcosmosdbsss.documents.azure.com: Name or service not known 
    
  • يتم سرد هذا الخطأ في ملف agent.out في كل من الجهاز الظاهري للعميل وحساب التخزين إذا كان مفتاح Azure Cosmos DB غير صحيح.

    The input authorization token can't serve the request. The wrong key is being used….
    

الخطوات التالية

  • تعرف على المزيد حول أداة قياس الأداء باستخدام دليل البدء.