برای خرید سرور مجازی یا سرور اختصاصی می‌بایست با توجه به نوع کاربری، تصمیم گرفت. سرورهای لینوکس از نظر سرعت دانلود و سرعت آپلود و همین‌طور سرعت هارددیسک یا SSD متفاوت هستند. در اموری که به پردازش سنگین نیاز است، می‌بایست به CPU یا پردازنده توجه کرد و اطلاعاتی مثل نوع معماری هسته‌ها و سرعت کلاک هسته‌های پردازنده را بررسی کرد. بررسی مقدار RAM و سرعت آن نیز بسیار مهم است.

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

بنچ‌مارک چیست؟

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

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

در سیستم عامل اندروید بنچ‌مارک AnTuTu یکی از بنچ‌مارک‌های عمومی است که با بررسی عملکرد پردازنده، پردازنده‌ی گرافیکی و موارد دیگر، یک امتیاز کلی برای سخت‌افزار گوشی در نظر می‌گیرد. در ویندوز می‌توان از بنچ‌مارک‌های عمومی نظیر SANDRA استفاده کرد و به همین صورت برای iOS و macOS اپل و توزیعات مختلف لینوکس، نرم‌افزارهای بنچ‌مارک مختلفی موجود است.

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

به عنوان مثال اگر هدف رندرینگ به کمک CPU است، سین‌بنچ بنچ‌مارک خوبی است اما اگر قرار باشد از قدرت پردازنده‌ی گرافیکی استفاده شود، بهتر است سراغ نرم‌افزارهای دیگری بروید.

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

نکات مهم در بنچ‌مارک‌گیری از سرورهای لینوکسی

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

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

دستوراتی که در ادامه ذکر می‌کنیم، بدون پیشوند sudo است و در واقع باید با حساب کاربری روت لاگین کرده باشید تا دستورات بدون مشکل اجرا شود. اگر با این حساب کاربری لاگین نکرده‌اید، برای اجرای دستوراتی مثل apt install که اپلیکیشنی را نصب می‌کند، از پیشوند sudo استفاده کنید. در واقع sudo apt install یا sudo apt update دستوراتی است که با دسترسی root اجرا می‌شود.

بنچ‌مارک هارددیسک یا SSD سرور لینوکسی

برای مقایسه سرعت هارددیسک یا SSD و به طور کلی حافظه‌ی ذخیره‌سازی یک سرور، ابتدا دستور زیر را در اپلیکیشن ترمینال اوبونتو اجرا کنید تا ابزار لازم، دانلود و نصب شود:

اگر با فشار دادن کلید Enter، پیامی در مورد پیدا نکردن fio نمایان شد، به این معنی است که مخزن نرم‌افزاری موردنیاز که universe است را فعال نکرده‌اید. برای فعال‌سازی آن می‌توانید از دستور apt install software-properties-common && add-apt-repository universe استفاده کنید و سپس مجدداً دستور فوق را اجرا کنید.

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

اگر مدت زمان لازم کمتر از ۲۰ ثانیه گزارش شود، به این معنی است که از هارد استفاده نشده بلکه حافظه از نوع SSD است. می‌توانید ظرفیت فایل حجیمی که خوانده می‌شود را بیشتر کنید. کافی است در انتهای دستور به جای 2000M که ۲ گیگابایت است، 8000M یا در واقع ۸۰۰۰ مگابایت را وارد کنید و نتیجه را بررسی کنید:

سرعت متوسط در خروجی این دستور، روبروی عبارت READ: bw ذکر می‌شود که مهم‌ترین عدد در نتایج است. 

برای تست کردن سرعت نوشتن ترتیبی یا به زبان دیگر Sequential Write هم می‌توانید از دستور زیر استفاده کنید:

و مثل دستور قبلی به عدد ذکر شده روبروی WRITE: bw توجه کنید.

خواندن یا نوشتن ترتیبی چیزی است که در اغلب شرایط اتفاق نمی‌افتد! معمولاً نقل و انتقال داده در یک کامپیوتر یا سرور، به صورت تصادفی یا Random است و سرعت در این حالت پایین‌تر خواهد بود. به خصوص اگر از HDD استفاده شده باشد. در SSDها زمان دسترسی یا تأخیر کوتاه‌تر است و وضعیت به مراتب بهتر است.

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

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

در خروجی دستور فوق به آنچه روبروی read: IOPS و write: IOPS ذکر شده توجه کنید که تعداد عمل انجام شده در هر ثانیه است.

چگونه سرعت هاردد یا SSD و شبکه و قدرت پردازنده سرورهای لینوکس را با بنچ‌مارک مقایسه کنیم؟

بنچ‌مارک پردازنده و رم سرورهای لینوکسی

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

و لینک کپی شده را پس از فرمان wget قرار بدهید و به عنوان مثال دستور زیر را در ترمینال اجرا کنید که نسخه‌ی 4.3.3 این بنچ‌مارک را دانلود می‌کند:

برای اکسترکت کردن فایل جی‌زیپ، از دستور tar استفاده کنید:

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

چگونه سرعت هاردد یا SSD و شبکه و قدرت پردازنده سرورهای لینوکس را با بنچ‌مارک مقایسه کنیم؟

برای تغییر محیط کاری به فولدر نرم‌افزار گیک‌بنچ، ابتدا دستور cd و سپس نام و آدرس فولدر را وارد کنید و Enter را فشار دهید:

و برای لیست کردن فایل‌های موجود در فولدر، از دستور ls استفاده کنید.

همان‌طور که در تصویر زیر مشاهده می‌کنید، فایل‌ها لیست می‌شود:

چگونه سرعت هاردد یا SSD و شبکه و قدرت پردازنده سرورهای لینوکس را با بنچ‌مارک مقایسه کنیم؟

و در نهایت برای اجرا کردن بنچ‌مارک، نام فایل اجرایی را وارد کنید که در مثال ما اولین فایل یعنی geekbench4 است:

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

چگونه سرعت هاردد یا SSD و شبکه و قدرت پردازنده سرورهای لینوکس را با بنچ‌مارک مقایسه کنیم؟

تست سرعت شبکه سرور لینوکسی

برای تست سرعت شبکه و در واقع اینترنت، می‌توانید از نرم‌افزار Speedtest استفاده کنید. با فرمان زیر آن را نصب کنید:

و با اجرا کردن دستور زیر، بنچ‌مارک را آغاز کنید:

همان‌طور که در تصویر زیر مشاهده می‌کنید، اطلاعاتی در مورد موقعیت سرور روبروی Hosted by ذکر شده و زمان پینگ کردن نیز اعلام شده است. در ادامه سرعت Download و Upload‌ به صورت متوسط و پیوسته ذکر می‌شود:

چگونه سرعت هاردد یا SSD و شبکه و قدرت پردازنده سرورهای لینوکس را با بنچ‌مارک مقایسه کنیم؟

این نرم‌افزار به صورت خودکار و بر اساس پینگ، نزدیک‌ترین سرور را برای تست سرعت انتخاب می‌کند. اما می‌توانید سرور را به صورت دستی هم مشخص کنید. به عنوان مثال با دستور زیر می‌توانید لیستی از سرورها در کشور موردنظر را مشاهده کنید که در این مثال آلمان یا Germany است و باید نام کشور را تغییر بدهید:

برای انتخاب سرور موردنظر از لیست سرورها، کافی است عدد آن را در انتهای دستور زیر به جای عدد مثال ما قرار بدهید:

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