You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
SecNetPerf is the standard (cross-platform) tool used for performance testing of MsQuic. It implements the protocol defined here. This protocol defines a generic interface that allows for client-driven performance testing.
Server
The server generally is meant to be run zero or minimal additional arguments.
> secnetperf
There are a few arguments that can be passed to the server:
Argument
Usage
Meaning
bind
-bind:<address>
Binds to the specified local address.
cc
-cc:<cubic,bbr>
Congestion control algorithm used.
cibir
-cibir:<hex_bytes>
The well-known CIBIR identifier.
cipher
-cipher:<value>
Decimal value of 1 or more QUIC_ALLOWED_CIPHER_SUITE_FLAGS.
cpu
-cpu:<cpu_indexes>
Comma-separated list of CPUs to run on.
ecn
-ecn:<0,1>
Enables sender-side ECN support.
exec
-exec:<lowlat,maxtput,scavenger,realtime>
The execution profile used for the application.
pollidle
-pollidle:<time_us>
The time, in microseconds, to poll while idle before sleeping (falling back to interrupt-driven IO).
stats
-stats:<0,1>
Prints out statistics at the end of each connection.
Client
Since tests are client-driven, the client side of secnetperf generally has several arguments passed in to specify which test to run. Many of the arguments are also test specific, but the following (overlap with server) do apply to all:
Argument
Usage
Meaning
cc
-cc:<cubic,bbr>
Congestion control algorithm used.
cipher
-cipher:<value>
Decimal value of 1 or more QUIC_ALLOWED_CIPHER_SUITE_FLAGS.
cpu
-cpu:<cpu_indexes>
Comma-separated list of CPUs to run on.
ecn
-ecn:<0,1>
Enables sender-side ECN support.
exec
-exec:<lowlat,maxtput,scavenger,realtime>
The execution profile used for the application.
pollidle
-pollidle:<time_us>
The time, in microseconds, to poll while idle before sleeping (falling back to interrupt-driven IO).
Throughput Test
To run the throughput test, you must specify the -test:tput option, followed by a number of other arguments (most of which are optional).