بلاگ/چطور قبل از خرید، کیفیت واقعی سرور مجازی را با بنچمارک تست کنیم؟
به‌روز شده

چطور قبل از خرید، کیفیت واقعی سرور مجازی را با بنچمارک تست کنیم؟

1405/07/060 بازدید
چطور قبل از خرید، کیفیت واقعی سرور مجازی را با بنچمارک تست کنیم؟

چطور قبل از خرید، کیفیت واقعی سرور مجازی را با بنچمارک تست کنیم؟

مشخصات فنی روی صفحهٔ خرید یک سرور مجازی — تعداد هسته، مقدار رم، حجم دیسک — فقط بخشی از داستان است. دو سرور با مشخصات کاملاً یکسان می‌توانند در عمل عملکرد خیلی متفاوتی داشته باشند، چون این اعداد چیزی دربارهٔ کیفیت زیرساخت، میزان اشتراک‌گذاری منابع بین کاربران، یا وضعیت شبکهٔ دیتاسنتر نمی‌گویند.

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

تست بنچمارک سرور مجازی با ابزارهای خط فرمان لینوکس مثل sysbench، fio و iperf3

چرا مشخصات فنی روی کاغذ کافی نیست

وقتی چند سرور مجازی روی یک هایپروایزر مشترک هستند، نحوهٔ تخصیص CPU و I/O دیسک بین آن‌ها می‌تواند تفاوت زیادی در عملکرد واقعی ایجاد کند. یک سرور با ۴ هسته و دیسک NVMe ادعایی، اگر زیرساخت زیرش شلوغ باشد، در عمل کندتر از یک سرور با مشخصات ضعیف‌تر روی زیرساخت خلوت‌تر عمل می‌کند. این پدیده همان چیزی است که در مقالهٔ استیل تایم و نویزی نیبر با جزئیات بیشتری بررسی کرده‌ایم.

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

قبل از شروع: از سرور ساعتی استفاده کنید

تست بنچمارک نیازی به تعهد ماهانه ندارد. اکثر ارائه‌دهندگان، از جمله آریانت، پلن ساعتی برای سرور مجازی دارند که می‌توانید یک نمونه را برای چند ساعت بالا بیاورید، تست‌ها را اجرا کنید، نتیجه را با گزینه‌های دیگر مقایسه کنید و در پایان همان سرور را حذف کنید. هزینهٔ کل این کار معمولاً کمتر از قیمت یک وعده غذا است.

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

تست سرعت CPU

نصب و اجرای sysbench

sysbench ساده‌ترین ابزار برای تست عملکرد پردازنده است و در ریپازیتوری اکثر توزیع‌های لینوکس موجود است. برای آشنایی با ابزارهای مشابه، این مرور بر ابزارهای بنچمارک سیستم لینوکس را هم ببینید.

sudo apt update && sudo apt install -y sysbench
sysbench cpu --cpu-max-prime=20000 --threads=$(nproc) run

خروجی شامل «events per second» است — هرچه این عدد بالاتر باشد، پردازنده سریع‌تر عملیات محاسباتی را انجام می‌دهد. مقدار --threads را برابر تعداد هسته‌های سرور بگذارید تا از ظرفیت کامل CPU استفاده شود.

تفسیر نتایج

عدد خام sysbench به‌تنهایی معنی ندارد؛ باید آن را با یک سرور مرجع (مثلاً همان تعداد هسته از یک ارائه‌دهندهٔ دیگر) مقایسه کنید. اگر دو سرور با مشخصات یکسان اختلاف بیش از ۲۰-۳۰ درصد در این عدد داشته باشند، احتمالاً یکی از آن‌ها زیر بار اشتراکی سنگین‌تری قرار دارد.

تست سرعت دیسک با fio

دیسک معمولاً گلوگاه اصلی عملکرد سرورهای مجازی است، به‌خصوص برای دیتابیس یا اپلیکیشن‌هایی با I/O زیاد. fio استاندارد صنعتی برای تست دقیق دیسک است.

نصب و اجرای fio

sudo apt install -y fio
fio --name=randwrite --ioengine=libaio --iodepth=32 \
    --rw=randwrite --bs=4k --direct=1 --size=1G \
    --numjobs=4 --runtime=60 --group_reporting

این دستور یک تست نوشتن تصادفی با بلوک‌های ۴ کیلوبایتی اجرا می‌کند — الگویی که به وضعیت واقعی دیتابیس‌ها و برنامه‌های وب نزدیک‌تر است تا تست‌های ساده و متوالی.

چه اعدادی مهم‌اند

سه عدد اصلی را از خروجی fio بردارید: IOPS، throughput (سرعت انتقال) و latency (تاخیر). برای اکثر کاربردهای عمومی وب و دیتابیس‌های کوچک تا متوسط، این محدوده‌ها راهنمای خوبی هستند:

معیارمقدار قابل قبول برای SSD/NVMeنشانهٔ هشدار
IOPS (تصادفی، ۴K)بالاتر از ۵٬۰۰۰زیر ۱٬۰۰۰
Throughput (نوشتن)بالاتر از ۲۰۰ مگابایت بر ثانیهزیر ۵۰ مگابایت بر ثانیه
Latency (میانگین)زیر ۵ میلی‌ثانیهبالاتر از ۲۰ میلی‌ثانیه

اگر عدد latency به‌طور مداوم بالا باشد، حتی با IOPS قابل قبول، یعنی دیسک زیر فشار کاربران دیگر روی همان استوریج است — دقیقاً همان چیزی که مشخصات فروش نشان نمی‌دهد.

برای دید کامل‌تر، همین تست را یک بار با --rw=randread هم اجرا کنید. سرعت خواندن و نوشتن روی برخی زیرساخت‌ها فاصلهٔ زیادی دارند، و اگر برنامهٔ شما بیشتر خواندن‌محور است (مثل یک سایت با ترافیک بالا)، عدد خواندن اهمیت بیشتری دارد.

تست شبکه با iperf3 و ping

شبکه دو ویژگی مهم دارد که باید جدا از هم تست شوند: پهنای باند (چقدر داده در ثانیه منتقل می‌شود) و تاخیر (چقدر طول می‌کشد یک بسته برسد).

پهنای باند با iperf3

برای تست iperf3 به دو سرور نیاز دارید: یکی به‌عنوان سرور (server) و دیگری به‌عنوان کلاینت. اگر سرور دوم را ندارید، بسیاری از ارائه‌دهندگان سرور iperf3 عمومی برای تست ارائه می‌دهند.

# روی سرور مجازی مقصد
iperf3 -s

# روی ماشین تست یا سرور دیگر
iperf3 -c <server-ip> -t 30

خروجی، سرعت انتقال به مگابیت بر ثانیه را نشان می‌دهد. این عدد را با پهنای باند تعهدشده در پلن خریداری‌شده مقایسه کنید؛ اختلاف زیاد نشانهٔ محدودیت پنهان یا ازدحام شبکه است.

تاخیر و پایداری با ping

ping -c 50 <server-ip>

به سه چیز در خروجی توجه کنید: میانگین زمان پاسخ (به‌خصوص برای کاربران ایران، هرچه کمتر بهتر)، درصد packet loss (باید صفر یا نزدیک صفر باشد) و پراکندگی زمان‌ها (jitter بالا یعنی اتصال ناپایدار). برای بررسی دقیق‌تر مسیر و شناسایی گلوگاه بین راه، mtr <server-ip> گزینهٔ بهتری است چون هاپ‌به‌هاپ مسیر را نشان می‌دهد. برای کاربران ایرانی، راهنمای خرید سرور مجازی ایران نکات بیشتری دربارهٔ پینگ و انتخاب دیتاسنتر دارد.

چند نکتهٔ عملی هنگام تست

نتیجهٔ یک بار اجرای تست کافی نیست. بار سرورهای اشتراکی در ساعات مختلف روز تغییر می‌کند، پس بهتر است هر تست را حداقل دو یا سه بار، در فاصله‌های زمانی متفاوت، تکرار کنید و میانگین بگیرید. اگر اعداد بین اجراها نوسان زیادی داشتند، خودِ این نوسان هم یک سیگنال است — یعنی منابع زیرساخت پایدار تخصیص داده نمی‌شوند.

همچنین تست را روی همان منطقهٔ جغرافیایی و همان نوع پلنی اجرا کنید که واقعاً قصد خرید آن را دارید. مقایسهٔ یک سرور NVMe در یک دیتاسنتر با یک سرور SSD معمولی در دیتاسنتر دیگر نتیجهٔ گمراه‌کننده می‌دهد.

در نهایت، نتایج خام را جایی یادداشت کنید — یک فایل متنی ساده کافی است. وقتی چند ارائه‌دهنده را کنار هم می‌گذارید، مقایسهٔ اعداد واقعی بسیار مطمئن‌تر از تکیه بر خاطره یا برداشت کلی از سرعت هر سرویس است.

جمع‌بندی: چک‌لیست یک‌جا برای تست بنچمارک سرور مجازی

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

تستابزارچیزی که اندازه می‌گیرد
سرعت پردازندهsysbenchتوان محاسباتی CPU
سرعت دیسکfioIOPS، throughput، latency
پهنای باند شبکهiperf3سرعت واقعی انتقال داده
تاخیر و پایداری شبکهping / mtrزمان پاسخ و افت بسته

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

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

سرور مجازی آریانت را با پلن ساعتی امتحان کنید