أداء RDS
اقرأ RDS عبر طبقات المراقبة الثلاث، وجد عنق الزجاجة بحمل قاعدة البيانات وأحداث الانتظار، ثم عالجه بتجميع الاتصالات أو تغيير التخزين أو ضبط المعاملات.
قاعدة البيانات المُدارة تخفي عنك نظام التشغيل، وهذا يعطّل غرائز التشخيص المعتادة. لا تستطيع تسجيل الدخول وتشغيل top. ومقاييس الموارد تقول إن الآلة بخير بينما ينقطع التطبيق. يغطي هذا الموضوع المراقبة التي تعطيك RDS إياها بدلاً من ذلك، والمجموعة الصغيرة من الأدوات التي تعالج ما تجده.
درسان. الأول يعلّمك أن ترى: مقاييس CloudWatch وEnhanced Monitoring وPerformance Insights تنظر كل واحدة إلى قاعدة البيانات من موضع مختلف، واختيار الموضع الخطأ هو سبب أن تبدو حادثة حقيقية رسماً بيانياً سليماً. والثاني يعلّمك أن تتصرّف: نفاد الاتصالات وRDS Proxy أولاً لأنه أشيع أعطال RDS في الأحمال بلا خوادم وعالية التزامن، ثم تغييرات التخزين والخادم والمعاملات التي تعالج ما عدا ذلك.
ما الذي يغطيه هذا الموضوع
- طبقات المراقبة الثلاث وما تراه كل منها وما لا تراه: مقاييس من خارج الخادم، ووكيل داخل نظام التشغيل، ومحرك قاعدة البيانات نفسه
- مقاييس
AWS/RDSالتي تستحق التنبيه، ومنها مقياسا رصيد الاندفاع المختلفان اللذان يُخلط بينهما - دقة Enhanced Monitoring، ودور IAM الذي يحتاجه، ولماذا تصل بياناته إلى CloudWatch Logs لا إلى مقاييس CloudWatch
- حمل قاعدة البيانات بمتوسط الجلسات النشطة، وخط Max vCPU المرجعي، وتقسيم الحمل حسب حدث الانتظار وأثقل SQL والمضيف والمستخدم
- الانتقال من Performance Insights إلى CloudWatch Database Insights، وما يشمله وضعا Standard وAdvanced
- تجميع الاتصالات والتعدد في RDS Proxy، وتثبيت الجلسة وكيفية كشفه، وافتراضيات مقاس المجمّع، والانتقال الأسرع عند العطل
- أدوات الضبط خارج الوكيل: حدود فئة الخادم، وعتبات gp3 وio2 Block Express، ومجموعات المعاملات، والنسخ القارئة، وميزتا RDS Optimized Reads وOptimized Writes
لماذا هذا مهم
قواعد البيانات هي المكان الذي تصير فيه حوادث CloudOps مكلفة، وأسئلة RDS في الاختبار تعكس ذلك. هي نادراً ما تسأل عما تفعله الخدمة. بل تعطيك عرَضاً (اتصالات مرفوضة بينما المعالج عند 30%، أو استعلام بطؤ بعد تحميل بيانات، أو تخزين يبطؤ بعد نصف ساعة من مهمة ليلية) وتسألك أي مقياس يثبت السبب وأي تغيير يعالجه.
وإصابة ذلك تعتمد على تمييزين أكثر من أي شيء آخر: معرفة أي طبقة مراقبة تستطيع أصلاً رؤية المشكلة التي تطاردها، ومعرفة هل القيد في الاتصالات أم المعالج أم التخزين أم تصميم الاستعلامات. يبني هذا الموضوع الاثنين، ويغلق خيط الأداء الذي امتد عبر الحوسبة والتخزين في الموضوعات السابقة.
