هنگامی که یک سرور بیش از حد بارگذاری می شود، چه مجازی یا اختصاصی، باعث می شود وب سایت ها به کندی بارگذاری شوند و به جای محتوا، خطاهای تحریک کننده ایجاد کنند. لازم است به دقت پارامترهای آن نظارت شود و تجزیه و تحلیل به موقع منابع انجام شود تا از چنین نتیجه ای جلوگیری شود.
در مرحله بعد، به تشخیص منابع فردی با استفاده از ابزارهای ارائه دهنده میزبانی وب و همچنین از طریق ترمینال در سمت سرور خواهیم پرداخت. علاوه بر این، ما رویکردهای مختلفی را برای حل مشکلات مرتبط با عملکرد ضعیف سیستم در نظر خواهیم گرفت. دستورالعمل ها برای هر سروری که سیستم عامل لینوکس را اجرا می کنند، صرف نظر از نرم افزار از پیش نصب شده، اعمال می شود.
بررسی منابع سرور از طریق VMmanager
ابزار مجازیسازی VMmanager سادهترین، اما در عین حال، راهحلی جهانی برای تشخیص است. این ابزار نقش کلیدی در تضمین مدیریت کارآمد سرورهای اختصاصی یا مجازی در اکثر ارائهدهندگان خدمات میزبانی مدرن ایفا میکند. به عنوان مثال، این بررسی بر روی نسخه ۶ این ابزار انجام خواهد شد، با این حال، نسخههای قبلی نیز ممکن است تشخیصهای مشابهی را انجام دهند.
برای تجزیه و تحلیل، باید به کنترل پنل VMmanager بروید و ماشین مجازی مورد نظر را انتخاب کنید:
در مرحله بعد، کاربر می تواند بلافاصله استفاده از منابع را در زمان واقعی مشاهده کند. برای آمار دقیق تر، باید "Parameters" را انتخاب کنید:
تب آمار دقیق در بالا مشخصات کلی سرور و نوع مجازی سازی را نشان می دهد. در نمودارها میتوانید ازدحام شبکه، بار پردازنده، رم و فضای دیسک را در زمان واقعی مشاهده کنید:
برای تجزیه و تحلیل دقیق تر از فضای دیسک یا آمار منابع برای یک دوره زمانی خاص، باید آیتم منوی مناسب را انتخاب کنید. اطلاعات مربوط به دیسک های مجازی در این قالب نمایش داده می شود:
آمار بار برای یک منبع خاص در قالب یک نمودار مناسب نمایش داده می شود:
امکان نمایش نمودار بار برای یک روز، هفته، ماه، سال یا انتخاب دستی تاریخ های لازم وجود دارد. تمام منابع اصلی نمایش داده می شوند: پردازنده، RAM، ذخیره سازی، رابط شبکه.
بسیاری از کاربران انتظار دارند که منابع در یک دوره معین به طور مساوی استفاده شوند. با این حال، همیشه اینطور نیست. به عنوان مثال، رابط شبکه ممکن است حتی در حالت بیکار نیز مشابه به نظر برسد:
در این مورد هیچ اقدامی لازم نیست. با این حال، در مورد پردازنده، رم یا ذخیره سازی دیسک، سرور نباید از تمام 100٪ منابع خود به طور ثابت استفاده کند. بار توصیه شده بیش از 70٪ نیست.
بررسی منابع سرور در ترمینال
تجزیه و تحلیل بار کل
ما قبلاً در مقاله «تشخیص عمومی منابع سرور» به برخی از گزینههای تحلیل پرداختهایم . در آنجا در مورد ابزارهای استاندارد مانند top/atop صحبت کردیم و همچنین نصب و پیکربندی ابزار Netdata را بررسی کردیم که به ما امکان میدهد منابع سرور را از طریق مرورگر رصد کنیم. در این مقاله، htop را به عنوان جایگزینی برای ابزار top برای تحلیل عمومی منابع سیستم بررسی خواهیم کرد.
این ابزار به طور پیش فرض در توزیع های لینوکس از قبل نصب نشده است، بنابراین اجازه دهید با نصب شروع کنیم. برای دبیان/اوبونتو از دستور زیر استفاده می کنیم:
apt-get install htop
برای CentOS، استفاده از مخازن EPEL منطقیتر است . آنها به طور پیشفرض غیرفعال هستند، بنابراین دستور اول مسئول اضافه کردن آنها و دستور دوم برای نصب htop است :
yum -y install epel-release
yum install htop -y
بلافاصله پس از نصب، می توانید ابزار را از منوی برنامه یا در ترمینال با دستور مناسب باز کنید:
htop
در نتیجه، کاربر قادر خواهد بود تمام اطلاعات مربوط به سیستم را مشاهده کند:
گوشه سمت چپ بالا داده های پردازنده، از جمله استفاده از هر هسته، رم و حافظه تعویض را نمایش می دهد. Swap حافظه در لینوکس در موارد کمبود RAM استفاده می شود و ثبات سیستم را تضمین می کند. در گوشه سمت راست بالا می توانید بار پردازنده و تعداد وظایف فعال را مشاهده کنید. قسمت مرکزی فرآیندهای فعال را با قابلیت مرتب سازی نشان می دهد. قسمت پایین اطلاعاتی در مورد کلیدهای داغ و عملکرد ارائه می دهد. بخش "Help" شامل شرح مفصلی از قابلیت های برنامه است:
قبل از تشخیص خود سیستم، لازم است دقیقاً بدانید که چند هسته/پردازنده روی سرور استفاده میشود. کاربر میتواند مقدار آنها را در گوشه سمت چپ بالای ابزار htop پیدا کند :
یا با اجرای دستور:
nproc
بسته به مقدار به دست آمده، بار کل مجاز محاسبه می شود (میانگین بار در گوشه بالا سمت راست). در مورد ما برابر با 2 است، یعنی حداکثر بار 2.0 است. با این حال، این بدان معنا نیست که سیستم به طور کامل تحت بار 2.0 منجمد می شود. این عدد ممکن است بیشتر باشد، اما در این صورت، تمام وظایف دیگر در صف قرار می گیرند و خود سرور بارگذاری می شود. مقدار ایده آل بار بیش از 70٪ در نظر گرفته می شود. به عنوان مثال، میانگین Load باید در یک سرور تک پردازنده در محدوده 0.7 باشد. در مورد سرور در مثال فوق، یک شاخص خوب مقادیر بالاتر از 1.4 نخواهد بود.
با استفاده از htop یا موارد مشابه آن، کاربر باید منابع اصلی را ارزیابی کند: میانگین بار پردازنده، میزان استفاده از رم، فضای دیسک و رابط شبکه. اگر منابع حداقل هستند، باید فرآیندها را بر اساس میزان استفاده از CPU مرتب کنید، عملیات پرمصرف را شناسایی کنید و سپس آنها را بهینه یا خاتمه دهید. اگر بستن برنامه غیرممکن است یا بهینهسازی با شکست مواجه میشود، توصیه میشود به سروری با پیکربندی قدرتمندتر روی آورید.
بررسی رم رایگان
در این بخش، یک جنبه مهم از عملکرد هر سرور را بررسی خواهیم کرد - سطح کافی از RAM رایگان.
ساده ترین راه برای بررسی رم رایگان در هر سیستم لینوکس از طریق ترمینال این دستور است:
free -m
در خروجی، داده های زیر را بر حسب مگابایت دریافت می کنیم: رم کل، استفاده شده، رایگان و حافظه پنهان، و همچنین حجم مبادله:
این ابزار برای به دست آوردن دادههای کلی در یک نقطه زمانی خاص مفید است. برای تشخیص پویای میزان استفاده از رم، ابزار vmstat را توصیه میکنیم که به ما امکان میدهد فرکانس بهروزرسانی اطلاعات خروجی را پیکربندی کنیم:
vmstat 1
در مثال بالا، دادهها هر ثانیه بهروزرسانی میشوند. خروجی با فرمتی مشابه free تولید میشود :
این ابزار همچنین اطلاعات کلی سیستم را ارائه می دهد، اما در مورد ما، تنها ستون هایی که مسئول RAM هستند، یعنی حافظه و تعویض، مهم هستند. تمام مقادیر بر حسب کیلوبایت نشان داده شده است. بیایید با جزئیات بیشتری به آنها نگاه کنیم:
حافظه (رم):
- swpd: حافظه مجازی با فیزیکی مبادله می شود.
- رایگان: حافظه فیزیکی موجود (RAM).
- چرم گاومیش: حافظه ای که قبل از نوشتن دیسک به عنوان بافر استفاده می شود.
- نهانگاه: حافظه ای که به عنوان کش برای افزایش سرعت دسترسی استفاده می شود.
تعویض
- si: حافظه ای که به عنوان کش برای افزایش سرعت دسترسی استفاده می شود.
- so: داده های نوشته شده از حافظه فیزیکی برای تعویض حافظه.
به طور جداگانه، شایان ذکر است که همه منابع سیستمی که ابزارهای تشخیصی را در ابتدا دادهها را از گزارشها میگیرند. در مورد RAM، کاربر می تواند با باز کردن فایل مربوطه، داده ها را مستقیماً مشاهده کند:
cat /proc/meminfo
خروجی بسیار گسترده است، اما کافی است به اولین رکوردها برای تجزیه و تحلیل حافظه توجه کنید:
مشکلات استفاده بیش از حد از RAM اغلب به یک کار یا فرآیند خاص مربوط می شود. در ابتدا، تشخیص با استفاده از ابزارهای رایج به منظور شناسایی فرآیندهای مشکل ساز کافی خواهد بود. به عنوان یک راه حل، ممکن است بهینه سازی یک برنامه خاص، فعال کردن حافظه پنهان و فشرده سازی داده ها را در صورتی که در مورد حجم زیادی از اطلاعات صحبت می کنیم، یا افزایش پیکربندی سرور را در نظر بگیرید.
کنترل فضای دیسک
تشخیص فضای دیسک سرور کمتر از سایر منابع آن اهمیت ندارد. به عنوان یک قاعده، سیگنال های مربوط به نیاز به بررسی عبارتند از: عدم توانایی در ایجاد یا نوشتن فایل های موجود، عملکرد کند سیستم و خطاهای مختلف ورودی / خروجی.
راحت ترین راه برای بررسی دستور زیر است:
df -h
در پاسخ، ابزار اطلاعات مربوط به تمام پارتیشنهای دیسک نصب شده را نشان میدهد:
می توانید از این دستور برای نظارت دقیق تر دایرکتوری ها استفاده کنید:
du -hs /*
به این ترتیب کاربر قادر خواهد بود بفهمد که هر دایرکتوری چقدر فضای اشغال می کند. برای بازیابی عملکرد سیستم، باید پارتیشن دیسکی را که بیشترین مقدار حافظه را مصرف می کند، بهینه کنید. توصیه می شود اجازه ندهید بیش از 80-90٪ از فضای آزاد کل مقدار استفاده شود. 10-20٪ باقی مانده باید برای عملکرد پایدار سیستم کافی باشد. در صورت عدم امکان بهینه سازی، افزایش فضای دیسک توصیه می شود. این را می توان با افزودن یا گسترش دیسک های موجود و همچنین استفاده از فضای ذخیره سازی ابری انجام داد. صرف نظر از راه حل انتخاب شده، توصیه می شود همیشه یک نسخه پشتیبان تهیه کنید تا از دست رفتن فایل جلوگیری شود.
بررسی رابط شبکه
جنبه نهایی، اما نه کم اهمیت تر در تشخیص سرور، بررسی رابط شبکه است. را شکارچیان خالص اگر میخواهید اطلاعات کلی در مورد میزان ترافیکی که توسط فرآیندهای شبکه در زمان واقعی محاسبه میشود به دست آورید، میتوان از ابزار استفاده کرد.
نصب و راه اندازی در Cent OS:
yum install nethogs
nethogs
برای دبیان/اوبونتو:
apt-get install nethogs
nethogs
این ابزار آن دسته از فرآیندهایی را نشان می دهد که در حال حاضر از منابع شبکه استفاده می کنند:
توصیه میکنیم استفاده کنید iftop برای تجزیه و تحلیل دقیق تر
نصب و راه اندازی در Cent OS:
yum install iftop
iftop
برای دبیان/اوبونتو:
apt-get install iftop
iftop
خروجی برنامه لیستی از اتصالات فعال است که آدرس های IP، پورت ها، میزان انتقال داده و سرعت انتقال را نشان می دهد. مزیت اصلی برنامه طراحی بصری بارگذاری کانال شبکه است:
پس از عیب یابی کانال شبکه سرور و شناسایی مشکلات با بار زیاد، افزایش پهنای باند اتصالات شبکه در سمت ارائه دهنده هاست یا بهینه سازی تنظیمات رابط مشکل دار خاص توصیه می شود. به عنوان یک ابزار پشتیبان، می توانید از سیستم های نظارتی مختلف برای ردیابی سریع تغییرات در فعالیت شبکه استفاده کنید و در صورت لزوم، به طور منظم زیرساخت شبکه را مطابق با الزامات به روز کنید.
نتیجه
در پایان، میتوان تأکید کرد که تشخیص منابع سرور بخش جداییناپذیر مدیریت مؤثر سرورهای مجازی و اختصاصی است . این مقاله به ما امکان بررسی ابزارهای اصلی برای تجزیه و تحلیل کامل سرور را داد و همچنین توصیههای عملی برای عیبیابی مشکلات احتمالی ارائه داد. تشخیص منظم سیستم به سرور اجازه میدهد تا حتی بدون مشارکت فعال کاربر، به طور یکپارچه عمل کند.