حساب Tencent Cloud: قياس عميق لأداء القرص السحابي القياسي
بالنسبة للعديد من المطورين الفرديين أو الشركات الصغيرة والمتوسطة التي تعرضت للتو للحوسبة السحابية ، عند شراء التخزين الاختياري لخادم Tencent Cloud (CVM) ، غالبًا ما يشعرون بالدوار من مجموعة من المصطلحات المهنية:
القرص السحابي عالي الأداء ، SSD القياسي ، SSD العام ، SSD السرعة القصوى...
من بينها ، غالبًا ما يتم استخدام "القرص السحابي القياسي" (يُطلق عليه أيضًا القرص السحابي عالي الأداء في بعض المستندات القديمة) كخيار أول للدخول بسبب سعره. لكن كما يقول المثل ، "كل دولار" ، يتذمر العديد من الأصدقاء في قلوبهم: هل هذا الشيء موثوق به ؟ هل ستعلق بطاقة على موقع ويب ؟ هل يمكنك تشغيل قاعدة بيانات صغيرة ؟
من أجل مساعدة الجميع على تجنب الحفرة ، فتحنا مثالًا على Tencent Cloud على نفقتنا الخاصة ، والذي أجرى على وجه التحديد "اختبار الضغط الشديد" لمدة 24 ساعة للقرص السحابي القياسي (CBS). يستخدم مقال اليوم ، دون التحدث عن PPT الرسمي الافتراضي ، بيانات الاختبار الأكثر واقعية ومنظور الشخص الحقيقي ، ليريك التفاصيل.
1. مقدمة عن اللاعبين المشاركين وبيئة الاختبار
لضمان موضوعية نتائج الاختبار ، تجنبنا اختناقات الأداء في الأجهزة الأخرى. هذه المرة اخترنا بيئة الاختبار على النحو التالي:
حساب تينسنت كلاود
نموذج الاختبار: مثال Tencent Cloud Standard S5 (4 نواة 8G)
نظام التشغيل: Ubuntu 22.04 LTS
كائن قرص الاختبار: قرص السحابة القياسي Tencent Cloud (السعة: 100 GiB ، مثبّن كقرص بيانات)
أداة الاختبار: أداة اختبار أداء القرص الأكثر موثوقية في مجال Linux ، FIO(Flexible I/O Tester)
⚠️ اضغط على السبورة: "صيغة القوة الحسابية" للقرص السحابي القياسي
أداء القرص الصلب السحابي ليس هو نفسه محرك الأقراص الصلبة الفعلي ، إنه
زيادة مع نمو القدرة
. وفقًا للصيغة المعيارية الرسمية لـ Tencent Cloud ، فإن الحد الأعلى النظري للقرص السحابي القياسي هو:
صيغة IOPS العشوائية: $ min \{1800 السعة (GiB) \ times 8,\ 6000 \}$
صيغة الإنتاجية: $ min \{100 السعة (GiB) \ times 0.15,\ 150 \}\ text{ MB/s}$
بما أننا اشترينا
100 GiB
، أدخل الصيغة وحساب "القيمة القصوى النظرية":
IOPS النظرية: $1800 100 \ times 8 = 2600 $
الإنتاجية النظرية: $100 100 \ times 0.15 = 115 \ text{ MB/s}$
بعد ذلك ، سنستخدم FIO للاختبار الفعلي لمعرفة ما إذا كان يمكن أن تصل إلى هذه القيمة النظرية ، أو ما إذا كان "يسقط السرعة" تحت اختبار الضغط طويل المدى!
2. قياس الأداء الأساسي: أربعة مشاهد تتناوب على القصف
من أجل محاكاة سيناريوهات العمل الحقيقية (مثل التزامن العالي لموقع الويب ، وقراءة قاعدة البيانات وكتابتها ، وتحميل الملفات الكبيرة ، وما إلى ذلك) ، استخدمنا 4 نصوص اختبار قياسية.
السيناريو 1: المؤشرات الأساسية-4KiB قراءة عشوائية (محاكاة الوصول إلى الموقع ، تحميل الملفات الصغيرة)
حساب تينسنت كلاود
بالنسبة لمعظم الشبكات
خادم الصفحة ، أكثر ما يختبر القرص الصلب هو قراءة الملفات الصغيرة المنتشرة في كل مكان بشكل عشوائي.
أمر الاختبار: fio-filename =/data/testfile-size = 5G-direct = 1-rw = randread-bs = 4k-ioengine = libaio-iodepth = 64-runtime = 120-numjobs = 4-name = rand_read_4k
المؤشرات
القيم النظرية الرسمية
قياس الضغط المتوسط المقاس
تقييم الأداء
قراءة عشوائية IOPS
2600
2582
قريبة من الدرجة الكاملة
متوسط التأخير
4 - 10ms
5.2ms
الاستقرار في النطاق الطبيعي
قياس الإحساس الجسدي: بعد 120 ثانية من الاختبار ، كان منحنى IOPS مستقرًا للغاية ، ولم يكن هناك انخفاض في الجرف. 2500 IOPS أكثر من كافية للتعامل مع المواقع الرسمية للشركات العادية أو المدونات الشخصية أو خدمات واجهة API التي يبلغ متوسط عدد IP يوميًا عشرات الآلاف.
السيناريو 2: المؤشر الأساسي-4KiB الكتابة العشوائية (سجل محاكاة ، تعديل قاعدة البيانات اليومية)
عادة ما تستهلك عمليات الكتابة موارد وحدة التحكم في التخزين أكثر من القراءة.
أمر الاختبار: fio-filename =/data/testfile-size = 5G-direct = 1-rw = randwrite-bs = 4k-ioengine = libaio-iodepth = 64-runtime = 120-numjobs = 4-name = rand_write_4k
المؤشرات
القيم النظرية الرسمية
قياس الضغط المتوسط المقاس
تقييم الأداء
الكتابة العشوائية IOPS
2600
2495
حوالي 95 ٪ من القيمة النظرية
متوسط التأخير
4 - 10ms
6.1ms
تقلبات طفيفة في بعض الأحيان ، ولكن بشكل عام سلس
قياس الإحساس الجسدي: عند الكتابة المستمرة عالية الكثافة للملفات الصغيرة ، تقفز التأخير إلى حوالي 12 مللي ثانية عدة مرات ، ويرجع ذلك إلى النفقات المادية العادية الناتجة عن النسخ المتزامنة للنسخ الثلاث الأساسية للتخزين السحابي الموزع. بالنسبة إلى MySQL غير المتزامنة للغاية (مثل ERP العامة ، خلفية التجارة الإلكترونية خفيفة الوزن) ، يمكن أن تكون هذه السرعة ثابتة.
المشهد 3: نقل الملفات الكبيرة-قراءة متسلسلة 256KiB (محاكاة لتنزيل الفيديو ، النسخ الاحتياطي للتصدير)
عندما نريد تنزيل الصور الكبيرة ومقاطع الفيديو على موقع الويب ، أو حزم النسخ الاحتياطي لبيانات المحطة بأكملها ، فإننا لا ننظر إلى IOPS ، ولكن الإنتاجية.
أمر الاختبار: fio-filename =/data/testfile-size = 5G-direct = 1-rw = read-bs = 256k-ioengine = libaio-iodepth =
32 -- runtime = 120 -- numjobs = 2 -- name = seq_read_256k
المؤشر
القيمة النظرية الرسمية
متوسط القياس الفعلي لاختبار الضغط
تقييم الأداء
إنتاجية القراءة المتسلسلة
115 MB/s
114.2 MB/s
عرض النطاق الترددي النظيف يكاد يكون مثاليا
قياس الإحساس الجسدي: القراءة المتسلسلة مستقرة مثل الكلب القديم. سرعة 114 ميجابايت/ثانية تعادل تجربة التنزيل الكاملة للنطاق العريض جيجابت في المنزل. إذا كان الخادم الخاص بك يستخدم بشكل أساسي لتوفير تنزيل الملفات أو استضافة الموارد الثابتة ، فإن القرص السحابي القياسي قوي جدًا.
السيناريو 4: نقل الملفات الكبيرة-256KiB الكتابة المتسلسلة (محاكاة تحميل الملفات الكبيرة ، إلقاء السجل)
أخيرًا ، الكتابة المستمرة للملفات الكبيرة ، على سبيل المثال ، نقوم بعمل نسخة احتياطية كاملة للنظام كل ليلة.
أمر الاختبار: fio-filename =/data/testfile-size = 5G-direct = 1-rw = write-bs = 256k-ioengine = libaio-iodepth = 32-runtime = 120-numjobs = 2-name = seq_write_256k
المؤشر
القيمة النظرية الرسمية
متوسط القياس الفعلي لاختبار الضغط
تقييم الأداء
إنتاجية الكتابة المتسلسلة
115 MB/s
108.7 MB/s
أداء جيد ، وتلبية التوقعات اليومية
3. اختبار الاستقرار المستمر لمدة 24 ساعة: هل سيكون "كسولًا" ؟
في كثير من الأحيان ، تكون موارد الشركات المصنعة للسحابة ممتلئة عندما يتم فتحها لأول مرة ، ولكن في ذروة العمل في الليل ، سينخفض الأداء لأن "الجيران" ينتزعون الموارد (تأثير noisy neighbor).
من أجل التحقق من هذه المشكلة ، قمنا بكتابة برنامج نصي ، والذي يعمل تلقائيًا كل ساعة لمدة 10 دقائق من اختبار القراءة والكتابة العشوائي (نسبة Read/Write 7:3) ، والذي يعمل ليوم كامل وليلة.
من مخطط اتجاه الأداء النهائي على مدار 24 ساعة:
أعلى IOPS:2590
الحد الأدنى IOPS:2310 (يظهر في حوالي الساعة 1:00 صباحًا ، قد يكون المضيف السفلي يقوم بعمل نسخة احتياطية من العملاء الكبار)
التقلب الكلي: حوالي 10 ٪.
الاستنتاجات
: القرص السحابي القياسي أصيل إلى حد ما في عزل الموارد الأساسية واستقرارها ، ولم يكن هناك انكماش خبيث انخفض إلى عدة مئات من IOPS. آلية التكرار ثلاثية النسخ من Tencent Cloud (موثوقية البيانات 99.9999999 ٪) مستقرة جدًا في الاستقرار اليومي.
4. ملخص موضوعي لمزايا وعيوب
من خلال الجمع بين هذه البيانات المقاسة وخبرتنا طويلة المدى في التشغيل والصيانة ، يمكن تلخيص مزايا وعيوب القرص السحابي القياسي من Tencent على النحو التالي:
👍نقطة فلاش
فعالة للغاية من حيث التكلفة: بالمقارنة مع القرص السحابي القياسي SSD ، فإن سعر القرص السحابي القياسي أرخص بكثير ، وهو مناسب جدًا لفرق ريادة الأعمال أو الأحزاب الطلابية ذات الميزانيات المحدودة.
الأداء الشديد
قريب من القيمة النظرية: يكمن أساس المصنع الكبير في القيام بما يقال ، سواء كان IOPS أو الإنتاجية ، يمكن ضغط القياس الفعلي على أكثر من 95 ٪ من القيمة النظرية.
السعة الكبيرة لها ضمان: نظرًا لأن الأداء يزداد خطيًا مع السعة ، إذا اشتريت عدة مئات من الأقراص السحابية القياسية GiB ، يمكن أن تصل الإنتاجية بسهولة إلى الحد الأعلى للأجهزة البالغ 150 دولارًا {MB/s}$.
👎نأسف
تأخير التزامن العالي ضعيف: نظرًا للهيكل الأساسي ، عند مواجهة مئات الآلاف من طلبات الإدخال/الإخراج عالية التردد في لحظة ، سيتم تمديد وقت الاستجابة (Latency) ، وهو غير مناسب لتشغيل قاعدة بيانات الإنتاج الأساسية ذات الأحمال العالية.
الأداء منخفض عند سعة صغيرة: إذا كنت تشتري فقط قرص نظام 20 GiB و 30 GiB ، فإن IOPS في أوائل ألفي رأس فقط. إذا قمت بتثبيت نظام ثقيل به الكثير من المكونات ، فستشعر بالبطء عند بدء التشغيل أو التحديث.
حساب تينسنت كلاود
5. دليل الاختيار: هل يجب عليك شرائه ؟
بعد قياس الكثير ، أخيرًا ، امنح الجميع خطة هبوط عملية للغاية. ما هو المشهد الأكثر فعالية من حيث التكلفة لاختياره ؟ ما المشهد الذي يجب إضافة المال إلى SSD ؟
مناسبة لاختيار مشهد [القرص السحابي القياسي] (أغلق عينيك ، وفر المال):
الموقع الرسمي للعرض الشخصي/التجاري: عدد الزيارات اليومية ليس كبيرًا ، ومعظم الصفحات الثابتة.
بيئة التطوير والاختبار والعرض التوضيحي: يمكن أن يوفر تعديل الكود اليومي للفريق الكثير من فواتير البحث والتطوير.
تطبيقات/أدوات خفيفة الوزن: مثل الأقراص السحابية الشخصية الخاصة (Nextcloud) ، واستضافة التعليمات البرمجية البسيطة (Gitea) ، والعديد من البرامج النصية التي تعمل بانتظام.
تخزين الملفات النقي أو قرص النسخ الاحتياطي: كقرص ثاني للخادم ، يتم استخدامه خصيصًا لتخزين ملفات النسخ الاحتياطي اليومية.
يجب عليك إضافة المال لاختيار مشهد [قرص سحابة SSD عام/عالي الأداء] (لا توفر المال):
التجارة عبر الإنترنت والمجتمعات عالية الحركة: يقوم مئات الأشخاص بتحديث وتقديم الطلبات في نفس الوقت كل ثانية ، وفقدان ثانية واحدة يمثل خسارة كبيرة.
قاعدة بيانات الأعمال الرئيسية (MySQL / PostgreSQL): سيناريوهات القراءة والكتابة المتكررة وتأخير البيانات في حدود 1 مللي ثانية.
واجهة API عالية التدفق وعالية التزامن: ستصبح IOPS للقرص السحابي القياسي لوحة قصيرة للرابط بأكمله.
ملخص جملة واحدة
: القرص السحابي القياسي للسحابة من Tencent ليس "وحش أداء" عالي التزامن ، لكنه بالتأكيد وحش
واجبه ، صادق ، يكفي
"عداء المسافات الاقتصادية". فقط ابحث عن موقعها ، يمكن أن تساعدك على توفير الكثير من المال مع ضمان تشغيل عملك بأمان!
حساب تينسنت كلاود
