| QPERF(1) | دستورهای کاربری | QPERF(1) |
نام (NAME)
qperf - سنجش کارایی RDMA و IP
خلاصه دستور (SYNOPSIS)
qperf
qperf SERVERNODE [OPTIONS] TESTS
توضیحات (DESCRIPTION)
دستور qperf پهنای باند و تأخیر بین دو گره را اندازه میگیرد. این ابزار میتواند هم روی TCP/IP و هم روی لایههای انتقال RDMA کار کند. روی یکی از گرهها، qperf معمولاً بدون هیچ آرگومانی اجرا میشود که آن را به عنوان گره کارساز تعیین میکند. سپس میتوان qperf را روی یک گره کارخواه اجرا کرد تا معیارهایی نظیر پهنای باند، تأخیر و میزان استفاده از پردازنده به دست آید.
در پایهایترین حالت، qperf روی یک گره با اجرای بدون آرگومان در حالت کارساز اجرا میشود. روی گره دیگر، با دو آرگومان اجرا میگردد: نام گره کارساز و به دنبال آن نام آزمون. فهرستی از آزمونها را میتوان در بخش TESTS یافت. همچنین گزینههای متنوعی را میتوان مشخص کرد.
میتوان با استفاده از گزینه --help اطلاعات دقیقتری درباره qperf به دست آورد. در زیر نمونههایی از استفاده از گزینه --help آورده شده است:
qperf --help examples
نمونههایی
از کاربرد qperf
qperf --help opts
خلاصهای
از
گزینهها
qperf --help options شرح
گزینهها
qperf --help tests خلاصه
کوتاه و شرح
آزمونها
qperf --help TESTNAME
اطلاعات
بیشتر
درباره
آزمون TESTNAME
مثالها (EXAMPLES)
در این مثالها، ابتدا qperf را روی گرهای به نام myserver در حالت کارساز و بدون هیچ آرگومانی اجرا میکنیم. در تمام مثالهای بعدی، qperf را روی گره دیگری اجرا کرده و به کارسازی متصل میشویم که فرض میکنیم نام میزبان آن myserver است.
- برای اجرای آزمون پهنای باند و تأخیر TCP:
- qperf myserver tcp_bw tcp_lat
- برای اجرای آزمون پهنای باند SDP به مدت ۱۰ ثانیه:
- qperf myserver -t 10 sdp_bw
- برای اجرای آزمون تأخیر UDP و سپس بستن کارساز:
- qperf myserver udp_lat quit
- برای سنجش تأخیر و پهنای باند RDMA UD:
- qperf myserver ud_lat ud_bw
- برای سنجش پهنای باند دوطرفه RDMA UC:
- qperf myserver rc_bi_bw
- برای دریافت دامنهای از تأخیرهای TCP با اندازه پیام از 1 تا 64K:
- qperf myserver -oo msg_size:1:64K:*2 -vu tcp_lat
گزینهها (OPTIONS)
- -ar, --access_recv OnOff
- اگر OnOff غیرصفر باشد، دادهها پس از دریافت مورد دسترسی قرار میگیرند. در غیر این صورت، دادهها نادیده گرفته میشوند. به صورت پیشفرض، OnOff برابر با 0 است. این گزینه میتواند به شبیهسازی رفتار برخی برنامهها کمک کند.
- -ar1
- موجب دسترسی به دادههای دریافتشده میشود.
- -ap, --alt_port Port
- تنظیم درگاه مسیر جایگزین (alternate path port). این گزینه جایگزینی خودکار مسیر هنگام خرابی (automatic path failover) را فعال میکند.
- -lap, --loc_alt_port Port
- تنظیم درگاه مسیر جایگزین محلی. این گزینه جایگزینی خودکار مسیر هنگام خرابی را فعال میکند.
- -rap, --rem_alt_port Port
- تنظیم درگاه مسیر جایگزین دوردست. این گزینه جایگزینی خودکار مسیر هنگام خرابی را فعال میکند.
- -ca, --cpu_affinity PN
- تنظیم وابستگی پردازنده (cpu affinity) به PN. پردازندهها به صورت متوالی از 0 شمارهگذاری شدهاند. اگر PN برابر با "any" باشد، هر پردازندهای مجاز است؛ در غیر این صورت پردازنده به مورد مشخصشده محدود میشود.
- -lca, --loc_cpu_affinity PN
- تنظیم وابستگی پردازنده محلی به PN.
- -rca, --rem_cpu_affinity PN
- تنظیم وابستگی پردازنده دوردست به PN.
- -f, --flip OnOff
- اگر غیرصفر باشد، موجب میشود فرستنده و گیرنده نقشهای معکوس را ایفا کنند.
- -f1
- موجب میشود فرستنده و گیرنده نقشهای معکوس را ایفا کنند.
- -h, --help Topic
- چاپ اطلاعات درباره Topic. برای مشاهده فهرست موضوعات، دستور qperf --help را اجرا کنید.
- -H, --host Host
- اجرای آزمون میان گره فعلی و qperf در حال اجرا روی گره Host. این مقدار را میتوان به عنوان اولین آرگومان غیرگزینهای نیز مشخص کرد.
- -i, --id Device:Port
- استفاده از Device و Port مربوط به RDMA.
- -li, --loc_id Device:Port
- استفاده از Device و Port محلی RDMA.
- -ri, --rem_id Device:Port
- استفاده از Device و Port دوردست RDMA.
- -lp, --listen_port Port
- تنظیم درگاهی که به آن گوش داده میشود روی ListenPort. این مقدار باید روی هر دو ماشین کارساز و کارخواه روی یک درگاه یکسان تنظیم شود. مقدار پیشفرض 19765 است.
- -oo, --loop Var:Init:Last:Incr
- اجرای چندباره یک آزمون با پیمایش مجموعهای از مقادیر. پارامتر Var متغیر حلقه است؛ Init مقدار اولیه؛ Last مقداری است که نباید از آن فراتر رفت و Incr گام افزایش است. مناسب است که گزینه --verbose_used (-vu) را به همراه این گزینه به کار ببرید.
- -m, --msg_size Size
- تنظیم اندازه پیام روی Size. مقدار پیشفرض بسته به آزمون متفاوت است. فرض میشود مقدار بر حسب بایت مشخص شده است، با این حال پسوند kib یا K، mib یا M، یا gib یا G به ترتیب نشاندهنده تعیین اندازه بر حسب کیبیبایت، مبیبایت یا گیبیبایت است؛ در حالی که پسوند kb یا k، mb یا m، یا gb یا g به ترتیب بیانگر کیلوبایت، مگابایت یا گیگابایت میباشد.
- -mt, --mtu_size Size
- تنظیم اندازه MTU. تنها به آزمونهای RDMA UC/RC مربوط است. واحدها به همان روش گزینه --msg_size مشخص میشوند.
- -n, --no_msgs N
- تنظیم مدت زمان آزمون بر پایه تعداد پیامهای فرستادهشده به جای زمان.
- -cp, --cq_poll OnOff
- روشن یا خاموش کردن حالت بررسی نوبتی (polling). این مورد فقط به آزمونهای RDMA مربوط است و تعیین میکند که برنامه روی صفهای تکمیل (completion queues) منتظر بماند یا آنها را به صورت نوبتی بررسی (poll) کند. اگر OnOff برابر با 0 باشد، منتظر میمانند؛ در غیر این صورت بررسی نوبتی میکنند.
- -lcp, --loc_cq_poll OnOff
- روشن یا خاموش کردن حالت بررسی نوبتی (polling) به صورت محلی.
- -rcp, --rem_cq_poll OnOff
- روشن یا خاموش کردن حالت بررسی نوبتی (polling) به صورت دوردست.
- -cp1
- روشن کردن حالت بررسی نوبتی (polling).
- -lcp1
- روشن کردن حالت بررسی نوبتی (polling) محلی.
- -rcp1
- روشن کردن حالت بررسی نوبتی (polling) دوردست.
- -ip, --ip_port Port
- استفاده از Port برای اجرای آزمونهای سوکت. این درگاه با --listen_port که برای همگامسازی استفاده میشود متفاوت است. این گزینه فقط به آزمونهای سوکت مربوط میشود و به درگاه TCP/UDP/SDP/RDS/SCTP که آزمون روی آن اجرا میشود اشاره دارد.
- -e, --precision Digits
- تنظیم تعداد ارقام بااهمیت (significant digits) که برای گزارش نتایج استفاده میشوند.
- -nr, --rd_atomic Max
- تنظیم حداکثر تعداد عملیات همزمان در جریان (in-flight) قابل پردازش برای یک عملیات خواندن یا اتمیک RDMA به Max. این فقط به آزمونهای RDMA Read و Atomic مربوط است.
- -lnr, --loc_rd_atomic Max
- تنظیم تعداد عملیات خواندن/اتمیک محلی.
- -rnr, --rem_rd_atomic Max
- تنظیم تعداد عملیات خواندن/اتمیک دوردست.
- -sl, --service_level SL
- تنظیم سطح سرویس RDMA به SL. این مقدار فقط توسط آزمونهای RDMA استفاده میشود. سطح سرویس باید بین 0 و 15 باشد. مقدار پیشفرض سطح سرویس 0 است.
- -lsl, --loc_service_level SL
- تنظیم سطح سرویس محلی..TP -rsl, --rem_service_level SL تنظیم سطح سرویس دوردست (remote service level).
- -sb, --sock_buf_size Size
- تنظیم اندازه بافر سوکت. این گزینه فقط به آزمایشهای سوکت مربوط میشود.
- -lsb, --loc_sock_buf_size Size
- تنظیم اندازه بافر سوکت محلی.
- -rsb, --rem_sock_buf_size Size
- تنظیم اندازه بافر سوکت دوردست.
- -sp, --src_path_bits N
- تنظیم بیتهای مسیر مبدا (source path bits). اگر LMC صفر نباشد، این امر باعث میشود اتصال از یک LID با بیتهای مرتبه پایین LMC که روی N تنظیم شدهاند استفاده کند.
- -lsp, --loc_src_path_bits N
- تنظیم بیتهای مسیر مبدا محلی.
- -rsp, --rem_src_path_bits N
- تنظیم بیتهای مسیر مبدا دوردست.
- -sr, --static_rate Rate
- اجبار نرخ ثابت (static rate) در InfiniBand. مقدار Rate میتواند یکی از این موارد باشد: 2.5، 5، 10، 20، 30، 40، 60، 80، 120، 1xSDR (2.5 Gbps)، 1xDDR (5 Gbps)، 1xQDR (10 Gbps)، 4xSDR (2.5 Gbps)، 4xDDR (5 Gbps)، 4xQDR (10 Gbps)، 8xSDR (2.5 Gbps)، 8xDDR (5 Gbps)، 8xQDR (10 Gbps).
- -lsr, --loc_static_rate
- اجبار نرخ ثابت InfiniBand محلی.
- -rsr, --rem_static_rate
- اجبار نرخ ثابت InfiniBand دوردست.
- -t, --time Time
- تنظیم مدتزمان آزمایش روی Time. بر حسب ثانیه مشخص میشود، اما پسوندهای m، h یا d به ترتیب نشان میدهند که زمان بر حسب دقیقه، ساعت یا روز مشخص شده است.
- -to, --timeout Time
- تنظیم مهلت زمانی (timeout) روی Time. این مهلت زمانی برای موارد مختلفی از جمله تبادل پیامها استفاده میشود. مقدار پیشفرض ۵ ثانیه است.
- -lto, --loc_timeout Time
- تنظیم مهلت زمانی محلی روی Time. این گزینه میتواند در سمت سرور برای تعیین مهلت زمانی هنگام تبادل اولیه دادهها با هر کلاینت استفاده شود. با این حال، به محض دریافت پارامترهای کلاینت، مهلت زمانی دوردست کلاینت این پارامتر را بازنویسی خواهد کرد.
- -rto, --rem_timeout Time
- تنظیم مهلت زمانی دوردست روی Time.
- -un, --unify_nodes
- یکپارچهسازی گرهها. توصیف آنها بر حسب محلی (local) و دوردست (remote) به جای ارسال (send) و دریافت (receive).
- -uu, --unify_units
- یکپارچهسازی واحدهایی که نتایج در آنها نمایش داده میشوند. از پایینترین مخرج مشترک استفاده میکند. برای اسکریپتها سودمند است.
- -ub, --use_bits_per_sec
- استفاده از bits/sec به جای bytes/sec هنگام نمایش سرعت شبکه.
- -cm, --use_cm OnOff
- استفاده از مدیر اتصال RDMA (یا CM) در صورتی که OnOff غیرصفر باشد. استفاده از CM برای دستگاههای iWARP ضروری است. حالت پیشفرض برقراری اتصال بدون استفاده از CM است. این ویژگی تنها برای آزمایشهایی که از انتقال RC استفاده میکنند عمل میکند.
- -cm1
- استفاده از RDMA Connection Manager.
- -v, --verbose
- ارائه خروجی با جزئیات بیشتر. گزینههای -vc، -vs، -vt و -vu را فعال میکند.
- -vc, --verbose_conf
- ارائه اطلاعات درباره پیکربندی.
- -vs, --verbose_stat
- ارائه اطلاعات درباره آمارها.
- -vt, --verbose_time
- ارائه اطلاعات درباره زمانبندی.
- -vu, --verbose_used
- ارائه اطلاعات درباره پارامترهای استفادهشده.
- -vv, --verbose_more
- ارائه خروجی با جزئیات حتی بیشتر. گزینههای -vvc، -vvs، -vvt و -vvu را فعال میکند.
- -vvc, --verbose_more_conf
- ارائه اطلاعات بیشتر درباره پیکربندی.
- -vvs, --verbose_more_stat
- ارائه اطلاعات بیشتر درباره آمارها.
- -vvt, --verbose_more_time
- ارائه اطلاعات بیشتر درباره زمانبندی.
- -vvu, --verbose_more_used
- ارائه اطلاعات بیشتر درباره پارامترهای استفادهشده.
- -V, --version
- نسخه فعلی qperf چاپ میشود.
- -ws, --wait_server Time
- اگر سرور آماده نباشد، پیش از انصراف به مدت Time ثانیه برای اتصال تلاش میکند. مقدار پیشفرض ۵ ثانیه است..SH "آزمونها (TESTS)"
- conf
- نمایش پیکربندی
- quit
- وادار ساختن سرور به خروج
- rds_bw
- پهنای باند یکطرفه جریانی RDS
- rds_lat
- تأخیر یکطرفه RDS
- sctp_bw
- پهنای باند یکطرفه جریانی SCTP
- sctp_lat
- تأخیر یکطرفه SCTP
- sdp_bw
- پهنای باند یکطرفه جریانی SDP
- sdp_lat
- تأخیر یکطرفه SDP
- tcp_bw
- پهنای باند یکطرفه جریانی TCP
- tcp_lat
- تأخیر یکطرفه TCP
- udp_bw
- پهنای باند یکطرفه جریانی UDP
- udp_lat
- تأخیر یکطرفه UDP
- rc_bi_bw
- پهنای باند دوطرفه جریانی RC
- rc_bw
- پهنای باند یکطرفه جریانی RC
- rc_lat
- تأخیر یکطرفه RC
- uc_bi_bw
- پهنای باند دوطرفه جریانی UC
- uc_bw
- پهنای باند یکطرفه جریانی UC
- uc_lat
- تأخیر یکطرفه UC
- ud_bi_bw
- پهنای باند دوطرفه جریانی UD
- ud_bw
- پهنای باند یکطرفه جریانی UD
- ud_lat
- تأخیر یکطرفه UD
- xrc_bi_bw
- پهنای باند دوطرفه جریانی XRC
- xrc_bw
- پهنای باند یکطرفه جریانی XRC
- xrc_lat
- تأخیر یکطرفه XRC
- rc_rdma_read_bw
- پهنای باند یکطرفه جریانی خواندن RC RDMA
- rc_rdma_read_lat
- تأخیر یکطرفه خواندن RC RDMA
- rc_rdma_write_bw
- پهنای باند یکطرفه جریانی نوشتن RC RDMA
- rc_rdma_write_lat
- تأخیر یکطرفه نوشتن RC RDMA
- rc_rdma_write_poll_lat
- تأخیر یکطرفه نظرسنجی (polling) نوشتن RC RDMA
- uc_rdma_write_bw
- پهنای باند یکطرفه جریانی نوشتن UC RDMA
- uc_rdma_write_lat
- تأخیر یکطرفه نوشتن UC RDMA
- uc_rdma_write_poll_lat
- تأخیر یکطرفه نظرسنجی (polling) نوشتن UC RDMA
- rc_compare_swap_mr
- نرخ پیامرسانی مقایسه و جایگزینی (compare and swap) در RC
- rc_fetch_add_mr
- نرخ پیامرسانی واکشی و افزودن (fetch and add) در RC
- ver_rc_compare_swap
- بررسی صحت مقایسه و جایگزینی (compare and swap) در RC
- ver_rc_fetch_add
- بررسی صحت واکشی و افزودن (fetch and add) در RC.SH "نویسندگان (AUTHORS)" نوشتهشده توسط Johann George.
گزارش باگها (BUGS)
اگر qperf بدون کتابخانههای RDMA کامپایل شده باشد، هیچیک از آزمونهای RDMA در دسترس نخواهند بود. اگر qperf بدون افزونههای XRC کامپایل شده باشد، هیچیک از آزمونهای XRC در دسترس نخواهند بود. گزینهٔ -f هنوز در بسیاری از آزمونها پیادهسازی نشده است.
| ژوئیه 2026 | qperf |