-
Notifications
You must be signed in to change notification settings - Fork 78
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
How to create two simultaneous tests with different bandwidth in both hosts? #217
Comments
lealog <[email protected]> writes:
Hi,
I'm trying to test a scenario where I have two PCs connected to the router on LAN side. 1 PC will create congestion and another PC simulating a Gaming console.
I would like to know if flent was any way to create two simultaneous streams with different bandwidths.
Example:
PC Congestion will use test rrul_be to try force the Bufferbloat issue.
PC Gaming will have a TCP stream with 15Mbps Download and 1Mbps Upload and measuring the latency and jitter.
Any possibility to execute this scenario?
There's not really any 'fixed bandwidth' tests like you're describing
available in Flent, no. You could perhaps simulate it by putting a
shaper on the network interface of the gaming PC enforcing the
bandwidth, and then just running a TCP test. The traffic won't look like
gaming traffic, but you can get the bandwidth you want, and you can
still measure the impact on cross-traffic on that traffic...
|
The goal is to evaluate and compare different Routers and QOS policies. Unfortunately, I'm not a developer and I'm not able to provide code for some of these features. |
lealog <[email protected]> writes:
The goal is to evaluate and compare different Routers and QOS policies.
Any plans to have Flent supporting this type of use cases? Also, could
be interesting to have Flent managing different hosts and orchestrate
them using a common GUI or CLI.
Well, it would require an underlying test tool that could produce this
sort of traffic. I wouldn't be opposed to adding support for such a tool
if it materialised, but I am not aware of any either.
Unfortunately, I'm not a developer and I'm not able to provide code
for some of these features.
Some orchestration is possible already by a combination of tests with
multiple remote endpoints, and remote test runners. It requires a bit of
fiddling with the CLI and/or batch files to set up, but it's doable.
Extending support for running tests through the GUI would be neat, but
unless someone dedicates resources to this I don't think it's likely to
happen anytime soon, unfortunately...
|
I would say that we can do this using iperf3. Iperf3 can specify the DS and US bandwidth using the option "-b". Does this make sense for you?
I would say that supporting this on GUI is a "nice to have" :) Regarding the CLI, how can we do this? Can you share your idea? |
lealog <[email protected]> writes:
> Well, it would require an underlying test tool that could produce
> this sort of traffic. I wouldn't be opposed to adding support for
> such a tool if it materialised, but I am not aware of any either.
I would say that we can do this using iperf3. Iperf3 can specify the
DS and US bandwidth using the option "-b". Does this make sense for
you?
The trouble with the iperf UDP tests it that they just send off packets
and don't provide any feedback on how much makes it through. You may or
may not get a result at the end from the other side at the end of the
test, but that can also easily get lost. So while it can generate a base
load, this kind of test is not really suitable for graphing data *about*
those flows during the test.
> Some orchestration is possible already by a combination of tests with
> multiple remote endpoints, and remote test runners. It requires a bit
> of fiddling with the CLI and/or batch files to set up, but it's
> doable. Extending support for running tests through the GUI would be
> neat, but unless someone dedicates resources to this I don't think
> it's likely to happen anytime soon, unfortunately...
I would say that supporting this on GUI is a "nice to have" :)
Regarding the CLI, how can we do this? Can you share your idea?
Well, there are two options: Reverse the setup and run the Flent test
from the "other side" with different flows going to each of your two
test hosts. Or run Flent on one of the two "local" hosts, and use the
--remote-host option to execute some of the test runners on the other
host (preferably using a dedicated control connection between the two).
I've been using the former setup for WiFi tests, but which one is
easiest to do really depends on the details of your test network...
|
On Thu, Dec 17, 2020 at 3:40 PM Toke Høiland-Jørgensen < ***@***.***> wrote:
The trouble with the iperf UDP tests it that they just send off packets
and don't provide any feedback on how much makes it through. You may or
may not get a result at the end from the other side at the end of the
test, but that can also easily get lost. So while it can generate a base
load, this kind of test is not really suitable for graphing data *about*
those flows during the test.
Iperf3 supports the option --get-server-output which (at least on tcp)
provides you the server side view of the stream. I use it to compare sent
and received tcp bandwidth on radio links with buffering issues such as 4G
networks. Seems quite reliable. Make sure you start the server with the
json formatting option. If I remember correctly it provides more details
about the test session. But as you say Toke, it does not provide feedback
during the test.
If you need feedback on a udp stream while it is running, I would suggest
looking into nuttcp. The tcp control session reports back throughput,
packet loss, one way delay at each interval (typically every second).
…-Erik
|
Hi,
I'm trying to test a scenario where I have two PCs connected to the router on LAN side. 1 PC will create congestion and another PC simulating a Gaming console.
I would like to know if flent was any way to create two simultaneous streams with different bandwidths.
Example:
PC Congestion will use test rrul_be to try force the Bufferbloat issue.
PC Gaming will have a TCP stream with 15Mbps Download and 1Mbps Upload and measuring the latency and jitter.
Any possibility to execute this scenario?
Thanks.
The text was updated successfully, but these errors were encountered: