.\" Generated by mkman .TH QPERF 1 "ژوئیه 2026" "qperf" "دستورهای کاربری" .SH "نام (NAME)" qperf \- سنجش کارایی RDMA و IP .SH "خلاصه دستور (SYNOPSIS)" \fBqperf\fP .br \fBqperf\fP \fISERVERNODE\fP [\fIOPTIONS\fP] \fITESTS\fP .br .br .SH "توضیحات (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 .SH "مثال‌ها (EXAMPLES)" در این مثال‌ها، ابتدا qperf را روی گره‌ای به نام myserver در حالت کارساز و بدون هیچ آرگومانی اجرا می‌کنیم. در تمام مثال‌های بعدی، qperf را روی گره دیگری اجرا کرده و به کارسازی متصل می‌شویم که فرض می‌کنیم نام میزبان آن myserver است. .TP برای اجرای آزمون پهنای باند و تأخیر TCP: qperf myserver tcp_bw tcp_lat .TP برای اجرای آزمون پهنای باند SDP به مدت ۱۰ ثانیه: qperf myserver -t 10 sdp_bw .TP برای اجرای آزمون تأخیر UDP و سپس بستن کارساز: qperf myserver udp_lat quit .TP برای سنجش تأخیر و پهنای باند RDMA UD: qperf myserver ud_lat ud_bw .TP برای سنجش پهنای باند دوطرفه RDMA UC: qperf myserver rc_bi_bw .TP برای دریافت دامنه‌ای از تأخیرهای TCP با اندازه پیام از 1 تا 64K: qperf myserver -oo msg_size:1:64K:*2 -vu tcp_lat .SH "گزینه‌ها (OPTIONS)" .TP \fB-ar\fP, \fB--access_recv\fP \fIOnOff\fP اگر OnOff غیرصفر باشد، داده‌ها پس از دریافت مورد دسترسی قرار می‌گیرند. در غیر این صورت، داده‌ها نادیده گرفته می‌شوند. به صورت پیش‌فرض، OnOff برابر با 0 است. این گزینه می‌تواند به شبیه‌سازی رفتار برخی برنامه‌ها کمک کند. .TP \fB-ar1\fP موجب دسترسی به داده‌های دریافت‌شده می‌شود. .TP \fB-ap\fP, \fB--alt_port\fP \fIPort\fP تنظیم درگاه مسیر جایگزین (alternate path port). این گزینه جایگزینی خودکار مسیر هنگام خرابی (automatic path failover) را فعال می‌کند. .TP \fB-lap\fP, \fB--loc_alt_port\fP \fIPort\fP تنظیم درگاه مسیر جایگزین محلی. این گزینه جایگزینی خودکار مسیر هنگام خرابی را فعال می‌کند. .TP \fB-rap\fP, \fB--rem_alt_port\fP \fIPort\fP تنظیم درگاه مسیر جایگزین دوردست. این گزینه جایگزینی خودکار مسیر هنگام خرابی را فعال می‌کند. .TP \fB-ca\fP, \fB--cpu_affinity\fP \fIPN\fP تنظیم وابستگی پردازنده (cpu affinity) به PN. پردازنده‌ها به صورت متوالی از 0 شماره‌گذاری شده‌اند. اگر PN برابر با "any" باشد، هر پردازنده‌ای مجاز است؛ در غیر این صورت پردازنده به مورد مشخص‌شده محدود می‌شود. .TP \fB-lca\fP, \fB--loc_cpu_affinity\fP \fIPN\fP تنظیم وابستگی پردازنده محلی به PN. .TP \fB-rca\fP, \fB--rem_cpu_affinity\fP \fIPN\fP تنظیم وابستگی پردازنده دوردست به PN. .TP \fB-f\fP, \fB--flip\fP \fIOnOff\fP اگر غیرصفر باشد، موجب می‌شود فرستنده و گیرنده نقش‌های معکوس را ایفا کنند. .TP \fB-f1\fP موجب می‌شود فرستنده و گیرنده نقش‌های معکوس را ایفا کنند. .TP \fB-h\fP, \fB--help\fP \fITopic\fP چاپ اطلاعات درباره Topic. برای مشاهده فهرست موضوعات، دستور qperf --help را اجرا کنید. .TP \fB-H\fP, \fB--host\fP \fIHost\fP اجرای آزمون میان گره فعلی و qperf در حال اجرا روی گره Host. این مقدار را می‌توان به عنوان اولین آرگومان غیرگزینه‌ای نیز مشخص کرد. .TP \fB-i\fP, \fB--id\fP \fIDevice:Port\fP استفاده از Device و Port مربوط به RDMA. .TP \fB-li\fP, \fB--loc_id\fP \fIDevice:Port\fP استفاده از Device و Port محلی RDMA. .TP \fB-ri\fP, \fB--rem_id\fP \fIDevice:Port\fP استفاده از Device و Port دوردست RDMA. .TP \fB-lp\fP, \fB--listen_port\fP \fIPort\fP تنظیم درگاهی که به آن گوش داده می‌شود روی ListenPort. این مقدار باید روی هر دو ماشین کارساز و کارخواه روی یک درگاه یکسان تنظیم شود. مقدار پیش‌فرض 19765 است. .TP \fB-oo\fP, \fB--loop\fP \fIVar:Init:Last:Incr\fP اجرای چندباره یک آزمون با پیمایش مجموعه‌ای از مقادیر. پارامتر Var متغیر حلقه است؛ Init مقدار اولیه؛ Last مقداری است که نباید از آن فراتر رفت و Incr گام افزایش است. مناسب است که گزینه --verbose_used (-vu) را به همراه این گزینه به کار ببرید. .TP \fB-m\fP, \fB--msg_size\fP \fISize\fP تنظیم اندازه پیام روی Size. مقدار پیش‌فرض بسته به آزمون متفاوت است. فرض می‌شود مقدار بر حسب بایت مشخص شده است، با این حال پسوند kib یا K، mib یا M، یا gib یا G به ترتیب نشان‌دهنده تعیین اندازه بر حسب کیبی‌بایت، مبی‌بایت یا گیبی‌بایت است؛ در حالی که پسوند kb یا k، mb یا m، یا gb یا g به ترتیب بیانگر کیلوبایت، مگابایت یا گیگابایت می‌باشد. .TP \fB-mt\fP, \fB--mtu_size\fP \fISize\fP تنظیم اندازه MTU. تنها به آزمون‌های RDMA UC/RC مربوط است. واحدها به همان روش گزینه --msg_size مشخص می‌شوند. .TP \fB-n\fP, \fB--no_msgs\fP \fIN\fP تنظیم مدت زمان آزمون بر پایه تعداد پیام‌های فرستاده‌شده به جای زمان. .TP \fB-cp\fP, \fB--cq_poll\fP \fIOnOff\fP روشن یا خاموش کردن حالت بررسی نوبتی (polling). این مورد فقط به آزمون‌های RDMA مربوط است و تعیین می‌کند که برنامه روی صف‌های تکمیل (completion queues) منتظر بماند یا آن‌ها را به صورت نوبتی بررسی (poll) کند. اگر OnOff برابر با 0 باشد، منتظر می‌مانند؛ در غیر این صورت بررسی نوبتی می‌کنند. .TP \fB-lcp\fP, \fB--loc_cq_poll\fP \fIOnOff\fP روشن یا خاموش کردن حالت بررسی نوبتی (polling) به صورت محلی. .TP \fB-rcp\fP, \fB--rem_cq_poll\fP \fIOnOff\fP روشن یا خاموش کردن حالت بررسی نوبتی (polling) به صورت دوردست. .TP \fB-cp1\fP روشن کردن حالت بررسی نوبتی (polling). .TP \fB-lcp1\fP روشن کردن حالت بررسی نوبتی (polling) محلی. .TP \fB-rcp1\fP روشن کردن حالت بررسی نوبتی (polling) دوردست. .TP \fB-ip\fP, \fB--ip_port\fP \fIPort\fP استفاده از Port برای اجرای آزمون‌های سوکت. این درگاه با --listen_port که برای همگام‌سازی استفاده می‌شود متفاوت است. این گزینه فقط به آزمون‌های سوکت مربوط می‌شود و به درگاه TCP/UDP/SDP/RDS/SCTP که آزمون روی آن اجرا می‌شود اشاره دارد. .TP \fB-e\fP, \fB--precision\fP \fIDigits\fP تنظیم تعداد ارقام بااهمیت (significant digits) که برای گزارش نتایج استفاده می‌شوند. .TP \fB-nr\fP, \fB--rd_atomic\fP \fIMax\fP تنظیم حداکثر تعداد عملیات هم‌زمان در جریان (in-flight) قابل پردازش برای یک عملیات خواندن یا اتمیک RDMA به Max. این فقط به آزمون‌های RDMA Read و Atomic مربوط است. .TP \fB-lnr\fP, \fB--loc_rd_atomic\fP \fIMax\fP تنظیم تعداد عملیات خواندن/اتمیک محلی. .TP \fB-rnr\fP, \fB--rem_rd_atomic\fP \fIMax\fP تنظیم تعداد عملیات خواندن/اتمیک دوردست. .TP \fB-sl\fP, \fB--service_level\fP \fISL\fP تنظیم سطح سرویس RDMA به SL. این مقدار فقط توسط آزمون‌های RDMA استفاده می‌شود. سطح سرویس باید بین 0 و 15 باشد. مقدار پیش‌فرض سطح سرویس 0 است. .TP \fB-lsl\fP, \fB--loc_service_level\fP \fISL\fP تنظیم سطح سرویس محلی..TP \fB-rsl\fP, \fB--rem_service_level\fP \fISL\fP تنظیم سطح سرویس دوردست (remote service level). .TP \fB-sb\fP, \fB--sock_buf_size\fP \fISize\fP تنظیم اندازه بافر سوکت. این گزینه فقط به آزمایش‌های سوکت مربوط می‌شود. .TP \fB-lsb\fP, \fB--loc_sock_buf_size\fP \fISize\fP تنظیم اندازه بافر سوکت محلی. .TP \fB-rsb\fP, \fB--rem_sock_buf_size\fP \fISize\fP تنظیم اندازه بافر سوکت دوردست. .TP \fB-sp\fP, \fB--src_path_bits\fP \fIN\fP تنظیم بیت‌های مسیر مبدا (source path bits). اگر LMC صفر نباشد، این امر باعث می‌شود اتصال از یک LID با بیت‌های مرتبه پایین LMC که روی N تنظیم شده‌اند استفاده کند. .TP \fB-lsp\fP, \fB--loc_src_path_bits\fP \fIN\fP تنظیم بیت‌های مسیر مبدا محلی. .TP \fB-rsp\fP, \fB--rem_src_path_bits\fP \fIN\fP تنظیم بیت‌های مسیر مبدا دوردست. .TP \fB-sr\fP, \fB--static_rate\fP \fIRate\fP اجبار نرخ ثابت (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). .TP \fB-lsr\fP, \fB--loc_static_rate\fP اجبار نرخ ثابت InfiniBand محلی. .TP \fB-rsr\fP, \fB--rem_static_rate\fP اجبار نرخ ثابت InfiniBand دوردست. .TP \fB-t\fP, \fB--time\fP \fITime\fP تنظیم مدت‌زمان آزمایش روی Time. بر حسب ثانیه مشخص می‌شود، اما پسوندهای m، h یا d به ترتیب نشان می‌دهند که زمان بر حسب دقیقه، ساعت یا روز مشخص شده است. .TP \fB-to\fP, \fB--timeout\fP \fITime\fP تنظیم مهلت زمانی (timeout) روی Time. این مهلت زمانی برای موارد مختلفی از جمله تبادل پیام‌ها استفاده می‌شود. مقدار پیش‌فرض ۵ ثانیه است. .TP \fB-lto\fP, \fB--loc_timeout\fP \fITime\fP تنظیم مهلت زمانی محلی روی Time. این گزینه می‌تواند در سمت سرور برای تعیین مهلت زمانی هنگام تبادل اولیه داده‌ها با هر کلاینت استفاده شود. با این حال، به محض دریافت پارامترهای کلاینت، مهلت زمانی دوردست کلاینت این پارامتر را بازنویسی خواهد کرد. .TP \fB-rto\fP, \fB--rem_timeout\fP \fITime\fP تنظیم مهلت زمانی دوردست روی Time. .TP \fB-un\fP, \fB--unify_nodes\fP یکپارچه‌سازی گره‌ها. توصیف آن‌ها بر حسب محلی (local) و دوردست (remote) به جای ارسال (send) و دریافت (receive). .TP \fB-uu\fP, \fB--unify_units\fP یکپارچه‌سازی واحدهایی که نتایج در آن‌ها نمایش داده می‌شوند. از پایین‌ترین مخرج مشترک استفاده می‌کند. برای اسکریپت‌ها سودمند است. .TP \fB-ub\fP, \fB--use_bits_per_sec\fP استفاده از bits/sec به جای bytes/sec هنگام نمایش سرعت شبکه. .TP \fB-cm\fP, \fB--use_cm\fP \fIOnOff\fP استفاده از مدیر اتصال RDMA (یا CM) در صورتی که OnOff غیرصفر باشد. استفاده از CM برای دستگاه‌های iWARP ضروری است. حالت پیش‌فرض برقراری اتصال بدون استفاده از CM است. این ویژگی تنها برای آزمایش‌هایی که از انتقال RC استفاده می‌کنند عمل می‌کند. .TP \fB-cm1\fP استفاده از RDMA Connection Manager. .TP \fB-v\fP, \fB--verbose\fP ارائه خروجی با جزئیات بیشتر. گزینه‌های \fB-vc\fP، \fB-vs\fP، \fB-vt\fP و \fB-vu\fP را فعال می‌کند. .TP \fB-vc\fP, \fB--verbose_conf\fP ارائه اطلاعات درباره پیکربندی. .TP \fB-vs\fP, \fB--verbose_stat\fP ارائه اطلاعات درباره آمارها. .TP \fB-vt\fP, \fB--verbose_time\fP ارائه اطلاعات درباره زمان‌بندی. .TP \fB-vu\fP, \fB--verbose_used\fP ارائه اطلاعات درباره پارامترهای استفاده‌شده. .TP \fB-vv\fP, \fB--verbose_more\fP ارائه خروجی با جزئیات حتی بیشتر. گزینه‌های \fB-vvc\fP، \fB-vvs\fP، \fB-vvt\fP و \fB-vvu\fP را فعال می‌کند. .TP \fB-vvc\fP, \fB--verbose_more_conf\fP ارائه اطلاعات بیشتر درباره پیکربندی. .TP \fB-vvs\fP, \fB--verbose_more_stat\fP ارائه اطلاعات بیشتر درباره آمارها. .TP \fB-vvt\fP, \fB--verbose_more_time\fP ارائه اطلاعات بیشتر درباره زمان‌بندی. .TP \fB-vvu\fP, \fB--verbose_more_used\fP ارائه اطلاعات بیشتر درباره پارامترهای استفاده‌شده. .TP \fB-V\fP, \fB--version\fP نسخه فعلی qperf چاپ می‌شود. .TP \fB-ws\fP, \fB--wait_server\fP \fITime\fP اگر سرور آماده نباشد، پیش از انصراف به مدت Time ثانیه برای اتصال تلاش می‌کند. مقدار پیش‌فرض ۵ ثانیه است..SH "آزمون‌ها (TESTS)" .TP \fBconf\fP نمایش پیکربندی .TP \fBquit\fP وادار ساختن سرور به خروج .TP \fBrds_bw\fP پهنای باند یک‌طرفه جریانی RDS .TP \fBrds_lat\fP تأخیر یک‌طرفه RDS .TP \fBsctp_bw\fP پهنای باند یک‌طرفه جریانی SCTP .TP \fBsctp_lat\fP تأخیر یک‌طرفه SCTP .TP \fBsdp_bw\fP پهنای باند یک‌طرفه جریانی SDP .TP \fBsdp_lat\fP تأخیر یک‌طرفه SDP .TP \fBtcp_bw\fP پهنای باند یک‌طرفه جریانی TCP .TP \fBtcp_lat\fP تأخیر یک‌طرفه TCP .TP \fBudp_bw\fP پهنای باند یک‌طرفه جریانی UDP .TP \fBudp_lat\fP تأخیر یک‌طرفه UDP .TP \fBrc_bi_bw\fP پهنای باند دوطرفه جریانی RC .TP \fBrc_bw\fP پهنای باند یک‌طرفه جریانی RC .TP \fBrc_lat\fP تأخیر یک‌طرفه RC .TP \fBuc_bi_bw\fP پهنای باند دوطرفه جریانی UC .TP \fBuc_bw\fP پهنای باند یک‌طرفه جریانی UC .TP \fBuc_lat\fP تأخیر یک‌طرفه UC .TP \fBud_bi_bw\fP پهنای باند دوطرفه جریانی UD .TP \fBud_bw\fP پهنای باند یک‌طرفه جریانی UD .TP \fBud_lat\fP تأخیر یک‌طرفه UD .TP \fBxrc_bi_bw\fP پهنای باند دوطرفه جریانی XRC .TP \fBxrc_bw\fP پهنای باند یک‌طرفه جریانی XRC .TP \fBxrc_lat\fP تأخیر یک‌طرفه XRC .TP \fBrc_rdma_read_bw\fP پهنای باند یک‌طرفه جریانی خواندن RC RDMA .TP \fBrc_rdma_read_lat\fP تأخیر یک‌طرفه خواندن RC RDMA .TP \fBrc_rdma_write_bw\fP پهنای باند یک‌طرفه جریانی نوشتن RC RDMA .TP \fBrc_rdma_write_lat\fP تأخیر یک‌طرفه نوشتن RC RDMA .TP \fBrc_rdma_write_poll_lat\fP تأخیر یک‌طرفه نظرسنجی (polling) نوشتن RC RDMA .TP \fBuc_rdma_write_bw\fP پهنای باند یک‌طرفه جریانی نوشتن UC RDMA .TP \fBuc_rdma_write_lat\fP تأخیر یک‌طرفه نوشتن UC RDMA .TP \fBuc_rdma_write_poll_lat\fP تأخیر یک‌طرفه نظرسنجی (polling) نوشتن UC RDMA .TP \fBrc_compare_swap_mr\fP نرخ پیام‌رسانی مقایسه و جایگزینی (compare and swap) در RC .TP \fBrc_fetch_add_mr\fP نرخ پیام‌رسانی واکشی و افزودن (fetch and add) در RC .TP \fBver_rc_compare_swap\fP بررسی صحت مقایسه و جایگزینی (compare and swap) در RC .TP \fBver_rc_fetch_add\fP بررسی صحت واکشی و افزودن (fetch and add) در RC.SH "نویسندگان (AUTHORS)" نوشته‌شده توسط Johann George. .SH "گزارش باگ‌ها (BUGS)" اگر qperf بدون کتابخانه‌های RDMA کامپایل شده باشد، هیچ‌یک از آزمون‌های RDMA در دسترس نخواهند بود. اگر qperf بدون افزونه‌های XRC کامپایل شده باشد، هیچ‌یک از آزمون‌های XRC در دسترس نخواهند بود. گزینهٔ \-f هنوز در بسیاری از آزمون‌ها پیاده‌سازی نشده است.