روش های افزایش سرعت سرور
اغلب بعد از خرید سرور فیزیکی و پس از گذشت مدت زمانی، عملکرد سرور کاهش پیدا میکند. این مسئله به دلایل مختلفی روی میدهد که از مهمترین آنها باید به افزایش بارهای کاری، افزایش تعداد کلاینتهایی متصل به سرور، ارائه نرمافزارهای جدید نیازمند توان پردازشی قدرتمند و … اشاره کرد. در چنین شرایطی باید به فکر افزایش سرعت سرور باشید تا مجبور نشوید، سرور فعلی را کنار گذاشته و برای تهیه سرور جدید هزینه کنید. در این مقاله به راهکارهایی میپردازیم که به وسیلهی آنها بتوانید سرعت سرور را افزایش دهید. با فالنیک همراه باشید.
فهرست محتوا
چک لیست افزایش سرعت سرور ؛ 12 راهکار عملی
1- ارتقای پردازنده مرکزی
اگر از سرورهای قدیمی استفاده میکنید که مجهز به پردازنده 32 بیتی هستند، اما توانایی پشتیبانی از پردازندههای 64 بیتی را دارند، پیشنهاد میکنیم حتما به فکر تعویض پردازنده باشید. پردازندههای 64 بیتی فضای آدرسدهی بیشتری دارند و به سیستم عاملهایی مثل ویندوز سرور اجازه میدهند به شکل روانتری اجرا شوند.
برای افزایش منابع محاسباتی در سرور، میتوانید از پردازندهای با هستههای فرکانس بالاتر استفاده کنید یا میتوانید تعداد هستههای پردازنده را افزایش دهید. اگر عامل ایجاد گلوگاه در شبکه، پردازنده مرکزی است، باید به فکر خرید پردازندهای باشید که هستههای پردازشی بیشتری دارد. یک هسته با فرکانس دو برابر اغلب نسبت به دو هسته با فرکانس یک برابر عملکرد بهتری ارائه میکند.
به طور معمول، انتظار نمیرود که هستههای چندگانه مقیاسپذیری خطی کاملی را ارائه دهند و ضریب مقیاسپذیری میتواند حتی در صورت فعال بودن Hyper-threading کمتر شود، زیرا hyper-threading برای انجام فعالیتهای خود به هستههای فیزیکی پردازنده متکی است.
مایکروسافت به سرپرستان شبکه پیشنهاد میکند به فکر مقایسه فرکانسهای پردازنده مرکزی نسلهای مختلف پردازندهها و شرکتهای فعال در زمینه تولید پردازندهها نباشند، زیرا این مقیاس میتواند اطلاعات اشتباهی در ارتباط با سرعت پردازنده در اختیار آنها قرار دهد.
قبل از آنکه به فکر ارتقا پردازنده سرور باشید، ابتدا بررسی کنید که آیا سرور توانایی پشتیبانی از پردازندهای که قصد نصب آن روی سرور را دارید، پشتیبانی میکند یا خیر.
اگر قصد استفاده از راهحلهای مجازی مثل Hyper-V را دارید، مطمئن شوید که پردازنده از SLAT (آدرس سطح دوم) پشتیبانی میکند. این جدول به صورت EPT مخفف Extended Page Tables توسط اینتل و NPT مخفف Nested Page Tables توسط AMD پیادهسازی شده است. برای اطلاع در این زمینه کافی است از ابزار SystemInfo.exe در سرور خود استفاده کنید تا مشاهده کنید ویژگی فوق را دارد یا خیر.
نکته ظریف دیگری که باعث افزایش سرعت سرور میشود، تطابق میان حافظه و زیرسیستم ورودی/خروجی با عملکرد پردازنده مرکزی است. اگر میان عملیات ورودی و خروجی، میزان و سرعت حافظه و سرعت پردازنده هماهنگی وجود نداشته باشد، فرآیند رسیدگی به درخواستها زمانبر خواهد شد. به بیان دقیقتر، واحدهای ورودی و خروجی مثل هارد دیسکها یا حافظههای SSD و رایزرها باید سرعت بالایی در رسیدگی به درخواستها داشته باشند تا بتوانند در زمان کوتاهتری اطلاعات را میان مولفههای پرسرعت مثل حافظه اصلی و پردازنده مرکزی انتقال دهند.
در نهایت، اگر سرور توانایی پشتیبانی از دو پردازنده مرکزی را دارد، پیشنهاد میکنیم از هر دو اسلات استفاده کنید. در این حالت، نه تنها سرعت انجام محاسبات در ارتباط با بارهای کاری سنگین افزایش پیدا میکند، علاوه بر این، قادر به استفاده از تمامی اسلاتهای DIMM هستند و اگر تمایل داشته باشید از رایزر دومی استفاده کنید، مشکلی در این زمینه نخواهید داشت. فقط دقت کنید که هر دو پردازنده نصب شده روی سرور باید از یک مدل و سری باشند.
2- افزایش حافظه کش کافی
هر سری از پردازندههای تولید شده توسط اینتل یا ایامدی مدلهای مختلفی دارند که هر مدل، هستههای فیزیکی مختلف و فرکانس متفاوتی را پشتیبانی میکنند. علاوه بر این، عامل مهم دیگری که باعث افزایش سرعت پردازنده میشود، حافظه پنهان پردازنده L2 یا L3 است. در معماریهای جدیدتر، مثل Haswell یا Skylake، یک Last Level Cache (LLC) یا L4 یکپارچه نیز برای بهبود عملیات داخلی پردازنده مورد استفاده قرار گرفته است. کشهای بزرگتر اغلب عملکرد بهتری را ارائه میدهند و نقش تاثیرگذاری در افزایش سرعت سرور به نسبت فرکانس خام پردازنده مرکزی دارند.
3- توجه به فضای موردنیاز سیستم عامل
برخی سرورها ممکن است هنگام نصب و اجرای ویندوز سرور 2022 با افت عملکرد رسانه ذخیرهسازی روبرو شوند. این مسئله به دلیل توسعه ویندوز سرور 2022 و تغییراتی که در زمینه بهبود امنیت و قابلیت اطمینان پلتفرم به وجود آماده است؛ رخ میدهد.
فعالسازی ویندوز دیفندر (Windows Defender) که در حالت پیشفرض نیز فعال است، باعث میشود تا مسیرهای ورودی/خروجی طولانیتر شوند که میتواند عملکرد ورودی/خروجی را در بارهای کاری و الگوهای کاری خاص کاهش دهد. مایکروسافت غیرفعال کردن ویندوز دینفدر را توصیه نمیکند، زیرا این یک لایه مهم حفاظتی پیرامون سرورها قرار میدهد.
اگر به دنبال جزئیات بیشتر در مورد روشهای نگهداری سرور هستید، پیشنهاد میکنیم مقاله چک لیست نگهداری سرور را مطالعه کنید.
4- افزایش حافظه رم و توجه به مکانیزم صفحهبندی ذخیرهسازی (Paging Storage)
حافظه اصلی نقش مهمی در افزایش سرعت سرور دارد، به همین دلیل باید میان میزان حافظه نصب شده روی سرور و فعالیتهای تجاری هماهنگی وجود داشته باشد. زمانی که حافظه اصلی سرور کم است و برنامهها نیازمند حافظه بیشتری هستند، سیستم عاملهای سرور مثل ویندز یا لینوکس برای جبران کمبود حافظه از فضای هارد دیسک استفاده میکنند. رویکردی که صفحهسازی (Paging) نام دارد.
عملکرد مکانیزم فوق به این صورت است که بخشی از فضای آزاد هارد دیسک برای انجام عملیات سیستم رزرو میشود تا برنامهها بتوانند بدون مشکل کار کنند. با این حال، صفحهبندی بیش از حد اندازه، باعث کاهش عملکرد کلی سیستم میشود. اگر قصد استفاده از تکنیک فوق را در ارتباط صفحهبندی دارید، با دستورالعملهای زیر میتوانید به صورت بهینه صفحه بندی را انجام دهید:
- فایل صفحه (Page file) را در فضای ذخیرهسازی جداگانهای متفاوت از فضایی که اطلاعات روی آن ذخیرهسازی میشوند، نگهداری کنید یا حداقل مطمئن شوید که فایل صفحهبندی با درایوهایی که میزبان فایلهای پربازدید هستند در یک مکان قرار ندارد. به عنوان مثال، فایل صفحه و فایلهای سیستم عامل را در درایوهای فیزیکی جداگانه قرار دهید.
- فایل صفحه را روی درایوی قرار دهید که مجهز به مکانیزم تحمل خطاست. اگر یک دیسک غیر قابل تحمل خطا از کار بیفتد، احتمالا مشکل با سیستم روبرو میشود. اگر فایل صفحه را روی یک درایوی که مجهز به تکنیک تحملکننده خطاست، قرار دهید، در این حالت مطمئن خواهید بود اطلاعات مهم برنامههای کاربردی که به شکل موقت در این فایل قرار دارند، از دست نخواهد رفت. نکته مهمی که باید در ارتباط با سیستمهای مجهز به ویژگی تحملکننده خطا باید به بدانید، این است که فرآیند نوشتن دادهها روی این رسانهها کندتر است، زیرا دادهها باید در مکانهای مختلف نوشته شوند که خواندن اطلاعات از این مکانها زمانبر خواهد بود.
- راهکار دیگری که اجازه میدهد فرآیند صفحهبندی با سرعت بیشتری انجام شود، دستیابی به پهنای باند بیشتر از طریق دیسکهای اضافی است. این تکنیک در سرورهایی که مجهز به چند دیسک هستند، قابل استفاده است. در این حالت بسته به معماری رید پیادهسازی شده روی سرور، قادر هستید یک پارتیشن یا حتی یک درایو با ظرفیت مشخص را به صفحهبندی اختصاص دهید. در این حالت، فرآیند فوق با سرعت بیشتری انجام میشود.
با اینحال، پیشنهاد ما این است که حافظه اصلی روی سرور را ارتقا دهید تا سیستم عامل مجبور به استفاده از تکنیک فوق نشود. همچنین، بسته به نوع سرور بهتر است از نسلهای جدیدتر حافظههای اصلی استفاده کنید. در حال حاضر حافظههای DDR4 و DDR5 جدیدترین گزینهها قابل استفاده در سرورها هستند.
حافظهاصلی اصلی سرعت کمتری نسبت به پردازنده و به ویژه کش پردازنده دارند. به همین دلیل، هرچه سرعت حافظه بیشتر باشد، تاخیر در انتقال و دریافت اطلاعات میان پردازنده و حافظه اصلی کمتر میشود.
نکته فنی دیگری که باید در ارتباط با حافظه به آن دقت کنید، تایمینگ (Timing) یا همان زمان تاخیر است که نقش مهمی در افزایش سرعت حافظه و البته قیمت آن دارد. هنگام ارتقا یا تعویض حافظهها حتما باید به مدلهایی که پردازنده مرکزی توانایی پشتیبانی از آنها را دارد دقت کنید. بنابراین، ابتدا باید محدودیتهای پردازنده در ارتباط با پشتیبانی از حافظهها را مورد بررسی قرار دهید و در ادامه حافظهها را به شکل جفت خریداری کرده و روی سرور قرار دهید تا از مزایای چند کاناله بودن حافظهها به بهترین شکل استفاده کنید.
5- استفاده از اسلاتهای توسعه
در ویندوز سرور 2022، رابطهای ذخیرهسازی اولیه و شبکه باید PCI Express (PCIe) باشند، بنابراین سرورهایی با گذرگاههای PCIe در تعامل با این سیستمعامل پیشنهاد میشوند تا با مشکل گلوگاه روبرو نشوید. برای آنکه با محدودیتهای سرعت باس روبرو نشوید، پیشنهاد میکنیم از اسلاتهای PCIe x8 و بالاتر در ارتباط با آداپتورهای اترنت 10 گیگابیتی استفاده کنید.
6- استفاده از حافظههای SSD یا هاردهای HDD با RPM بالا
هارد دیسکهایی با سرعت چرخش بالا انتخاب کنید تا زمان دسترسی به اطلاعات تصادفی را کاهش داده (حدود 2 میلیثانیه در مقایسه با درایوهای 7200 و 15000RPM) و پهنای باند در ارتباط با درخواستهای متوالی را افزایش دهید. هارد دیسکهایی که سرعت چرخش 15000 دور در دقیقه را دارند، زمان دسترسی به اطلاعات را کم میکنند، با این حال، قیمت آنها نسبت به هارد دیسکهایی با سرعتهای پایین بیشتر است. نکته دیگری که باید در این زمینه به آن دقت کنید، ارتباط میان فضای ذخیرهسازی و سرعت است. هرچه سرعت هارد دیسکها افزایش پیدا کند، به همان نسبت از ظرفیت آنها کاسته میشود.
دیسکهای 2.5 اینچی کلاس سازمانی میتوانند به تعداد بیشتری از درخواستهای تصادفی در هر ثانیه در مقایسه با درایوهای 3.5 اینچی پاسخ دهند.
دادههایی که اغلب به آنها نیاز دارید، بهویژه دادههایی که به طور متوالی از آنها استفاده میکنید را در اوایل دیسکها ذخیرهسازی کنید، زیرا این بخشها با بیرونیترین تراکها هماهنگ هستند و سرعت را افزایش میدهند.
اگر از هارد دیسکهای با ظرفیت پایین استفاده کنید و آنها را با یکدیگر ادغام کنید، به میزان قابل توجهی عملکرد کلی رسانه ذخیرهسازی را کاهش میدهید و زمان پاسخدهی طولانیتر (بسته به شدت بار کاری) را تجربه خواهید کرد.
از حافظههای SSD و فلش دیسکهای پرسرعت در ارتباط با عملیات خواندنی استفاده کنید تا نرخ عملیات ورودی و خروجی به شکل قابل توجهی بهبود پیدا کند. حافظههای فلش به ویژه در ارتباط با عملیات I/O حساس به تاخیر مفید هستند. همچنین، پیشنهاد میشود سیستم عامل را روی حافظههای SSD نصب کنید تا نه تنها فرآیند بوت بهبود پیدا کند، بلکه دسترسی به مولفههای سیستمعامل در مدت زمان کوتاهتری انجام شود.
SSDهای NVMe روند انجام پردازشها را سریعتر میکنند و کارایی در ارتباط با دستورات 4 کیلوبایتی بهبود میبخشند. این مسئله به ویژه در ارتباط با سناریوهایی که عملیات خواندن و نوشتن در آنها زیاد و سنگین است، مثل بانکهای اطلاعاتی سودمند است.
7- افزایش پهنای باند با آداپتور شبکه مناسب
آداپتورهای شبکه و ذخیره سازی نیز با حذف مشکل گلوگاه در شبکه و رسانههای ذخیرهسازی دارند، نقش مهمی در افزایش سرعت سرور دارند. بهتر است از آداپتورهای شبکه دارای گواهی سختافزاری ویندوز استفاده کنید تا مطمئن شوید روند ارسال و دریافت درخواستها از آداپتور شبکه به شکل سریعی انجام میشود.
قابلیت 64 بیتی
آداپتورهایی که دارای قابلیت 64 بیت هستند، میتوانند عملیات دسترسی مستقیم به حافظه (DMA) با سرعت بیشتری انجام دهند. اگر درایور از DMA بالاتر از 4 گیگابیت پشتیبانی نکند، باعث میشود تا مولفههای ورودی/خروجی دوبار به فضای آدرس فیزیکی کمتر از 4 گیگابیت مراجعه کنند که افزایش زمان دسترسی را به همراه دارد.
آداپتورهای مسی و فیبر نوری
آداپتورهای مسی اغلب عملکرد مشابهی با همتایان فیبر خود دارند. هر دو آداپتور مس و فیبر در در ارتباط با کانال فیبر قابل استفاده هستند، با این حال، آداپتورهای مسی در برخی محیطها از آداپتورهای فیبر در برخی محیطهای دیگر عملکرد بهتری دارند.
آداپتورهای دو یا چهار پورت
آداپتورهای چند پورت برای سرورهایی که تعداد محدودی اسلات PCI دارند، مفید هستند. برای رفع محدودیتهای SCSI در تعداد دیسکهایی که میتوانند به یک گذرگاه SCSI متصل شوند، برخی از آداپتورها دو یا چهار گذرگاه SCSI را روی یک کارت آداپتور واحد ارائه میکنند. آداپتورهای کانال فیبر اغلب محدودیتی برای تعداد دیسکهایی که به یک آداپتور متصل میشوند، ندارند، مگر اینکه در پشت یک رابط SCSI قرار گرفته باشند.
آداپتورهای SAS و SATA نیز به دلیل ماهیت سریالی پروتکلهایی که از آنها استفاده میکنند، تعداد اتصالات محدودی دارند، اما میتوانید دیسکهای بیشتری را با استفاده از سوئیچها متصل کنید تا مشکل برطرف شود. همچنین، به این نکته دقت کنید که استفاده از دو آداپتور شبکه تک پورت اغلب عملکرد بهتری نسبت به استفاده از یک آداپتور شبکه دو پورت برای حجم کاری مشابه دارد. محدودیت گذرگاه PCI میتواند یک عامل اصلی در محدود کردن عملکرد آداپتورهای چند پورت باشد. بنابراین، مهم است که آنها را در یک اسلات PCIe با عملکرد بالا قرار دهید که پهنای باند کافی ارائه میکند.
8- از مجازیسازی (Virtualization) غافل نشوید
در فرآیند مجازیسازی، سرور فیزیکی به چند سرور مجازی تبدیل میشود، سرورهایی که منحصر به فرد و کاملا ایزوله هستند و میتوانند سیستم عاملهای خود را به شکل مستقل اجرا کنند. مجازیسازی سرور به سرور فیزیکی این قابلیت را میدهد تا چند سیستم عامل و سرویس را همزمان اجرا کند که نقش مهمی در بهبود عملکرد سرور دارد.
9- بهینهسازی بانک اطلاعاتی
یک راهکار قدرتمند افزایش سرعت دسترسی به اطلاعات، بهینهسازی بانکهای اطلاعاتی است. بهینهسازی پایگاه داده، باعث میشود تا عملکرد برنامههای کاربردی مثل وبسایتها به میزان قابل توجهی بهبود پیدا کند.
بانکهای اطلاعاتی فرآیند نگهداری از اطلاعات را به شکل سلسله مراتبی انجام میدهند. به همین دلیل، اگر سرور در زمینه میزبانی وبسایتهای سازمان مورد استفاده قرار میگیرد، تعداد فایلهای جاوا اسکریپت و CSS را کاهش میدهد.
دقت کنید اگر وب سایتی تعداد زیادی فایل جاوا اسکریپت و CSS داشته باشد، هنگامی که کاربران نیاز داشته باشند به فایلی دسترسی پیدا کنند، تعداد زیادی درخواست HTTP را برای سرور ارسال میکنند. درخواستهای زیاد HTTP باعث کاهش سرعت میشود و تاثیر منفی روی تجربه کاربری دارد. گروهبندی همه کدهای جاوا اسکریپت در یک فایل و کدهای CSS در فایل دیگری، باعث میشود تعداد کلی درخواستهای HTTP کاهش پیدا کند.
10-استفاده از ابزارهای نظارت بر عملکرد
از ابزارهای نظارت بر عملکرد برای نظارت بر عملکرد سرور خود و شناسایی گلوگاهها استفاده کنید، همچنین استفاده از از ابزارهای بهینه سازی برای کمک به بهینه سازی تنظیمات سرور، پایگاه داده و برنامههایتان روی عملکرد بهتر سرور تاثیرگذار است.
11- اطلاعات سرور را به طور مرتب بررسی کنید
از تجمع بیش از حد فایلها و برنامههای غیر ضروری در سرور خود خودداری کنید و بهطور منظم از اطلاعات سرور خود نسخه پشتیبان تهیه کنید.
12- غیرفعال کردن سرویس های غیر ضروری
بسیاری از سرویسها به طور پیش فرض با نصب سیستمعامل اجرا می شوند که ممکن است به آنها نیاز نداشته باشید. غیرفعال کردن این سرویسها میتواند به آزاد کردن منابع و افزایش سرعت سرور کمک میکند.
آنچه در مقاله چک لیست افزایش سرعت سرور گفته شد
در این مقاله سعی کردیم مهمترین تکنیکهایی که باعث افزایش سرعت سرور و کارایی آن میشود را بیان کنیم. با انجام این مراحل میتوانید سرعت سرور خود را به طور قابلتوجهی افزایش دهید و تجربه کاربری بهتری را برای کاربرانتان فراهم کنید. البته توجه داشته باشید این چک لیست فقط یک نقطه شروع است. بهترین راه برای افزایش سرعت سرور به نیازها و الزامات خاص شما بستگی دارد و بهتر است قبل از انجام هرگونه تغییر در پیکربندی، همیشه از یک متخصص مشورت بخواهید.