برای هر نوع مقیاس بندی، معماری برنامه خود و بهینه سازی هایی که ممکن است امکان پذیر باشد را در نظر بگیرید. به عنوان مثال، محتوای ثابت باید از شبکههای بهینهسازی ارائه محتوا که مزایای قیمت و عملکرد را ارائه میکنند، ارائه شود . حافظه پنهان اضافی برای پشتیبان ذخیره سازی داده نیز ممکن است عملکرد را بهبود بخشد و الزامات مقیاس بندی گران قیمت را به حداقل برساند.
تست عملکرد و معیارها
معیارسنجی و آزمایش عملکرد میتواند گلوگاههای بالقوه عملکرد را در طول توسعه شناسایی کند، به ردیابی روندها در طول زمان کمک کند، و با مقایسه معماریها، پشتههای فناوری، ارائهدهندگان ابر یا گزینههای دیگر، از تصمیمگیری پشتیبانی کند.
تست بار از انواع بار، ترافیک یا داده های از پیش تعیین شده و کنترل شده برای اندازه گیری عملکرد backend شما در برابر اهداف شما استفاده می کند. می توانید ببینید که سطوح بارگذاری مختلف چگونه بر عملکرد برنامه شما تأثیر می گذارد.
تست مقیاس پذیری بر تجزیه و تحلیل توانایی برنامه شما برای افزایش مقیاس و مقیاس بندی تمرکز دارد. تست مقیاس پذیری نشان می دهد که برنامه شما چگونه به بارهای افزایش یافته پاسخ می دهد و چگونه پشتیبان (از جمله ذخیره سازی داده ها) سازگار می شود.
قبل از شروع محک زدن برنامه، اهداف واضحی را تعریف کنید، از جمله عملکرد و سرعت (به عنوان مثال تأخیر، توان عملیاتی، سرعت)، استفاده از منابع (استفاده از CPU، استفاده از حافظه، ترافیک شبکه بین اجزای پشتیبان) و هزینه. هرگونه تاخیر در مقیاس بندی را در نظر بگیرید. برای مثال، اگر برنامه نیاز به مقیاسی فراتر از یک مجموعه اختصاص داده شده از منابع "ذخیره" در هنگام رخ دادن انفجار یا جهش در ترافیک داشته باشد.
ابزارهای بسیاری مانند Apache JMeter و Locust برای بنچمارک و تست عملکرد در دسترس هستند. هنگام انتخاب یک ابزار تست، انواع تست های موجود را در نظر بگیرید، از جمله اینکه آیا به پشتیبانی برای اسکریپت نیاز دارید یا نه، یکپارچه سازی IDE برای اشکال زدایی، افزونه های اضافی، یا پشتیبانی از نوع ترافیک و مقیاسی که باید آزمایش شود.
اگر از ارائهدهنده ابری استفاده میکنید، مشخص کنید که آیا الزامات اضافی یا بهترین روشها برای هر آزمایش بار وجود دارد تا از محدودیتهای احتمالی جلوگیری شود. برای مثال، بهترین روشها را برای Cloud Run در نظر بگیرید.
ملاحظات هزینه و عملکرد
در حالی که افزایش مقیاس برای بهبود عملکرد ضروری است، کاهش مقیاس نیز باید برای به حداقل رساندن هزینه مورد توجه قرار گیرد. هزینه پایه برنامه پشتیبان خود را بدون هیچ درخواستی و هزینه ای که برای افزایش مقیاس برنامه در نظر گرفته شده است را در نظر بگیرید.
ممکن است صرف نظر از کاربرد، هزینه های ثابتی برای معماری های داخلی یا مبتنی بر سرور داشته باشید. برخی از محیطهای ابری به شما اجازه میدهند تا زمانی که هیچ درخواستی ارائه نمیشود ، «مقیاس به صفر» را انجام دهید تا از هزینهها جلوگیری کنید. ارائهدهندگان ابر ماشینحسابهایی را به شما پیشنهاد میکنند تا پیکربندیهای مختلف و استراتژیهای قیمتگذاری، مانند تعهدات اولیه برای منابع را بررسی کنید.