آموزش بررسی مصرف منابع در سی پنل

هر مدیر وب سایتی حتما با کند شدن سایت٬ نمایش خطاهای موقت٬ از دسترس خارج شدن صفحات یا افزایش غیرعادی زمان پاسخگویی رو به رو شده هست.
همیشه این موارد به این خاطر نیست که سرور ضعیف هست و خیلی از مواقع دیده می شود هاستی که تهیه شده است و منابع مشخص داشته است به حداکثر توان خود رسیده هست و در واقع این هاست هست که کشش بیشتری ندارد و به محدودیت های تعیین شده رسیده است.
عموما درخواست های پرتکرار یا فعالیت های غیرعادی و گاهی اوقات حملات به بخش های مختلف سایت یا ورودی های حاصل از کمپین های تبلیغاتی و جشنواره های تخفیفی می تواند باعث افزایش مصرف منابع هاست شود.
به همین دلیل هر مدیر وب سایتی باید بتواند منابع هاست خود را در Cpanel مورد بررسی قرار دهد تا اگر درگیری منابع باعث افت سرعت و کاهش عملکرد سایت شده تصمیمات درست در جهت رفع مشکل را بگیرد.
در این آموزش علاوه بر مشاهده CPU و RAM، با پارامترهایی مانند:
I/O، IOPS، Entry Processes، Number of Processes و Inode آشنا می شویم و بررسی می کنیم که بالا بودن هرکدام چه معنایی دارد، چگونه میتوان علت مصرف زیاد منابع را پیدا کرد و چه زمانی باید سایت را بهینه یا سرویس میزبانی را ارتقا داد.
در نظر داشته باشید که بخش Resource Usage که در این آموزش گفته می شود فقط در سرورهایی که با کلادلینوکس قدرت گرفته باشند وجود دارد و مستندات فعلی سی پنل هم Resource Usage را مرتبط با کلادلینوکس می داند.
منظور از منابع هاست چیست؟
هر هاستی که تهیه می شود میزان مشخصی از منابع سخت افزاری را دارد. شرکت های هاستینگ با تعیین محدودیت روی هر هاست پلن های خود را بر این اساس قیمت گذاری می کنند و با تخصیص منابع مشخص جلوی استفاده یک هاست از منابع کل سرور را می گیرند.
هر سایتی برای اجرای درخواست های خود از منابع سخت افزاری و نرم افزاری سرور استفاده می کند و هاست های اشتراکی با توجه به محدودیت هایی که دارند تا حد مشخصی می توانند از این منابع استفاده کنند.
این محدودیت ها کمک می کند عملکرد وب سایت های دیگر در اوج ترافیک یک وب سایت دچار مشکل نشود! البته نباید فراموش کنید این مورد زمانی مثبت عمل می کند که خود سرور اصلی از منابع سخت افزاری قدرتمندی برخوردار باشد چون در غیر این صورت یک سایت در پیک مصرف می تواند سرور را دچار چالش های جدی کند و حتی محدودیت های اعمال شده هم نتواند جلوی داون تایم ها را بگیرد.
مهم ترین منابعی که ممکن است برای یک حساب محدود شوند عبارتند از:
CPU
حافظه RAM یا Physical Memory
سرعت خواندن و نوشتن اطلاعات یا I/O
تعداد عملیات ورودی و خروجی یا IOPS
تعداد پردازش های همزمان یا NPROC
تعداد Entry Process یا همان پردازش های ورودی
فضای دیسک
تعداد فایل ها و پوشه ها یا Inode
پهنای باند
در کلادلینوکس می توان به سادگی موارد گفته شده را محدود کرد البته میزان پهنای باند در داخل خود سی پنل تعیین می شود و با محدودیت هایی که روی این منابع اعمال می شود ممکن است در لحظاتی که سایت از این محدودیت ها عبور می کند سایت با کندی شدید و حتی قطعی های موقت رو به رو شود.
چرا بررسی مصرف منابع سایت اهمیت دارد؟
این که چرا یک مدیر وب سایت باید مصرف منابع خود را چک کند تنها به این دلیل نیست که رسیدن محدودیت ها باعث کندی و قطعی وب سایت می شود بلکه می تواند سرنخ های بسیاری را در خصوص فعالیت هایی که در وب سایت انجام می شود به مدیر سایت دهد.
برای مثال فرض کنید سایت شما در ساعات مشخصی از روز با کندی شدیدی رو به رو می شود ولی بعد از چند دقیقه عملکرد وب سایت عادی می شود.
بدون مشاهده آمار منابع٬ نمی توان با اطمینان گفت دلیل این اتفاق چیست.
ممکن است:
بازدید سایت افزایش پیدا کرده باشد.
یک افزونه وردپرس پردازش سنگینی انجام دهد.
Cron Job در ساعت خاصی اجرا شود.
تعداد زیادی ربات سایت را Crawl کنند.
حملات Brute Force یا درخواست های مخرب در حال انجام باشد.
یک Query دیتابیس بیش از حد زمان ببرد.
عملیات Backup انجام شود.
سیستم آمارگیری یا اسکن امنیتی منابع زیادی مصرف کند.
سایت واقعا از ظرفیت سرویس فعلی عبور کرده باشد.
بنابراین وقتی به عنوان یک مدیر سایت قبل از حدس و گمان به بررسی منابع و مقایسه این مصرف در هفته گذشته می پردازید می توانید اطلاعات خوبی را به دست بیاورید که منبع درگیری کجاست و علت اینکه زمان وقوع مشکل در ساعت مشخصی هست چیست!
مصرف منابع کمک می کند شما از این موضوع آگاه شوید که وضعیت کلی سایت به چه صورت هست و آیا ورودی شما افزایش یافته یا مشکلات احتمالی از تداخل افزونه یا بهینه نبودن قالب شما را دچار مشکل کرده است.
گاهی یک بروزرسانی اشتباه یک پلاگین یا قالب هم مصرف منابع را به شکل غیرعادی اضافه می کند که اگر مصرف منابع به صورت منظم بررسی شود مشخص می شود که این مشکل بعد از بروزرسانی رخ داده یا خیر.
نحوه بررسی مصرف منابع در سی پنل:
برای بررسی مصرف منابع در سی پنل عموما به دو شیوه می توان اقدام کرد که در ادامه به هر دو مورد اشاره خواهیم کرد.
روش اول: وضعیت لحظه ای منابع از بخش Statistics سی پنل:
در سی پنل در نوار سمت راست عموما یک کادر Statistics برای مشاهده وضعیت لحظه ای مصرف منابع وجود دارد که با هر رفرش کردن صفحه این عدد تغییر می کند.
این روش یکی از سرویس ترین روش ها برای بررسی وضعیت کلی سرویس هست. برای مثال وقتی سایت دچار کندی شدید شده است با بررسی کادر Statistics در لحظه می توان علت را متوجه شد که برای مثال Ram به طور کامل به محدودیت رسیده است یا Cpu به صورت 100 درصد پر شده است.
این قسمت بسته به تنظیمات و محدودیت هایی هست که شرکت میزبان فعال کرده هست و برای همین هر شرکتی می تواند داده های متفاوتی داشته باشد. این ها پارامتر هایی هست که در کلادلینوکس تنظیم می شود و از بخش Statistics مشاهده می شوند.
مواردی که ما در این مقاله می خواهیم بررسی کنیم پارامتر هایی هستند که به منابع مربوط هستند.
1- Entry Processes:
گزینه Entry Processes تعداد پردازش های ورودی هاست را نسبت به حداکثر مقدار مجاز نمایش می دهد.
برای مثال:
1 / 20 (5%)
یعنی در لحظه ثبت این آمار، یک Entry Process از حداکثر 20 Entry Process مجاز در حال استفاده بوده است.
Entry Process معمولا زمانی افزایش پیدا می کند که درخواست های Dynamic مانند درخواست های PHP وارد محیط اجرای حساب شوند.
درخواستهای همزمان زیاد، صفحات PHP کند، Query های سنگین، درخواست های AJAX یا فعالیت زیاد ربات ها میتوانند باعث افزایش این مقدار شوند.
رسیدن Entry Processes به سقف تعیینشده می تواند در محیط CloudLinux باعث نمایش خطای:
508 Resource Limit Reached
شود. بنابراین اگر سایت هنگام افزایش ترافیک با خطای 508 مواجه میشود، Entry Processes یکی از اولین پارامترهایی است که باید بررسی شود.
2- Number of Processes:
گزینه Number of Processes تعداد پردازش ها و Thread های فعال هاست را نسبت به حداکثر تعداد مجاز نشان میدهد.
برای مثال:
2 / 40 (5%)
یعنی در زمان مشاهده آمار، 2 پردازش از حداکثر 40 پردازش قابل استفاده فعال بودند.
این پارامتر در CloudLinux با عنوان NPROC شناخته می شود و با Entry Processes یکسان نیست.
بهطور خلاصه:
Entry Processes یا EP بیشتر با ورود درخواست های همزمان به محیط LVE مرتبط است.
اما:
Number of Processes یا NPROC تعداد کل Process ها و Thread های در حال اجرا در LVE را کنترل می کند.
Cron Job ها، پردازش های PHP و برنامه هایی که چند Process یا Thread ایجاد می کنند می توانند باعث افزایش این مقدار شوند.
اگر NPROC به سقف تعیینشده برسد، تا زمانی که یکی از پردازش های موجود پایان پیدا نکند، پردازش جدیدی ایجاد نمیشود.
CloudLinux اعلام می کند این وضعیت ممکن است در بعضی شرایط با خطاهای 500 یا 503 همراه باشد.
3- CPU Usage:
این گزینه یکی از مهمترین آمارهایی هست که باید در زمان کندی بررسی شود و بالا بودن مداوم آن می تواند کندی و قطعی ها را به همراه داشته باشد.
گزینه CPU Usage میزان استفاده فعلی حساب از CPU را نمایش می دهد.
برای مثال:
2 / 100 (2%)
یعنی حساب در لحظه مشاهده آمار تنها بخش کوچکی از ظرفیت CPU تعیین شده برای سرویس را مصرف می کند.
مصرف CPU میتواند در اثر عوامل مختلفی افزایش پیدا کند، از جمله:
اجرای فایل های PHP
افزایش تعداد درخواست های سایت
افزونه یا اسکریپت های پرمصرف
اجرای Cron Job
پردازش تصاویر
تهیه Backup
Query های سنگین دیتابیس
فعالیت ربات ها
Import یا Export اطلاعات
بالا رفتن لحظهای CPU الزاما به معنی کمبود منابع هاست نیست. برای تشخیص مشکل باید مدت زمان مصرف بالا و سابقه رسیدن CPU به Limit را نیز در بخش Resource Usage بررسی کرد که در ادامه به آن می پردازیم.
اگر حساب به محدودیت CPU برسد، CloudLinux پردازش را محدود می کند و در نتیجه سایت ممکن است کندتر پاسخ دهد.
4- Physical Memory Usage:
گزینه Physical Memory Usage میزان RAM مصرف شده توسط حساب را نشان می دهد.
برای مثال:
34.51 MB / 3 GB (1.12%)
یعنی در زمان مشاهده آمار، حدود 34.51 مگابایت از مجموع 3 گیگابایت حافظه فیزیکی اختصاص یافته در حال استفاده بوده است.
این پارامتر در CloudLinux با نام PMEM یا Physical Memory شناخته می شود. CloudLinux از PMEM برای کنترل میزان حافظه فیزیکی قابل استفاده توسط پردازش های حساب استفاده می کند.
مصرف RAM ممکن است در موارد زیر افزایش پیدا کند:
تعداد زیاد پردازش های PHP
اسکریپت های پرمصرف
Import و Export
پردازش تصاویر
اجرای Cron Job های متعدد
پردازش های طولانی
افزونه های سنگین
مشکلات برنامه نویسی و مصرف غیرعادی حافظه
اگر سایت مرتب به محدودیت حافظه برسد، ممکن است اسکریپت ها به درستی اجرا نشوند و خطاهای سمت سرور مشاهده شود.
5- I/O Usage:
گزینه I/O Usage میزان فعلی استفاده حساب از ظرفیت خواندن و نوشتن اطلاعات روی فضای ذخیره سازی را نمایش می دهد.
برای مثال:
1 KB/s / 10 MB/s (0.01%)
یعنی در لحظه مشاهده آمار، سرعت I/O حساب حدود 1 کیلوبایت بر ثانیه بوده، در حالی که سقف تعیین شده برای سرویس 10 مگابایت بر ثانیه است.
CloudLinux محدودیت IO را بر اساس میزان انتقال داده در عملیات Read و Write اعمال می کند.
موارد زیر می توانند باعث افزایش I/O شوند:
تهیه یا Restore کردن Backup
فشرده یا Extract کردن فایل ها
خواندن و نوشتن فایل های حجیم
Import اطلاعات
عملیات فایل محور Cache
ایجاد Log های حجیم
برخی عملیات سنگین دیتابیس
در صورت رسیدن به محدودیت I/O خواندن و نوشتن روی دیسک الزاما متوقف نمی شوند بلکه CloudLinux سرعت عملیات آن ها را محدود می کند و در نتیجه سایت یا عملیات در حال اجرا ممکن است کندتر شود.
نکته مهم:
اعدادی که در این قسمت مشاهده می کنید وضعیت فعلی حساب را نشان می دهند. بنابراین ممکن است سایت چند ساعت قبل به محدودیت CPU یا RAM رسیده باشد اما زمانی که وارد cPanel می شوید مصرف آن دوباره طبیعی شده باشد.
به همین دلیل، بخش Statistics برای یک بررسی سریع مناسب است، اما برای پیدا کردن مشکلاتی که در ساعات گذشته اتفاق افتادند کافی نیست. اگر بخواهید سایت را در بازه زمانی مختلف بررسی کنید که میزان مصرف به چه صورت بوده و به چه صورت درآمده هست گزینه Resource Usage می تواند کمک بیشتری به شما کند.
در این صفحه وضعیت کلی حساب قابل مشاهده است و اگر هاست در بازه اخیر با محدودیت منابع مواجه شده باشد، CloudLinux این موضوع را در همین قسمت نمایش می دهد.
Physical memory resources limit was reached for your site
بررسی تاریخچه مصرف از Current Usage:
با بررسی این موارد می توانیم تا حد زیادی مشخص کنیم که وضعیت هاست به چه صورت هست و این محدودیت ها تا چه اندازه باعث افت سرعت سایت شده اند و در صورت نیاز نسبت به بهینه سازی سایت٬ دیتابیس و در نهایت ارتقا هاست اقدام کنیم.
جمع بندی:
بررسی مصرف منابع هاست در سی پنل یکی از ابتدایی ترین کارهایی می باشد که هر مدیر وب سایت باید آن را بداند تا در زمان کندی٬ خطاهای موقت یا افت عملکرد سایت بتواند آن را مورد بررسی و آنالیز قرار دهد.
بخش Statistics دیدی سریع از وضعیت فعلی سرویس می دهد و Resource Usage کمک می کند سابقه مصرف، زمان برخورد با محدودیت ها و Fault های ثبت شده را دقیق تر بررسی کنید.
با این اطلاعات می توان تشخیص داد که مشکل سایت یک اتفاق موقتی بوده، نیاز به بهینه سازی دارد یا سرویس میزبانی فعلی دیگر پاسخگوی حجم فعالیت سایت نیست.
اگر سایت بهصورت مداوم به محدودیت منابع میرسد، Fault های متعدد ثبت می شود و حتی پس از بهینه سازی همچنان در ساعات پرترافیک با کندی مواجه هستید، احتمالا زمان ارتقای هاست فرا رسیده است.
برای سایت های فروشگاهی و وردپرسی پرترافیک، استفاده از هاست ووکامرس با منابع بیشتر و تنظیمات مناسب فروشگاه اینترنتی می تواند انتخاب منطقی تری باشد.
در سایت های بسیار پرترافیک، پروژه های سنگین یا سرویس هایی که به منابع پایدار و آزادی عمل بیشتری نیاز دارند نیز می توان به سراغ هاست اختصاصی رفت.
در نهایت بهتر است ارتقای سرویس بر اساس حدس و تصور انجام نشود. ابتدا آمار Resource Usage را بررسی کنید، زمان و تعداد برخورد با Limit ها را بسنجید و اگر مشخص شد سایت به شکل واقعی از ظرفیت سرویس فعلی عبور کرده است، آن زمان مهاجرت به یک سرویس قدرتمندتر می تواند تاثیر مستقیمی بر پایداری، سرعت و تجربه کاربران سایت داشته باشد.
در هاست های پارس وب سرور تنها محدودیت های اعمال شده روی Ram و Cpu هست و بقیه پارامترها هیچ محدودیتی ندارند و کاربران می توانند بدون دغدغه تا جایی که میزان Ram و Cpu کفایت می کند ورودی و پردازش داشته باشند.











