Comments (4)
Did you increase the send/recv socket buffer sizes? If not, does doing so improve things?
from usrsctp.
I had them increased, Yes.
I however I only build the application in Debug mode. Building it in release with compiler optimization the throughput is doubled... So, that's something I should have thought about.
Also, the Lag test is invalid, the tool I'm using is creating much higher Latency then it shows.
I assume the drop test is also incorrect.
However now I get very weird results for the UnorderedTTLLossy packet (SCTP_PR_SCTP_TTL+ 50 ms), haven't really changed anything there thought. Also I noticed they generate quite a lot of backtraffic - sending 80mbit & receiving 40-80mbit?
New values
Type | PcktSize | Reliability | mbyte/s | pkt/s | |
---|---|---|---|---|---|
OrderedLosless | 64000 | 1 | 95.04 | 1485 | |
OrderedLosless | 32000 | 1 | 87.52 | 2735 | |
OrderedLosless | 16000 | 1 | 89.98 | 5624 | |
OrderedLosless | 8000 | 1 | 85.76 | 10720 | |
OrderedLosless | 4000 | 1 | 78.86 | 19716 | |
OrderedLosless | 500 | 1 | 31.75 | 63492 | |
UnorderedRTXLoss | 16000 | 0.99 | 80.05 | 5003 | |
UnorderedTTLLoss | 16000 | 0.75 | 5.68 | 355 | |
OrderedLosless | 16000 | 1 | 89.98 | 5624 | |
OrderedLosless | 16000 | 1 | 3.15 | 197 | 10-40ms latency |
OrderedLosless | 16000 | 1 | 14.80 | 925 | 2.5% drop chance in/out |
OrderedLosless | 16000 | 1 | 33.71 | 2107 | 50% out of order |
OrderedLosless | 16000 | 1 | 21.47 | 1342 | 2.5% tamper chance in/out |
UnorderedRTXLoss | 16000 | 0.74 | 14.09 | 881 | 2.5% drop chance in/out |
UnorderedTTLLoss | 16000 | 0.74 | 3.03 | 190 | 2.5% drop chance in/out |
I still think I'm doing something wrong...
Other Question though - tscp/tscp_upcall should work like:
server : tsctp_upcall.exe
client : tsctp_upcall.exe <server-ip>
Correct?
from usrsctp.
I had them increased, Yes.
How much?
I however I only build the application in Debug mode. Building it in release with compiler optimization the throughput is doubled... So, that's something I should have thought about.
Yes adding debug support requires some cycles...Also, the Lag test is invalid, the tool I'm using is creating much higher Latency then it shows. I assume the drop test is also incorrect.
However now I get very weird results for the UnorderedTTLLossy packet (SCTP_PR_SCTP_TTL+ 50 ms), haven't really changed anything there thought. Also I noticed they generate quite a lot of backtraffic - sending 80mbit & receiving 40-80mbit?
You can capture the traffic using wireshark and take a look or provide the capture file...
New values
Type PcktSize Reliability mbyte/s pkt/s
OrderedLosless 64000 1 95.04 1485
OrderedLosless 32000 1 87.52 2735
OrderedLosless 16000 1 89.98 5624
OrderedLosless 8000 1 85.76 10720
OrderedLosless 4000 1 78.86 19716
OrderedLosless 500 1 31.75 63492
UnorderedRTXLoss 16000 0.99 80.05 5003
UnorderedTTLLoss 16000 0.75 5.68 355
OrderedLosless 16000 1 89.98 5624
OrderedLosless 16000 1 3.15 197 10-40ms latency
OrderedLosless 16000 1 14.80 925 2.5% drop chance in/out
OrderedLosless 16000 1 33.71 2107 50% out of order
OrderedLosless 16000 1 21.47 1342 2.5% tamper chance in/out
UnorderedRTXLoss 16000 0.74 14.09 881 2.5% drop chance in/out
UnorderedTTLLoss 16000 0.74 3.03 190 2.5% drop chance in/out
If you are not using loss and delay. What is limiting the transmission? The CPU load?
I still think I'm doing something wrong... Other Question though - tscp/tscp_upcall should work like: server :
tsctp_upcall.exe
client :tsctp_upcall.exe <server-ip>
Correct?
I think so... But I have no experience with Windows...
from usrsctp.
How much?
Way too huge honestly, 256mb for both. Wanted to see if it makes a noticeable difference since a lot of changes I tried just resulted in the same result.
You can capture the traffic using wireshark and take a look or provide the capture file...
Will take a look tomorrow. I was just suprized to see that and thought maybe that's something which is to be expected. I personally don't really need the TTL reliability mode anyways.
If you are not using loss and delay. What is limiting the transmission? The CPU load?
You mean when using OrderedLossless? Yes It's the CPU on the sending side. With a older version of the testcode the Server could handle ~ 1.6x the Load one sender could send. Might be different now ofc.
Question - could you give me a very rought hint on how much throughput you would expect?
from usrsctp.
Related Issues (20)
- How to sent each chunks immediately when it is available in the server
- What the meaning of xxx_upcall?
- sample program echo_server response abort message HOT 3
- building fails at warning about parentheses: HOT 7
- CVE-2022-46871 impact on libusrsctp HOT 1
- Aborted with sctp_timeout_handler: tmr->self corrupted, but tmr->self is null in the core dump HOT 6
- Aborted with sodealloc(): so_count -58769387 -- suspected use-after-free in sctp_timeout_handler HOT 2
- Broken build on macOS 13.4 (apple sillicon) HOT 1
- What does usrsctp_conninput do? HOT 1
- [question] What's the release policy? HOT 2
- -Wunused-function atomic_init
- Question about the different streams in the same association HOT 2
- New release? HOT 2
- disabling sctp chunk bundling HOT 3
- user_environment.c: extra "{" in read_random()
- Q: Support for L4S HOT 1
- if usrsctp support android
- sctp over udp encapsulation does not work under NAT network : part 2 HOT 1
- Is it possiable adding BBR Congestion Control algorithm for usrsctp? HOT 1
- Crash in sctp_common_input_processing: race between usrsctp_conninput and usrsctp_accept HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from usrsctp.