wait لطفا صبر کنید
05 بهمن 1395
صفحه اصلی  » مقالات
1393/11/12
4012
00

Scalability

تعریف scaling: قابلیت استفاده از منابع بیشتر توسط یک application برای بهبود عملکرد را scaling می نامند(قابلیت افزایش throughput به خاطر پشتیبانی از load افزایش یافته به کمک افزایش منابع معمولا سخت افزاری).

تعريف scaling: قابليت استفاده از منابع بيشتر توسط يك application براي بهبود عملكرد را scaling مي نامند(قابليت افزايش throughput به خاطر پشتيباني از load افزايش يافته به كمك افزايش منابع معمولا سخت افزاري). به عنوان مثال برنامه اي بر روي يك بر روي يك كامپيوتر ، تك پروسس 4 كاربر را سرويس مي دهد بتواند بر روي يك كامپيوتر ، 4 پردازنده 15 كاربر را جواب دهد، اين برنامه scalable مي باشد. اگر با افزايش پردازنده تعداد كاربران سرويس گيرنده افزايش نيابد(به عنوان مثال براي برنامه تك ريسمانه) اين برنامه scalable نمي باشد.

مدلهاي scalability:

1-      Scale up يا vertical Scaling: قوي تر شدن سرور(افزودن ram و cpu) اين مدل مناسب ترين روش براي افزايش scale يك پايگاه داده مي باشد. مزيت مهم scaleup عدم نياز تغييرات معماري و تغييرات ساختاري در برنامه كاربردي مي باشد

2-      Scale out يا Horizontal Scaling: به معناي گسترش برنامه بر روي چند سرور مي باشد. اين مدل مناسب براي قرارگرفتن توزيع شده سرور هاي وب مي باشد. از مزيت هاي اين روش افزايش availability مي باشد. به نظر اين روش هزينه سخت افزاري كمتري در مجموع دارد ولي با درنظر گرفتن هزينه لايسنس نرم افزار(سيستم عامل، سرويس ها و ..) اين هزينه افزايش قابل توجهي مي يابد.

يكي از دغدغه هاي اصلي مديران IT انتخاب نوع Scaling مي باشد. به نظر براي اكثريت سرويس ها روش تركيبي مناسب باشد كه با در نظر گرفتن سياست هاي Availability مانند fail-over، Distribution مانند load-balancing و بر اساس معماري،  مدل مشخصي انتخاب و استفاده گردد.

 

منابع:

http://msdn.microsoft.com/en-us/library/aa479364.aspx

http://en.wikipedia.org/wiki/Scalability

http://pic.dhe.ibm.com/infocenter/brdotnet/v7r1/index.jsp?topic=%2Fcom.ibm.websphere.ilog.brdotnet.doc%2FContent%2FBusiness_Rules%2FDocumentation%2F_pubskel%2FRules_for_DotNET%2Fps_RFDN_Global397.html