رفع مشکل کندی سرعت سرور مجازی (VPS) ویندوز و لینوکس
افزایش سرعت سرور مجازی
اگر هنگام استفاده از سرور مجازی ویندوز و لینوکس با کندی سرعت مواجه هستید، اولین کاری که باید بکنید، بررسی کردن مصرف منابع سخت افزار (CPU، RAM، دیسک) هست. در سرور مجازی ویندوز، ابزارهایی مثل Task Manager به شما کمک میکنند مصرف CPU و RAM را بررسی کنید و تنظیمات ریموت دسکتاپ را برای کاهش مصرف گرافیکی بهینه کنید. اما در لینوکس ابزارهایی مانند top یا htop قادر به مانیتورینگ دقیق پردازش ها هستند. کند شدن سرور به دلیل حملات (DDoS، brute force)، یا انتخاب پروتکل های ریموت برای اتصال به محیط گرافیکی نیز از دیگر عواملی هستند که باید در بررسی و رفع کندی مورد بررسی قرار بگیرن. در ادامه این آموزش، برای هر سیستم عامل به تفکیک دلایل اصلی کندی و راهکارهای عملی بررسی میکنیم تا دلیل کندی سرور شما مشخص بشه.
کندی سرعت در سرور مجازی ویندوز
دلیل کندی | راهکار پیشنهادی |
---|---|
مصرف بالای CPU یا RAM | بررسی از Task Manager و بستن برنامه های پرمصرف |
محدودیت منابع در پلن فعلی | ارتقا پلن VPS به منابع بالاتر |
فاصله جغرافیایی یا پینگ زیاد با دیتاسنتر | انتخاب سرور با موقعیت مکانی نزدیک تر |
تنظیمات نادرست ریموت دسکتاپ | کاهش کیفیت نمایش و غیرفعال کردن جلوه های گرافیکی |
اتصال اینترنت ضعیف | بررسی و بهبود کیفیت اتصال اینترنت / تعویض اینترنت |
عدم بهینه سازی گرافیکی در ریموت دسکتاپ | کاهش کیفیت گرافیکی در تنظیمات Remote Desktop |
کمبود منابع سخت افزاری (CPU و RAM)
وقتی برنامه ای رو اجرا میکنین، اون برنامه بصورت موقت در حافظه RAM قرار میگیره تا اجرا بشه و فضایی از RAM اشغال میکنه، همچنین این برنامه اگر پردازشی انجام بده، CPU مصرف میکنه. استفاده بیش از حد از منابع سرور میتونه منجر به کندی عملکرد بشه، یعنی شما سرور مجازی با مشخصات 4GB RAM و 2Core CPU تهیه میکنین، اما برنامه هایی که داخل سرور اجرا میکنین مثلا نیاز به 8GB RAM و 4Core CPU دارن، در این حالت کندی ایجاد میشه.
برای بررسی این مشکل از ابزار Task Manager ویندوز کمک میگیریم، منوی استارت سرورتون باز کنید و کلمه Task Manager تایپ و اجرا کنید، در تب Process لیست برنامه هایی که بصورت لحظه ای در حال اجرا هستید میتونین مشاهده کنین و بر اساس ستون RAM و CPU میتونین برنامه های پرمصرف رو لیست کنید، همچنین مصرف CPU و RAM کلی سرور رو در تب «Performance» مشاهده کنید. اگر مصرف منابع نزدیک به 100% باشه، مشخص هست که کمبود منابع دارید و پلنی که تهیه کردید مناسب اجرای برنامه نیست.
راه حل : Task Manager اجرا کنید و لیست برنامه های پرمصرف پیدا کنید و اونهایی که نیاز ندارید ببندید یا سرورتون به پلن بالاتر ارتقا بدید.
نداشتن کارت گرافیک در VPS ها
سرور مجازی ها معمولا کارت گرافیک ندارند، یعنی سرورهای با کارت گرافیک، نوع دیگه ای از سرورها هستند که صفحه فروش خودشونو دارند و با سرورهای معمولی تفاوت دارند، هزینه کارت گرافیک بالا هست و قطعه کارت گرافیک در همه سرورها گذاشته نمیشه، بخاطر همین پردازش تصاویر و Render های گرافیکی و استفاده از Codec های ویدیویی در سرورها قابل انجام نیست.
همچنین طبق آموزش افزایش سرعت ریموت دسکتاپ ویندوز میتونین کیفیت اتصال، مثل انیمیشن های ویندوز و تصویر پس زمینه کم و غیرفعال کنین و فقط Font Smoothing فعال کنید.
موقعیت جغرافیایی سرور (پینگ بالا)
فاصله زیاد بین موقعیت شما و دیتاسنتر سرور میتونه باعث افزایش پینگ و کاهش سرعت اتصال بشه، هر چقدر پینگ بالاتر باشه، دستورات شما با تاخیر به سرور میرسه و از سرور هم با تاخیر به کامپیوتر شما برمیگرده، پس برای انتخاب سرور، بهتر VPS انتخاب کنید که نزدیک به موقعیت جغرافیایی شما باشه، مثلا اگر در ایران هستید، سرورهای اروپایی بلوسرور کیفیت اتصال بالاتری به نسبت سرورهای آمریکایی یا آسیای شرقی دارند.
راه حل : سرورهایی نزدیک به موقعیت خودتون تهیه کنین.
اتصال اینترنت ضعیف یا ناپایدار و با تاخیر
اگر کیفیت اتصال اینترنت شما به سرور یا اینترنت بین الملل مناسب نباشه و پیام Reconnecting ، Connecting attempt : 1 to 5 دریافت میکنین یعنی اتصال شما به سرور قطع میشه و احتمالا اینترنت شما مشکل داره و نمیتونه به سرور متصل بشه. (توجه داشته باشید که منظور از اتصال ضعیف یا ناپایدار، سرعت دانلود اینترنت شما یا سرعت اسمی اینترنت شما نیست.)
یا اگر داخل سرور مجازی ویندوز فعالیت میکنین و برنامه ای اجرا میکنین یا روی منویی کلیک میکنین که با تاخیر انجام میشه، این تاخیر میتونه از سمت اینترنت شما باشه که کیفیت اتصال اینترنت شما به سرور مناسب نیست و ارتباطی با سخت افزار سرور نداره. معمولا بعد از اتصال به VPS ویندوز، بالای مانیتور یک نوار ظاهر میشه و آیکون های سیگنال و کیفیت اتصال براتون نمایش داده میشه، اگر کیفیت اتصال ضعیف باشه، معمولا فقط یکی از خط یا آنتن ها تکمیل شده.
راه حل : اگر دسترسی به اینترنت دیگه دارید، لطفا با اینترنت دیگه وضعیت اتصال بررسی کنید.
استفاده از سرورهای اشتراکی و فروش بیش از اندازه منابع سرور (oversell)
سرور مجازی ها اشتراکی و مصرف منصفانه هستن، یعنی منابع سرور مثل CPU و پورت شبکه بین چند کاربر تقسیم میشه. اگر فروشنده سرور مجازی بیشتر از ظرفیت سرور اختصاصی که داشته، اقدام به ایجاد سرور مجازی بکنه، در این حالت بهش oversell میگن، یعنی ظرفیت RAM اون سرور اختصاصی مثلا 128GB هست، ولی فروشنده الان 196GB اقدام به ایجاد سرور مجازی میکنه، در این حالت بیشتر از ظرفیت سرور اختصاصی، منابع فروخته میشه و تمام کاربران کندی احساس میکنن.
راه حل : از سرورهای کلود دیتاسنترها، مثل سرور مجازی آلمان دیتاسنتر هتزنر ترجیحا استفاده کنین.
کندی سرعت در سرور مجازی لینوکس
مصرف بالای منابع (CPU و RAM)
در سرورمجازی ویندوز از Task Manager استفاده میکردیم، اما در لینوکس از ابزارهای مشابه مثل top و ترجیحا Htop برای مانیتورینگ پردازش ها استفاده میکنیم، در این آموزش مانیتورینگ سرور مجازی لینوکس، بصورت کامل در مورد Htop توضیح دادیم، بصورت گرافیکی از طریق ابزار Htop میتونین مصرف CPU و Memory رصد کنید.
حمله DDOS یا brute force به سرور
در حمله DDOS (Distributed Denial of Service)، هکرها با استفاده از شبکه ای از سیستم های آلوده (بات نت)، حجم زیادی از ترافیک جعلی رو به سمت سرور شما ارسال میکنند، این ترافیک به قدری زیاد است که سرور قادر به پردازش درخواست ها نیست و در نهایت سرویس شما از دسترس خارج میشه. از نشانه های حمله DDOS میشه با افزایش ناگهانی ترافیک شبکه، مصرف بالای پهنای باند و کاهش شدید عملکرد سرور اشاره کرد، اگر سرور مجازی دارید از طریق پنل مدیریت سرورها میتونین گراف مصرف RAM و CPU چک کنین، یا اگر امکان اتصال به سرور دارید میتونین از طریق Htop بررسی کنید.
راه حل : معمولا حملات دیداس روی سایت ها اتفاق میافته، برای مقابله با این حملات میتونین از سرویس Cloudflare استفاده کنید (تنظیم dns cloudflare) که با فیلتر کردن ترافیک مخرب و تنظیم فایروال و Rate Limiting و محدود کردن کشورهای خاص از سرور محافظت کنید.
نوع دیگه از حملات که بهشون حمله Brute Force میگن، در این روش، مهاجم با استفاده از ربات و ابزارهایی که شامل هزاران نام کاربر و رمز عبور هستن، این نام کاربری و رمز عبور رو در صفحات لاگین سایت و سرور شما امتحان میکنن تا بالاخره یکی از این نام کاربری ها و رمزها با سرورتون همخونی داشته باشه تا بتونن وارد بشن. این حملات معمولا در سرویس هایی مانند SSH، RDP یا صفحات ورود به پنل کاربری و پنل میدریت انجام میشه.
راه حل : برای جلوگیری از این نوع حملات، اولین و مهمترین کار استفاده از رمزهای عبور پیچیده و قوی است که حدس زدن اونها دشوار باشه. حتما پورت سرورهای لینوکس رو عوض کنید و از پورت 22 به هیچ وجه استفاده نکنید، حتی شما اگر سرورتون رو هم در جایی معرفی نکرده باشید یا به جایی متصل نکرده باشید، توسط Botnet ها این حملات Brute Force انجام میشه و بهتر هست به جای User/Password از ssh key استفاده کنید و ابزارهایی مثل Fail2Ban هم میتونین نصب کنین تا IP های غیرمجازی که قصد ورود به سرورتون دارند رو مسدود کنن.
کندی در محیط گرافیکی لینوکس
کندی در محیط گرافیکی لینوکس، هنگام اتصال بصورت ریموت به عوامل مختلفی بستگی داره :
پروتکل RDP (Remote Desktop Protocol) که در ویندوز استفاده میشه، به صورت اختصاصی برای انتقال گرافیک طراحی شده و از تکنیکهایی مانند فشرده سازی و کش کردن برای بهبود عملکرد استفاده میکند. در مقابل، پروتکلهای معمول در لینوکس مانند VNC و X11 بهطور پیش فرض فشرده سازی کمتری دارند و ممکن است در انتقال دادههای گرافیکی کارایی کمتری داشته باشن.
نرمافزار xRDP برای اتصال به دسکتاپ گرافیکی در لینوکس طراحی شده، با این حال کیفیت اتصالش مانند اتصلا به سرور ویندوز نیست. اما مهمترین مورد این هست که، سیستم عامل ویندوز از درایورهای گرافیکی بهینه شده برای مدیریت بهتر گرافیک استفاده میکنه، اما لینوکس پردازش گرافیکی مثل ویندوز نداره، این آموزش نصب vnc server هم از محیط گرافیکی سبک تر و اتصال با VNC استفاده میکنه که به نسبت XRDP کمی سریعتر است.
استفاده از محیط های دسکتاپ سنگین
استفاده از محیط های دسکتاپ سنگین در سرور مجازی لینوکس میتونه باعث کاهش عملکرد سیستم هنگام اتصال از راه دور بشه. محیط هایی مانند GNOME و KDE Plasma به دلیل ویژگی های گرافیکی پیشرفته و افکت های گرافیکی، منابع بیشتری از CPU و RAM مصرف میکنن. این مصرف بالا میتونه باعث کندی در پاسخگویی سیستم و افزایش تاخیر در نمایش تصاویر بشه.
راه حل : محیط گرافیکی مثل XFCE به دلیل طراحی ساده و کارآمد و سبک بودن، یکی از محبوب ترین گزینهها برای سیستم های با منابع محدود است.