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

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

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

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

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

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

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

    لقطة شاشة لخيار Data Explorer المميز في قائمة الموارد.

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

    لقطة شاشة لخيار New Container في شريط أوامر Data Explorer.

  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….
    

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

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