بازگشت به مجله
زیرساختتیم فنی هایوهاست۹ دقیقه مطالعه

چقدر پردازنده، حافظه و دیسک برای سایت خود لازم دارید؟

به جای حدس زدن یا کپی کردن جدول های آماده، مصرف واقعی را اندازه بگیرید و بر اساس داده تصمیم بگیرید.

تخمین منابع

پرتکرارترین سوال قبل از خرید سرور این است که چه اندازه ای کافی است. جواب واقعی به نوع برنامه، الگوی ترافیک و نحوه نوشته شدن کد بستگی دارد، نه به جدول های آماده ای که در اینترنت پیدا میشوند. خوشبختانه اندازه گیری مصرف واقعی کار سختی نیست و در چند دقیقه تصویر روشنی به شما میدهد.

1

چرا جدول های آماده گمراه کننده اند

جدول هایی که میگویند برای فلان تعداد بازدید، فلان مقدار حافظه لازم است، یک متغیر مهم را نادیده میگیرند: اینکه هر بازدید چقدر پردازش لازم دارد. یک صفحه ساده و یک صفحه جستجوی محصول در فروشگاه، بار کاملا متفاوتی ایجاد میکنند.

معیار درست تعداد بازدید روزانه نیست، بلکه تعداد درخواست های همزمان در ساعت شلوغی است.

2

اول مصرف فعلی را اندازه بگیرید

اگر سرور فعلی دارید، قبل از هر تصمیمی چند روز مصرف را زیر نظر بگیرید. مهم است که این اندازه گیری را در ساعت های شلوغ انجام دهید، نه در زمان کم ترافیک.

نمای کلی مصرف لحظه ای
htop
free -h
df -h
میانگین بار سیستم
uptime
vmstat 5 5
بیشترین مصرف کنندگان حافظه
ps aux --sort=-%mem | head -10
3

حافظه معمولا اولین گلوگاه است

در بیشتر سایت ها، اولین چیزی که کم می آید حافظه است نه پردازنده. وقتی حافظه تمام میشود سیستم شروع به استفاده از فضای swap روی دیسک میکند و از آنجا که دیسک بسیار کندتر از حافظه است، کل سرور کند میشود.

در خروجی دستور free، ستونی که باید ببینید available است نه free. مقدار free پایین لزوما بد نیست چون لینوکس از حافظه آزاد برای کش استفاده میکند.

نمودار مصرف حافظه، پردازنده و دیسک که نشان میدهد حافظه گلوگاه سرور است
وقتی حافظه گلوگاه است، افزودن هسته پردازنده هیچ تغییری ایجاد نمیکند.
  • اگر available همیشه زیر ده درصد است، حافظه را افزایش دهید.
  • مصرف مداوم swap نشانه روشن کمبود حافظه است.
  • پایگاه داده معمولا بزرگترین مصرف کننده حافظه است.
4

پردازنده: تعداد هسته یا سرعت هر هسته؟

برای بیشتر سایت ها، سرعت تک هسته اهمیت بیشتری از تعداد هسته دارد، چون پردازش هر درخواست معمولا روی یک هسته انجام میشود. تعداد هسته وقتی مهم میشود که درخواست های همزمان زیادی داشته باشید.

معیار ساده: اگر میانگین بار سیستم به طور مداوم از تعداد هسته ها بیشتر است، پردازنده گلوگاه شماست.

5

دیسک: فضا مهم است یا سرعت؟

برای سایت هایی که پایگاه داده فعال دارند، سرعت دیسک معمولا مهمتر از حجم آن است. تفاوت یک دیسک NVMe با دیسک معمولی در پاسخ دهی پایگاه داده کاملا محسوس است.

برای بررسی اینکه آیا دیسک گلوگاه است، به ستون انتظار ورودی و خروجی نگاه کنید. اگر این مقدار بالا باشد، پردازنده منتظر دیسک است.

بررسی فشار روی دیسک
vmstat 5 5
iostat -x 5 3
6

چه زمانی باید ارتقا دهید

به جای ارتقای زودهنگام، این نشانه ها را ملاک قرار دهید. اگر هیچکدام را ندارید، احتمالا منابع فعلی کافی است و مشکل کندی از جای دیگری می آید.

  • میانگین بار سیستم به طور مداوم بالاتر از تعداد هسته ها.
  • مصرف دائمی swap و حافظه در دسترس بسیار کم.
  • زمان انتظار دیسک بالا در ساعت های شلوغ.
  • کند شدن پاسخ سرور در اوج ترافیک با وجود بهینه بودن برنامه.

پرسش های پرتکرار

برای یک سایت وردپرسی معمولی چه منابعی لازم است؟

برای یک سایت وردپرسی با ترافیک متوسط، دو گیگ حافظه و یک تا دو هسته معمولا کافی است. اگر افزونه های سنگین یا فروشگاه دارید، از چهار گیگ شروع کنید و بر اساس مصرف واقعی تصمیم بگیرید.

چطور بفهمم حافظه سرور کم است؟

اگر مقدار available در خروجی free پایین باشد و مصرف swap مدام بالا برود، سرور با کمبود حافظه روبروست. کند شدن ناگهانی همراه با فعالیت زیاد دیسک هم نشانه رایج همین مشکل است.

آیا افزایش تعداد هسته همیشه سرعت را زیاد میکند؟

خیر. اگر گلوگاه شما حافظه یا دیسک باشد، افزایش هسته تاثیری ندارد. همچنین بخشی از پردازش ها تک رشته ای هستند و از هسته های بیشتر بهره ای نمیبرند.

به راهنمای بیشتری نیاز دارید؟

تیم پشتیبانی هایوهاست برای انتخاب و مدیریت سرویس کنار شماست.

گفتگو با پشتیبانی

ادامه یادگیری

مشاهده همه