محاسبات چند هسته ای با استفاده از ویژگی سخت افزاری NUMA در IIS 8
محاسبات چند هسته ای در IIS7.5 و ورژنهای قبلی پشتیبانی نمی شود اما در IIS8.0 این ویژگی معرفی گردیده است. بالا بردن تعداد هسته ها در تئوری باید باعث بهینه تر شدن سرعت سرور گردد. اما این افزایش در نقطه ای متوقف شده و دیگر امکان این افزایش وجود نخواهد داشت. IIS8.0 این مشکل را با استفاده از Non-Uniform-Memory-Access (NUMA) مرتفع نموده است. در ادامه استفاده صحیح از سخت افزار NUMA را که باعث بهینه تر شدن کارایی سرور می گردد را بررسی خواهیم نمود.
IIS از دو روش برای تقسیم پردازشها استفاده می نماید :
۱- اجرای چندین پردازش در یک Application pool
اگر از این روش استفاده می کنید ، Application pool فقط یک پردازش را انجام میدهد . برای رسیدن به کارایی ماکزیمم ، باید در تنظیمات Application pool مقدار “Maximum Worker Processes” صفر قرار داده شود.
در این تنظیمات ، IIS مشخص می کند چند نقطه NUMA وجود داشته و به همان تعداد پردازش را شروع به اجرا می کند.
[irp posts=”۵۷۸۹″ name=”Application Pool در IIS چیست و هر آنچه بایستی در مورد آن بدانید!”]
۲-اجرای چندین Application pool در یک پردازش یا سایت
در این قسمت ، یک سایت ( پردازش) در چندین Application pool تقسیم می شود. برای مثال ممکن است سایت شامل چند Application باشد که در چندین Application pool در حال پردازش است. قاعدتا این تنظیمات باعث اختصاص دادن چندین Application pool به یک سایت می شود و NUMA بصورت کاملا هوشمندانه به مدیریت پخش پردازش ها در IIS می پردازد.
علاوه بر روشهای فوق ، دو روش زیر در IIS وجود دارد که بهینه ترین نقاط کارکرد را مشخص می نماید:
۱-بیشترین حافظه موجود
ایده ای که پشت این روش وجود دارد اینست که نقاط NUMA با بیشترین حافظه ، بهترین گزینه برای شروع پردازش های IIS می باشد. از سوی دیگر IIS نیز آگاهی کامل از مصرف حافظه توسط هر NUMA را دارد. با استفاده از این اطلاعات IIS بصورت Load Balance پردازش ها را انجام میدهد به شما پیشنهاد می شود برای کسب اطلاعات در حوزه لود بالانسر چیست مقاله ما را مطالعه نمایید.
۲-ویندوز
IIS گزینه دیگری نیز دارد مبنی بر اینکه سیستم عامل ویندوز این تصمیم گیری را خود انجام میدهد. سیستم عامل مورد نظر از Round-Robin استفاده می نماید.
دوروش دیگر را برای گروه بندی موضوعات برای انجام پردازش ها
۱-تقسیم بندی Soft (پیشفرض)
با این تقسیم بندی ، اگر دیگر نقاط NUMA دارای چرخه باشند ، موارد موردنظر می تواند در جدول نقاط NUMA غیر گروه بندی شده قرار گیرند. این راهکار کمک می کند تا منابع موجود را به حداکثر میزان برساند.
۲-گروه بندی Hard
با این گروه بندی ، با توجه به اینکه کدام نقطه NUMA در حال استفاده می باشد. تمام موارد به NUMA ای محول می گردد که در طراحی تعریف شده است و غیر قابل تغییر می باشد.
برای انجام تنظیمات فوق مراحل زیر را انجام دهید.
۱- وارد مدیریت IIS شوید.
۲- Application pool را از قسمت سمت چپ انتخاب نمایید.
۳-App Pool را انتخاب نمایید.
۴-در قسمت Action ، گزینه تنظیمات Advanced را انتخاب نمایید:
۵-در قسمت Process Model ، به بخش تنظیمات Maximum Worker Processes بروید:
۶-مقدار مورد نظر را ۰ قرار دهید.
انتخاب بهینه NUMA برای گروه بندی پردازش ها در تنظیمات Advanced کاملا قابل مشاهده است. این تنظیمات هنگامی کاربردی است که IIS از NUMA hardware استفاده نماید.