IRCaBot 2.1.0
GPLv3 © acetone, 2021-2022
#i2p-dev
/2024/02/28
@eyedeekay
&eche|on
&kytv
&zzz
+R4SAS
+RN
+RN_
+T3s|4
+acetone
+dr|z3d
+hk
+orignal
+postman
+weko
+wodencafe
An0nm0n
Arch
Danny
DeltaOreo
FreefallHeavens
Irc2PGuest28769
Irc2PGuest3160
Irc2PGuest37435
Irc2PGuest63086
Irc2PGuest71439
Irc2PGuest98102
Nausicaa
Onn4l7h
Onn4|7h
Over1
Sisyphus
Sleepy
Soni
T3s|4_
Teeed
aargh2
anon
b3t4f4c3
bak83_
boonst
carried6590
cumlord
dr4wd3_
eyedeekay_bnc
hagen_
khb
plap
poriori_
profetikla
r3med1tz-
rapidash
shiver_
solidx66
u5657
uop23ip
w8rabbit
x74a6
zzz PM me for PDF link
zzz the paper seems to be all setup for their next paper where they might actually do something
zzz they've also flopped the fast and high cap tiers, looks like I'll have to email them
orignal what's your UDP socket send buffer size in SSU2?
orignal we have found that 128K is very not enough
zzz the final queue before the OS is codel with a max of 128-768 packets, depending on memory size, but it doesn't overflow, it will back up into the queues before it
zzz or into the per-connection queues. can't remember
zzz but you definitely want some anti-bufferbloat AQM or codel or something there
orignal no, I meant something else
orignal not about SSU2 ptorocol
orignal but buffer size of UDP socket
zzz hmm
zzz not sure we can get to that from java
orignal you use a signle UDP socket for everyting. right?
orignal how do you send a packet?
orignal sync or async?
orignal do you call "send"?
zzz yes
orignal void setSendBufferSize(int size)
orignal that's the function
orignal did you ever mesure how long it takes?
orignal we have discovered this issue today that "sendto" takes time
zzz yeah we do call that to set it to 256K
orignal we had 128K but it's not enough for high loaded routesr
zzz no haven't measured time I don't think
zzz but if a packet stays too long in the queue, codel will start dropping
orignal I didn't think too
zzz if the queue backs up, it will push back into the per-connection queues
orignal but Vort showed it might up to 50 milliseconds
orignal so buffer size matters
zzz you running the sender in a separate thread?
orignal same as all SSU2 processing
zzz then why have a queue?
orignal because I assumed that send takes zero
orignal queue?
orignal I din't metion queu
orignal we just found that send is slow
orignal sometimes
orignal so think about buffer size
orignal be thin to set to 4M for X routers
zzz oh you don't have a queue at all, got it
orignal no I don't think so
zzz how would I know if it's not big enough?
orignal if you set your socket to non-blocking mode
orignal "send" will return error instantly if buffer is full
orignal that's what we are palying with
zzz ok, but you don't want bufferbloat in the OS. Better to have it back up into my code, where I can do dropping based on priority and codel
zzz huge buffers anywhere are bad
orignal 4M is not huge
zzz it's 2800 x 1500 byte packets
zzz I wouldn't want more than about 1/10 of a second of packets in the OS buffer
zzz maybe less
zzz none of this will happen for us unless the user really gets his bandwidth limits wrong
zzz whats the linux default buffer size?
zzz 104 KB for me for DatagramSocket
zzz anyway, regardless of your buffer size setting, I recommend a codel priority queue and a separate sender thread
zzz you can never totally fix buffering problems by making the buffer bigger. If you're lucky, maybe it happens less often, but you may just be causing bufferbloat which makes the problem worse