بهینهسازی عملکرد با شناسایی معیارهای کلیدی، معمولاً مربوط به تأخیر و توان عملیاتی، آغاز میشود. افزودن نظارت برای ثبت و ردیابی این معیارها، نقاط ضعف برنامه را آشکار میکند. با استفاده از معیارها، میتوان بهینهسازی را برای بهبود معیارهای عملکرد انجام داد.
علاوه بر این، بسیاری از ابزارهای نظارتی به شما امکان میدهند هشدارهایی را برای معیارهای خود تنظیم کنید، به طوری که وقتی به آستانه خاصی رسیدید، به شما اطلاع داده شود. به عنوان مثال، میتوانید هشداری تنظیم کنید تا وقتی درصد درخواستهای ناموفق بیش از x درصد از سطوح عادی افزایش مییابد، به شما اطلاع دهد. ابزارهای نظارتی میتوانند به شما در شناسایی عملکرد عادی و شناسایی افزایشهای غیرمعمول در تأخیر، مقادیر خطا و سایر معیارهای کلیدی کمک کنند. توانایی نظارت بر این معیارها به ویژه در بازههای زمانی بحرانی کسبوکار یا پس از ارسال کد جدید به مرحله تولید، بسیار مهم است.
معیارهای تأخیر را شناسایی کنید
مطمئن شوید که رابط کاربری خود را تا حد امکان واکنشگرا نگه میدارید، و توجه داشته باشید که کاربران از برنامههای تلفن همراه انتظار استانداردهای بالاتری دارند. تأخیر (Latency) نیز باید برای سرویسهای backend اندازهگیری و ردیابی شود، به خصوص به این دلیل که در صورت عدم کنترل، میتواند منجر به مشکلات مربوط به توان عملیاتی شود.
معیارهای پیشنهادی برای پیگیری شامل موارد زیر است:
- مدت زمان درخواست
- مدت زمان درخواست در جزئیات زیرسیستم (مانند فراخوانیهای API)
- مدت زمان شغل
شناسایی معیارهای توان عملیاتی
توان عملیاتی معیاری برای تعداد کل درخواستهای ارائه شده در یک دوره زمانی مشخص است. توان عملیاتی میتواند تحت تأثیر تأخیر زیرسیستمها قرار گیرد، بنابراین ممکن است برای بهبود توان عملیاتی، نیاز به بهینهسازی تأخیر داشته باشید.
در اینجا چند معیار پیشنهادی برای ردیابی ارائه شده است:
- تعداد پرسوجو در ثانیه
- حجم داده منتقل شده در هر ثانیه
- تعداد عملیات ورودی/خروجی در ثانیه
- میزان استفاده از منابع، مانند CPU یا حافظه
- اندازه پردازشهای انباشته شده، مانند pub/sub یا تعداد threadها
نه فقط بدجنسی
یک اشتباه رایج در اندازهگیری عملکرد، فقط نگاه کردن به میانگین (متوسط) است. اگرچه این مفید است، اما بینشی در مورد توزیع تأخیر ارائه نمیدهد. معیار بهتری برای ردیابی، صدکهای عملکرد است، به عنوان مثال صدکهای ۵۰/۷۵/۹۰/۹۹ برای یک معیار.
بهطورکلی، بهینهسازی میتواند در دو مرحله انجام شود. ابتدا، برای تأخیر صدک نودم بهینهسازی کنید. سپس، صدک نود و نهم را در نظر بگیرید - که به عنوان تأخیر دمی نیز شناخته میشود: بخش کوچکی از درخواستها که تکمیل آنها زمان بسیار بیشتری طول میکشد.
مانیتورینگ سمت سرور برای نتایج دقیق
پروفایلینگ سمت سرور معمولاً برای ردیابی معیارها ترجیح داده میشود. سمت سرور معمولاً ابزار دقیقتری دارد، امکان دسترسی به دادههای جزئیتر را فراهم میکند و کمتر در معرض اختلال ناشی از مشکلات اتصال قرار میگیرد.
نظارت بر مرورگر برای مشاهدهی سرتاسری
پروفایلبندی مرورگر میتواند بینشهای بیشتری در مورد تجربه کاربر نهایی ارائه دهد. این میتواند نشان دهد که کدام صفحات درخواستهای کندی دارند، که میتوانید آنها را برای تجزیه و تحلیل بیشتر با نظارت سمت سرور مرتبط کنید.
گوگل آنالیتیکس در گزارش زمانبندی صفحه، نظارت آمادهای را برای زمان بارگذاری صفحه ارائه میدهد. این گزارش چندین نمای مفید برای درک تجربه کاربر در سایت شما ارائه میدهد، به ویژه:
- زمان بارگذاری صفحه
- زمان بارگذاری ریدایرکت
- زمانهای پاسخگویی سرور
نظارت در فضای ابری
ابزارهای زیادی وجود دارد که میتوانید برای ثبت و نظارت بر معیارهای عملکرد برنامه خود از آنها استفاده کنید. به عنوان مثال، میتوانید از Google Cloud Logging برای ثبت معیارهای عملکرد در پروژه Google Cloud خود استفاده کنید، سپس داشبوردهایی را در Google Cloud Monitoring تنظیم کنید تا معیارهای ثبت شده را نظارت و تقسیمبندی کنید.
برای مشاهدهی مثالی از ثبت وقایع در Google Cloud Logging از طریق یک interceptor سفارشی در کتابخانهی کلاینت پایتون، به راهنمای ثبت وقایع مراجعه کنید. با استفاده از دادههای موجود در Google Cloud، میتوانید معیارهایی را بر روی دادههای ثبتشده ایجاد کنید تا از طریق Google Cloud Monitoring، قابلیت مشاهدهی برنامهی خود را افزایش دهید. برای ساخت معیارها با استفاده از گزارشهای ارسالی به Google Cloud Logging، راهنمای معیارهای مبتنی بر گزارش تعریفشده توسط کاربر را دنبال کنید.
از طرف دیگر، میتوانید از کتابخانههای کلاینت Monitoring برای تعریف معیارها در کد خود استفاده کنید و آنها را مستقیماً به Monitoring، جدا از گزارشها، ارسال کنید.
مثال معیارهای مبتنی بر لاگ
فرض کنید میخواهید مقدار is_fault را برای درک بهتر نرخ خطا در برنامه خود رصد کنید. میتوانید مقدار is_fault را از گزارشها استخراج کرده و در یک معیار شمارنده جدید به ErrorCount قرار دهید.


در Cloud Logging، برچسبها به شما امکان میدهند معیارهای خود را بر اساس سایر دادههای موجود در گزارشها، در دستههایی گروهبندی کنید. میتوانید برای فیلد method ارسال شده به Cloud Logging، برچسبی تنظیم کنید تا نحوه تفکیک تعداد خطا توسط روش Google Ads API را بررسی کنید.
با پیکربندی معیار ErrorCount و برچسب Method ، میتوانید یک نمودار جدید در داشبورد Monitoring ایجاد کنید تا ErrorCount که بر اساس Method گروهبندی شده است، نظارت کند.

هشدارها
در Cloud Monitoring و سایر ابزارها میتوان سیاستهای هشدار را پیکربندی کرد که مشخص میکند چه زمانی و چگونه هشدارها باید توسط معیارهای شما فعال شوند. برای دستورالعملهای مربوط به تنظیم هشدارهای Cloud Monitoring، راهنمای هشدارها را دنبال کنید.