I test bandwith with iperf. I set up UDP protocol.
I'm trying to setup limit from 10 to 100 megabit/s. Until 90 megabit max speed is correct.
When I write
-b 100m or don't write this speed become only 50 megabit/s. Why?
UDP doesn't have transmit pacing, congestion backoff, and the other features TCP has. If you don't implement them, throughput will suffer terribly -- that's why TCP implements them.
Iperf doesn't have the necessary logic to find the maximum UDP transfer rate. You would need to increase the rate so long as all packets were getting through and back off when packets started dropping to find the maximum rate. Iperf doesn't do this, but you can configure a rate and see how well it works.