
در حوزه سرورها و هاست ها سیستمعامل لینوکس (Linux) و سیستمعامل ویندوز (Windows) بسیار محبوب هستند و اکثراً این دو، بیشتر سهم سیستمعاملها را به خود اختصاص میدهند.
به دلیل انعطاف بالا و متنباز بودن و رایگان بودن لینوکس، این سیستمعامل را برای استفاده در وب سرور (Web Server) ها بسیار ایدئال کرده است و اکثر سرورهای دنیا از این نوع سرور بهره میگیرند؛ اما از طرفی دیگر سرورهای ویندوزی امکانات بسیار زیادی نسبت به سرورهای لینوکسی دارند که بزرگترین دلیل آن پشتیبانی کمپانی مایکروسافت از این سیستمعامل و نرمافزارهایی که این سیستمعامل پشتیبانی میکند.
سیستمعامل ویندوز از زبانهای ASP و ASP.NET و فریم ورک های این زبانها پشتیبانی میکند که صاحبامتیاز همه اینها خود شرکت مایکروسافت است؛ درحالیکه لینوکس از آنها پشتیبانی نمیکند. پس درصورتیکه در طراحی برنامههای وب از این زبانها استفادهشده باشد، باید از سرور ویندوزی استفاده کرد.
بهینهسازی سرور روشهای مشابه و مشترکی در هر دو سیستمعامل لینوکس و ویندوز دارد و در مواردی بسته به نرمافزارهای مخصوص هر سیستمعامل و نحوه استفاده از آن تفاوتهایی نیز وجود دارد. در ادامه به بررسی روشهای بهینهسازی سرور ویندوزی میپردازیم.
بهینهسازی چیست؟
بهینهسازی سرور یک فرایند فنی است که باعث میشود از تمام قدرت سختافزاری در پردازشها استفاده شود. بهطورکلی این بهینهسازی شامل بهینهسازی در سمت سختافزار و بهینهسازی در سمت نرمافزار میشود.
بهینهسازی سختافزار
در بخش سختافزار تنها راهی که میتوان از بسیاری مشکلات آینده جلوگیری کرد تهیه سرور از یک منبع مطمئن و معتبر است. بعد خرید اشتراک یک سرور عملاً هیچگونه تغییری را نمیتوان بر سختافزار سرور اعمال کرد و در صورت خرابی سرور علاوه بر اینکه امکان دارد که دادههای مهم و حیاتیتان از بین برود کاری از دست شما برنمیآید و باید فروشنده سرور این مشکل را رفع کند و در خرید اشترک سرور نیز باید به کیفیت آن توجه کرد که در این قضیه هیچ کمکاری نباشد. همیشه اضافه بودن قدرت سرور مشکلی ایجاد نمیکند ولی کمبود آن اینطور نیست. پس در خرید علاوه بر اصالت فروشنده و کیفیت سرور باید به قدرتی که سرور ارائه میکند و قدرت موردنیازمان توجه کنیم.
بهینهسازی نرمافزار
بخش نرمافزار نیز خود به سیستمعامل و نرمافزارهای نصبشده بر روی آن تقسیم میشود. بهبود عملکرد بخش نرمافزاری به همان اندازه که بهبود سختافزار اهمیت دارد، لازم است. در سرورهایی که برای میزبانی وبسایت تهیه میشود همانطور که اشاره شد، عملاً امکان بهبود سختافزار از طرف مشتری وجود ندارد و تنها کاری که مشتری ازلحاظ سختافزاری میتواند انجام دهد، پرداخت هزینه بیشتر و خرید یک پلن قویتر است؛ اما در بحث نرمافزاری در شرایطی میتوان عملکرد سیستمعامل و نرمافزارها را تا حد قابل قبولی بهبود بخشید. در ادامه به نحوه بهبود عملکرد سیستمعامل لینوکس و نرمافزارهای آن در سرور خواهیم پرداخت.
- مهمترین موردی که تأثیر کلی و جامع مثبت بر عملکرد یک سرور میگذارد، ورژن و نسخه جدیدتر یک سیستمعامل است. آپدیت بودن سیستمعامل از مهمترین علتهای افزایش سرعت و پایداری سرور است و در استفاده از منابع و قدرت سرور برای افزایش سرعت و عملکرد بیشترین سهم را دارد. سیستمعامل ویندوز همیشه باید بهروز باشد. چونکه هر نسخه از این سیستمعامل در ایدئالترین حالت ممکن نیز باگها و نقصهایی دارد و اینکه شاید برای استفاده در سیستمهای معمولی چندان مهم نباشد، اما در بحث سرور و ارائه خدمات، یک ایراد بزرگ برای ویندوز و سیستمعامل است و نباید بهسادگی از کنار آن گذشت. این نقص در اکثر موارد باعث باگ امنیتی در این سیستمعامل میشود و فرصت مناسبی برای هکرها و حملههای مجازی و در کل آسیب به خود سرور و دادهها میشود.
آپدیت کردن سیستمعامل شامل تمام آپدیتهایی است که مایکروسافت ارائه میکند بهجز آپدیتهایی که نسخه ویندوز سرور را تغییر میدهند. با بهروزرسانی و نصب این پچ های آپدیتی، باعث پایداری بیشتر قسمتهای ویندوز میشود و بسیاری از نواقص و باگ ها را هم از بین میبرد و حفرههای امنیتی برای آسیب رساندن به این نسخه را برطرف میکند. ارتقای نسخه اصلی ویندوز بهعنوانمثال ارتقا از ویندوز سرور 2016 به نسخه 2019 بدیهی است که باگها و نواقص نسخه قبلی رفع خواهد شد و امکانات جدیدی را هم به همراه خواهد داشت؛ اما باید این نکتهها را هم در نظر گرفت که اولاً این ارتقا یک فرایند پیچیده است و نیاز به یک فرد متخصص دارد و هرکسی نمیتواند آن را انجام دهد؛ دوم اینکه نسخه جدید به در ابتدا شاید چند باگ داشته باشد و امنیت سرور را پایین بیاورد؛ سوم اینکه شاید برنامههای قدیمی با این نسخه هماهنگ و سازگار نباشند و عملکرد کلی پایین بیاید و یا اصلاً قابلاجرا نباشند در آخر به دنبال این ارتقا باید لایسنس جدیدی برای این نسخه خریداری شود و این هزینه اضافی را در پی خواهد داشت.
مورد دیگری که به کند شدن سیستمعامل منجر میشود نصب برنامههای نامعتبر و قدیمی بر روی ویندوز است. برنامههای نامعتبر ازآنجهت دلیلی بر کاهش عملکرد ویندوز محسوب میشوند که اطلاعات کافی از منبع و سازنده آن در دسترس نیست و هرلحظه امکان دارد که ابزار مخربی برای سیستمعامل محسوب شود. نرمافزارهای قدیمی و منسوخ هم به دلیل بهروز نبودن امکان تداخل با فایلها سیستمی رادارند و ازاینجهت عملکرد سیستمعامل ویندوز پایین میآید.
ازجمله نرمافزارهایی که بهروزرسانی آنها برای یک سرور میزبان سایت بسیار مهم است، آپدیت نرمافزارهای وب سرور و کتابخانه دادهها است. سرعت و عملکرد بالا در همه حوزهها بهخصوص حوزه ارائه خدمات در وبسایتها بسیار حیاتی و حائز اهمیت است. در یک سرور با سیستمعامل ویندوزی همخوانی بالا با نرمافزارهای حیاتی بهخصوص نرمافزارهای مهم مثل همین پایگاههای داده و وب سرور، تأثیر بسیار زیادی بر سرعت و عملکرد ارائه سرویس دارد.
در بحثهاست اشتراکی، بهعنوان ادمین یک سرور، وب سرور ISS (Internet Information Service) محبوبترین وب سرور برای استفاده در سرورهایی با سیستمعامل ویندوز محسوب میشود. این وب سرور مخصوص سیستمعامل ویندوز سرور طراحیشده است و برای سایر سیستمعاملها مثل لینوکس در دسترس نیست. بهروزرسانی این وب سرور ازجمله بهروزرسانیهای مهمی بود که قبلاً شاره شد؛ اما تنظیمات متفاوت و مختلف آن نیز بر سرعت و عملکرد تأثیرگذار است. تنظیمات و پیکربندی نامناسب در ISS باعث میشود که منابع و سختافزار زیادی بیرویه مصرف شود که نکته منفی برای عملکرد و سرعت بهحساب میآید. متناسب با فرایندهای مختلف که در سایت صورت میگیرد تنظیمات این برنامه نیز باید همگام با آن انجام شود.
- دف رگ (Defragment) کردن پایگاه داده برای بهینهسازی سرور
پایگاه داده علاوه بر بهروزرسانی باید مدام در حال بهینهسازی باشد تا در فرایند پردازش دادههای وبسایت کمترین تأخیر را داشته باشد. در وبسایتهای مختلف امکان دارد که قسمتی از دادهها دیگر موردنیاز نباشد و یا باید اصلاح شوند بنابراین باید از پایگاه داده حذف شوند و فضای اشغالی را برای سایر دادهها آزاد کنند. این دادهها از پایگاه داده خارج میشود اما مشکل اصلی اینجاست که فرایند پاکسازی دادههای سوخته، سبب تکهتکه شدن فایلهای اصلی پایگاه داده میشود و در درازمدت برای بارگذاری و واکشی دادهها باعث کندی میشود و عملکرد سرور را کاهش میدهد. برای رفع این مشکل، باید در یک مدت دورهای منظم فرایند (Fragmentation) را انجام دهید و این تکهها را بررسی و دف رگ کنید تا از این کندی جلوگیری کنید.
- کشینگ (Caching) و مدیریت کش (Cache)
در بحث دادهها کش کردن فایلها بهترین راهحل برای افزایش سرعت است. با این عمل نتایج پردازشهای قبلی سرور ذخیرهشده و در هنگامیکه یک کاربر دیگر همان نتایج را درخواست کند، دیگر پردازشی بر روی این دادهها نخواهد شد و سرور نتایج از پیشذخیره شده را برای کاربر جدید نمایش میدهد.
یکی دیگر از کاربردهای این روش، این است که در بارگذاری و بارگیری یک فایل که امکان رجوع و استفاده از آن در سرور بالاست، این فایل در حافظه موقت سرور ذخیرهشده و هر زمان که به آن لازم باشد بهسرعت فراخوانی میشود و سرعت استفاده از آن چندین برابر بالا میرود؛ بنابراین در ویندوز بهترین راه افزایش سرعت دادههای پرکاربرد، کشینگ است و ازجمله روشهای سودمند بهینهسازی در این سیستمعامل است.
- پاورشل (PowerShell) ویندوز سرور
ویژگی دیگر سیستمعامل ویندوز سرور، وجود فضای کنترل جامع و کارآمد ویژهای به نام پاور شل و ویندوز کامند است. پاور شل یک بستر اسکریپت نویسی و دستور بهصورت ادمین است که تقریباً هر کاری میتوان با آن انجام داد. تنظیمهای مختلفی که در سیستم میتوان اعمال کرد؛ ازجمله تنظیمات سختافزارها، تنظیمات شبکه، تنظیمات بهینهسازی و... همه و همه بهوسیله پاورشل قابل پیادهسازی است، فقط کافی است دستور مخصوص هر یک را در کامند لاین وارد و اجرا شود و بلافاصله انجام گردد. با دستورات و ماژولهای پاور شل میتوان دستورهای مدیریتی را بهصورت خودکار اجرا کرد.
بهعنوانمثال با استفاده از پاور شل میتوان آدرس آی پی (IP) سرور را ویرایش کرد و یا آدرس جدیدی را تعریف کرد؛ یا اینکه دسترسی سختافزار یا نرمافزار اضافی و غیر سودمندی که از قدرت سیستم میکاهد را قطع کرد.
برای اینکه از یک سرور نهایت استفاده شود و به دنبال آن بهترین خدمات به کاربران یک سایت ارائه گردد، بهینه بودن و سازگاری و هماهنگی هرچه بیشتر نرمافزار و سختافزار ضروری است. بهینه کردن سرور ازجمله وظایف یک وبمستر محسوب میشود که همیشه و درهرحال باید به فکر آن باشد و شرایط را برای پردازش هرچه بهتر کدها فراهم کند.
بیشتر بدانید : هاست ویندوز
نظرات کاربران