Commit Graph

77 Commits

Author SHA1 Message Date
UbitUmarov
8994045d5f old typo 2019-04-23 14:52:15 +01:00
UbitUmarov
11cad57c9c lludp: change burst, make it per category (overall reduction) 2019-04-16 19:07:26 +01:00
UbitUmarov
b051b3a81d change to ping based RTO 2019-04-09 21:30:06 +01:00
UbitUmarov
c09b312b05 testing ... 2019-04-09 18:50:08 +01:00
UbitUmarov
9ccca71c1b remove redundant code 2019-03-17 19:00:02 +00:00
UbitUmarov
b5ad1b7dcc remove lludp throttle texture rate cannibal option. That rate is used by http, and beeing http is still trafic 2019-03-05 09:22:34 +00:00
UbitUmarov
bcf05afd64 direct encode terseupdates 2019-02-27 10:07:25 +00:00
UbitUmarov
4de5e14e54 issues with udp buffers pool on heavy load 2019-02-26 15:02:57 +00:00
UbitUmarov
91fab70236 removed a redundant function; try to make a particular vi coder happy about removed comments 2019-02-25 23:05:11 +00:00
UbitUmarov
d01165818d change UDPPacketBuffer pools (does waste a bit of memory) 2019-02-25 21:46:23 +00:00
Melanie Thielker
b16abc8166 Massive tab and trailing space cleanup 2017-01-05 19:07:37 +00:00
UbitUmarov
f794ab1a67 remove something VS decided to add 2016-11-21 01:22:01 +00:00
UbitUmarov
b2c553b459 work around some warnings 2016-11-21 01:16:35 +00:00
UbitUmarov
f1958e9f71 revert more object references removal on clients close because 2 many code paths don't have proper abort 2016-11-20 13:36:34 +00:00
UbitUmarov
200183caf7 HG protocol is still broken for large regions. work around it on teleport via lm 2016-11-20 02:49:40 +00:00
UbitUmarov
8010413e64 remove some potencial null refs i did add in last days :( 2016-11-19 21:06:42 +00:00
UbitUmarov
35b37510fc explicitly remove some references, and other useless changes 2016-11-17 19:15:28 +00:00
UbitUmarov
e304acb06f fix unack bytes stats report 2016-11-14 05:15:41 +00:00
UbitUmarov
6bc76860d1 avoid a null ref, few changes to udp updates send 2016-11-05 23:56:55 +00:00
UbitUmarov
c255c23981 move updates from updates queues into udp queues acording to their payload estimated size and udp sending capability on a time slice, instead always moving a arbitrary number of updates. 2016-08-07 21:13:29 +01:00
UbitUmarov
e096b49dd7 check if a packet can be sent imediatly without accounting it as sent on throttles when it is enqueued for later send. 2015-11-10 23:17:56 +00:00
UbitUmarov
778793d77f fix GetPacketsQueuedCount typos in last commit 2015-09-22 19:24:58 +01:00
UbitUmarov
ae70f61a64 let minimum wqburst be a bit larger than MTU 2015-09-22 18:56:03 +01:00
UbitUmarov
a8dc07ff5c removed a protocol breaking lludp debug option that no one should try, changed terrain send throotle to be by packets in queue, reduced odds of MTU violation on terrain send (still bad). Most UDP protocol implementations may not mind much, but our code still does 2015-09-22 18:39:59 +01:00
UbitUmarov
d9fafd9603 fix the missing initialization of the folish ProcessUnackedSends option 2015-09-06 17:12:31 +01:00
UbitUmarov
a11edceb00 seems to compile ( tests comented out) 2015-09-02 19:54:53 +01:00
UbitUmarov
371c9dd2af bad merge? 2015-09-01 14:54:35 +01:00
UbitUmarov
e3d82ad706 delay terrain sending if land queue is 2 busy 2015-08-22 04:08:30 +01:00
Justin Clark-Casey (justincc)
155da5aad2 Add debug ability to ignore reliably sent packets that are not acknowledged.
This is controlled via the console command "debug lludp client set process-unacked-sends true [<avatar-first-name> <avatar-last-name>]"
For debug purposes to see if this process for very bad connections is causing general outbound udp processing delays.
Relates to http://opensimulator.org/mantis/view.php?id=7393
2015-01-21 20:31:42 +00:00
Justin Clark-Casey (justincc)
8e1e8a0920 Make the performance controlling job processing threads introduced in conference code use a generic JobEngine class rather than 4 slightly different copy/pasted versions. 2015-01-12 20:56:37 +00:00
Mic Bowman
041a09ecb9 Enable runtime configuration of the minimum rate for adaptive
throttles. Setting adaptive_throttle_min_bps will change the
minimum rate that the adapative throttles will drop to in case
of network packet loss. The current rate default rate is 256kbps.
The viewer can throttle rates under that amount, but the dynamic
adaptation will not.
2014-12-29 18:46:33 -08:00
Justin Clark-Casey (justincc)
ec8d21c434 Label all threadpool calls being made in core OpenSimulator. This is to add problem diagnosis.
"show threadpool calls" now also returns named (labelled), anonymous (unlabelled) and total call stats.
2014-11-25 23:23:10 +00:00
Justin Clark-Casey (justincc)
5ab5d7fe47 Fix recent regression where adaptive throttles stopped adjusting.
Extends regression tests to test response of adaptive throttles to ack'ed and expired packets.
2014-11-25 23:22:20 +00:00
Justin Clark-Casey (justincc)
d33964222a Fix an issue where specifying both max client and server outgoing UDP throttles would cause client throttles to be lower than expected when total requests exceeded the scene limit.
This was because specifying a max client throttle would always request the max from the parent server throttle, no matter the actual total requests on the client throttle.
This would lead to a lower server multiplier than expected.
This change also adds a 'target' column to the "show throttles" output that shows the target rate (as set by client) if adaptive throttles is active.
This commit also re-adds the functionality lost in recent 5c1a1458 to set a max client throttle when adaptive is active.
This commit also adds TestClientThrottlePerClientAndRegionLimited and TestClientThrottleAdaptiveNoLimit regression tests
2014-11-25 23:21:38 +00:00
Justin Clark-Casey (justincc)
40314b56f2 Remove the unnecessary intermediate total token bucket.
This only had one child, which is the 'adaptive' token bucket.
So from testing and currently analysis, we can use that bucket directly which simplifies the code.
2014-11-25 23:21:37 +00:00
Justin Clark-Casey (justincc)
746defa094 Add basic regression test ThrottleTests.TestClientThrottleSetNoLimit 2014-11-25 23:18:40 +00:00
Justin Clark-Casey (justincc)
a142edec03 minor: add apparant total to logging when client sets throttles 2014-11-25 23:18:39 +00:00
Justin Clark-Casey (justincc)
c73e62ea3a minor: fix bug in throttle logging where arguments were mismatched 2014-11-25 23:18:39 +00:00
Justin Clark-Casey (justincc)
51eb8facd6 Add OutgoingPacketsQueuedCount clientstack stat.
This is the total of queued outgoing packets across all connections, as also seen in the "show queues" command.
Gives some early indication of whether the simulator can't send all outgoing packets fast enough.
Though then one would want to check that this isn't due to a few bad client connections.
2014-11-25 23:18:39 +00:00
UbitUmarov
caddabb5c4 scale ChildAgentThrottles with distance (internal to child server and not
root as was done before )
2014-11-06 22:25:16 +00:00
Justin Clark-Casey (justincc)
05508b5c56 Add "debug lludp throttle log <level> <avatar-first-name> <avatar-last-name>" to control extra throttle related debug logging. 2014-10-02 22:30:44 +01:00
Justin Clark-Casey (justincc)
d3578e2662 Add "debug lludp data out" console command for logging outgoing data just before it's put on the wire.
Unlike "debug lludp packet" which logs at the point where OpenSim first asks the clientstack to send a certain outgoing packet, this logs immediately before the actual send.
For low-level debugging purposes.
2014-09-24 23:44:55 +01:00
UbitUmarov
0514679b15 reduce MIN_CALLBACK_MS guard time. A value too high introduces a extra
throttle and makes more packets to be sent in bursts and not in steady
 state flow.
2014-09-02 18:51:49 +01:00
UbitUmarov
50433e089b *needs testing, not that good* change throttles math using floats and not
int64, etc. Limite brust bytes to the total rate client requested times a
look ahead estimation time, Avoid queues starvation with updates waiting...
2014-09-02 15:48:59 +01:00
UbitUmarov
7351d92a76 add method to get a category throttle rate 2014-08-29 16:19:30 +01:00
UbitUmarov
438798202f replace the tick() by a limit on the maximum number of tokens that can be
acumulated ( variable named BurtRate, not exactly a rate...)
2014-08-29 13:26:30 +01:00
UbitUmarov
986863a0cd try to reduce insane high data rate udp bursts. This needs testing on a
region with a lot of contents. Should not affect much average rates.
2014-08-28 22:26:03 +01:00
UbitUmarov
894b5c10c6 remove misplaced comment 2014-08-28 18:54:08 +01:00
UbitUmarov
9839904ebe try to make sense of throttle rate limits 2014-08-28 18:51:55 +01:00
UbitUmarov
5a2d4fd47f add some functions for estimation of number of bytes that can be send in a category in specified time 2014-08-28 16:49:32 +01:00