اطلاعیه

بستن
هنوز اطلاعیه ای در دست نیست.

نحوه تست کردن ظرفیت شبکه با استفاده از ابزار iperf3 در لینوکس

بستن
X
 
  • فیلتر کردن
  • زمان
  • نمایش
Clear All
پست های جدید

    نحوه تست کردن ظرفیت شبکه با استفاده از ابزار iperf3 در لینوکس

    iperf3 یک برنامه رایگان open source، چند پلتفرمه و کامند لاینی میباشد و برای اندازه گیری real time ظرفیت شبکه در لینوکس مورد استفاده قرار میگیرد. این ابزار یکی از ابزارهای قدرتمند برای تست ماکزیمم پهنای باندی که در شبکه های ip (از IPv4 و IPv6 پشتیبانی میکند) بتوان به دست آورد، مورد استفاده قرار میگیرد.

    با استفاده از iperf شما میتوانید چندین پارامتر مربوط به timing، buffer و پرتکل هایی همچون TCP, UDP, SCTP را کنترل و تنظیم کنید. این ابزار برای عملیات tune کردن کارایی شبکه بسیار پرکاربرد است.

    به منظور دریافت حداکثر کارایی شبکه، شما به افزایش throughput (ظرفیت) و latency (تاخیر) ظرفیت های دریافت و ارسال شبکه تان نیاز دارید. به هر حال قبل از اینکه شما بتوانید tuning واقعی را انجام دهید نیاز به انجام یکسری تست برای جمع آوری آمارهای کارایی کلی شبکه که شما را در پروسه tune کردن راهنمایی خواهد کرد، نیاز خواهید داشت.

    نتایج این دستور شامل فواصل زمانی به ثانیه، دیتای انتقال یافته، پهنای باند (سرعت انتقال)، از دست رفتن دیتا (پکت لاست) و دیگر پارامترهای مفید در کارایی شبکه میباشد. این ابزار به صورت اساسی برای کمک در tune کردن ارتباطات TCP از بستر یک مسیر خاص طراحی شده و این علتی است که ما در این پست روی آن تمرکز خواهیم کرد.


    تجهیزات مورد نیاز :
    • دو کامپیوتر شبکه بندی شده که روی هر دو iperf3 نصب است.


    نحوه نصب iperf3 در سیستم عامل های Linux

    قبل از هر کاری شما باید روی هر دو ماشین مورد نظر iperf3 را نصب کنید. با توجه به اینکه iperf3 در ریپازیتوری های رسمی در اکثر توزیع های لینوکسی رایج موجود هستند نصب این پکیج کاری آسان است، و تنها با استفاده از یک پکیج منیجر همانند زیر آنرا نصب کرد.
    کد PHP:
    sudo apt install iperf3    #Debian/Ubuntu
    sudo yum install iperf3    #RHEL/CentOS
    sudo dnf install iperf3    #Fedora 22+ 
    به محض اینکه شما iperf3 را روی هر دو ماشین نصب کردید، میتوانید کار تست throughput شبکه را شروع کنید.



    نحوه تست Throughput شبکه بین سرورهای Linux

    ابتدا به ماشین ریموتی که به عنوان سرور از آن استفاده خواهید کرد متصل شده و iperf3 را با استفاده از آپشن -s در مد سرور اجرا کنید. این ابزار به صورت پیش فرض روی پورت 5201 در حال listen میباشد.

    شما میتوانید برای گزارشات از فرمت دلخواه خود (k, m, g برای Kbits, Mbits, Gbits یا K, M, G برای KBytes, Mbytes, Gbytes) با استفاده از آپشن -f همانند زیر استفاده کنید.
    کد PHP:
    iperf3 --f K 
    اگر پورت 5201 توسط برنامه دیگری روی سرور استفاده میشود شما میتوانید پورت متفاوتی را (مثلا 3000) با استفاده از آپشن -p همانند زیر استفاده کنید.
    کد PHP:
    iperf3 --p 3000 
    به صورت دلخواه شما میتوانید سرور را به عنوان یک سرویس با استفاده از آپشن -D اجرا کنید و پیغام های سرور را روی یک log فایل همانند زیر ذخیره کنید.
    کد PHP:
    iperf3 --iperf3log 
    سپس روی ماشین لوکال تان که میخواهید به عنوان client از آن استفاده کنید (که در حقیقت معیار سنجش واقعی توسط این سرور صورت میگیرد) دستور iperf را در مد client با استفاده از آپشن -c اجرا کنید و آدرس هاستی که سرور روی آن در حال اجراست را مشخص نمایید (که میتوانید ip آدرس، دامین یا host name آنرا استفاده کنید).
    کد PHP:
    iperf3 -c 192.168.10.1 -f K 
    بعد از حدود 18 تا 20 ثانیه، کلاینت باید به کار خود خاتمه دهد و نتایجی شامل میانگین throughput را برای تست و سنجش همانند تصویر زیر ایجاد کند.
    دستور iperf در لینوکس



    آموزش نصب iperf





    نکته : از نتایج فراهم آمده همانطور که در تصویر بالا میبینید، تنوعی از مقادیر از server و client موجود است اما شما همیشه باید نتایج به دست آمده از iperf ماشین client در هر تستی که انجام میدهید بررسی و استفاده کنید.



    نحوه اجرا کردن تست پیشرفته Throughput در Linux

    یکسری گزینه های خاص کلاینت وجود دارند که میتوان با استفاده از آنها همانند آنچه که در زیر توضیح داده شده میتوان تست های پیشرفته را پیاده سازی کرد. یکی از فاکتورهای مهم که میزان دیتای در شبکه روی مدت زمان داده شده را مشخص میکند، سایز TCP میباشد، که در tune کردن ارتباطات TCP مهم است. شما میتوانید سایز آن/سایز بافر سوکت را با استفاده از آپشن -w همانند زیر تعریف کنید.
    کد PHP:
    iperf3 -c 192.168.10.1 -f K -w 500K 
    برای اجرا کردن آن در مد reverse که سرور ارسال میکند و کلاینت دریافت میکند میتوانید از آپشن -R همانند زیر استفاده کنید.
    کد PHP:
    iperf3 -c 192.168.10.1 -f K -w 500K -
    برای اجرا کردن یک تست دوطرفه، به این معنا که شما پهنای باند را در هر دو جهت به صورت همزمان اندازه گیری کنید، باید از آپشن -d استفاده کنید.
    کد PHP:
    iperf3 -c 192.168.10.1 -f K -w 500K -
    اگر شما بخواهید که نتایج سرور را در خروجی کلاینت دریافت کنید باید از آپشن --get-server-output استفاده کنید.
    کد PHP:
    iperf3 -c 192.168.10.1 -f K -w 500K ---get-server-output 
    استرس تست شبکه با iperf





    تست استرس سرور لینوکس




    همچنین امکان تعریف تعداد stream های به صورت موازی برای کلاینت (در این مثال 2) وجود دارد که همزمان و با استفاده از آپشن -P انجام میشود.
    کد PHP:
    iperf3 -c 192.168.10.1 -f K -w 500K -P 2 
    برای اطلاعات بیشتر صفحه راهنمای iperf3 را مشاهده نمایید.
    کد PHP:
    man iperf3 
    iperf3 Homepage : https://iperf.fr

    همچنین توصیه میشود مقالات زیر را مطالعه کنید :

    ابزار stress-ng برای تحمیل لود بالا و استرس تست روی cpu در لینوکس

    httpstat - یک ابزار آمارگیری Curl برای تست سرعت لود سایت

    چگونه 90 درصد از memory خود را در linux برای تست اشغال کنیم؟

    راهنمای جامع به منظور مدیریت، عیب یابی و رفع مشکلات شبکه برای یک ادمین لینوکس


    به خاطر داشته باشید که همیشه قبل از اینکه اقدام به tune کردن واقعی شبکه خود داشته باشید، تست های کارایی network را پیاده سازی کنید. iperf3 یک ابزار قدرتمند میباشد که برای اجرا کردن تست های throughput شبکه بسیار مفید است. در صورتی که درباره این ابزار ترفندی میشناسید و یا با توجه به مباحث مطرح شده در پست بالا سوال یا نظری دارید آنرا با ما به اشتراک بگذارید.
    آخرین ویرایش توسط Habili; در تاریخ/ساعت 02-07-2021, 02:58 PM.

درباره انجمن منطقه لینوکسی ها

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

شبکه های اجتماعی
در حال انجام ...
X