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
UbitUmarov
ade4bf69b1
if we send wearables with ThrottleOutPacketType.HighPriority, then we
...
should send other avatarinformation with same priority on same Task category ( plus cleanup )
2014-08-28 10:38:31 +01:00
UbitUmarov
1e888d61ca
enqueue also if m_nextPackets[category] is not null. This is really the
...
top element of a category queue, equivalente to using a queue.peek() if
avaiable
2014-08-27 01:33:09 +01:00
Justin Clark-Casey (justincc)
84cea46c10
Add experimental OutgoingQueueRefillEngine to handle queue refill processing on a controlled number of threads rather than the threadpool.
...
Disabled by default. Currently can only be enabled with console "debug lludp oqre start" command, though this can be started and stopped whilst simulator is running.
When a connection requires packet queue refill processing (used to populate queues with entity updates, entity prop updates and image queue updates), this is done via Threadpool requests.
However, with a very high number of connections (e.g. 100 root + 300 child) a very large number of simultaneous requests may be causing performance issues.
This commit adds an experimental engine for processing these requests from a queue with a persistent thread instead.
Unlike inbound processing, there are no network requests in this processing that might hold the thread up for a long time.
Early implementation - currently only one thread which may (or may not) get overloaded with requests. Added for testing purposes.
2014-08-19 00:17:12 +01:00
Justin Clark-Casey (justincc)
b375f86f11
Make LLUDPServer.Scene publicly gettable/privately settable instead of protected so that other logging code in the clientstack can record more useful information
...
Adds some commented out logging for use again in the future.
No functional change.
2014-08-19 00:17:12 +01:00
UbitUmarov
0ae8fed4c2
reduce ping cliping lower limit
2014-08-14 21:18:58 +01:00
UbitUmarov
8c657e4837
add a estimator of client ping time, and painfully make it visible in show
...
connections console command
2014-08-14 20:41:36 +01:00
Oren Hurvitz
af3498efdb
In "show throttles", show the maximum drip rate. This shows whether a client is being throttled due to past poor performance.
2014-07-21 09:10:50 +01:00
Melanie
c6e9db5866
Merge branch 'master' into careminster
...
Conflicts:
OpenSim/Framework/RegionSettings.cs
OpenSim/Region/CoreModules/World/WorldMap/WorldMapModule.cs
OpenSim/Region/Framework/Interfaces/IInterregionComms.cs
OpenSim/Region/OptionalModules/World/NPC/Tests/NPCModuleTests.cs
2014-01-28 21:02:20 +00:00
Mic Bowman
83626e60e6
Adds a configuration option to cannibalize bandwidth from the
...
udp texture throttle and move it to the task throttle. Since most
viewers are using http textures, the udp texture throttle is holding
onto bw that could be used for more responsive prims updates. See
the documentation for CannibalizeTextureRate in OpenSimDefaults.ini.
Option is disabled by default.
2014-01-20 18:59:43 -08:00
Melanie
e82d4154a2
Merge branch 'master' into careminster
...
Conflicts:
OpenSim/Framework/Servers/HttpServer/PollServiceRequestManager.cs
OpenSim/Region/ClientStack/Linden/UDP/LLClientView.cs
OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
OpenSim/Region/Framework/Scenes/Scene.PacketHandlers.cs
OpenSim/Region/Framework/Scenes/ScenePresence.cs
OpenSim/Region/Physics/Manager/PhysicsActor.cs
OpenSim/Region/Physics/Manager/PhysicsScene.cs
2013-07-24 04:45:07 +01:00
Justin Clark-Casey (justincc)
63c42d6602
Do some simple queue empty checks in the main outgoing udp loop instead of always performing these on a separate fired thread.
...
This appears to improve cpu usage since launching a new thread is more expensive than performing a small amount of inline logic.
However, needs testing at scale.
2013-07-21 08:56:48 -07:00
Melanie
7830cc9954
Merge branch 'master' into careminster
...
Conflicts:
OpenSim/Capabilities/Handlers/GetTexture/GetTextureHandler.cs
OpenSim/Region/ClientStack/Linden/Caps/BunchOfCaps/BunchOfCaps.cs
OpenSim/Region/ClientStack/Linden/Caps/UploadBakedTextureModule.cs
OpenSim/Region/ClientStack/Linden/UDP/LLUDPServer.cs
OpenSim/Region/CoreModules/Framework/Caps/CapabilitiesModule.cs
OpenSim/Region/CoreModules/Scripting/HttpRequest/ScriptsHttpRequests.cs
OpenSim/Region/CoreModules/ServiceConnectorsOut/Simulation/LocalSimulationConnector.cs
OpenSim/Region/Framework/Scenes/Scene.cs
OpenSim/Region/Framework/Scenes/SceneCommunicationService.cs
OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
OpenSim/Region/Framework/Scenes/ScenePresence.cs
OpenSim/Region/ScriptEngine/Shared/Api/Implementation/Plugins/SensorRepeat.cs
OpenSim/Server/Handlers/Simulation/AgentHandlers.cs
OpenSim/Services/Connectors/Asset/AssetServicesConnector.cs
OpenSim/Services/Connectors/Simulation/SimulationServiceConnector.cs
OpenSim/Services/HypergridService/UserAgentService.cs
2013-07-18 10:08:10 +01:00
Diva Canto
1b265b213b
Added show client-stats [first last] command to expose what viewers are requesting.
2013-07-10 16:09:45 -07:00
Melanie
582cb89beb
Add a way to put things at the front of the queue for any throttle group.
...
Adds a DoubleLocklessQueue and uses it for the outgoing buckets. Added
a flag value to the Throttle Type (again) because although it's hacky, it's
the best of a bad bunch to get the message through the UDP stack to where it's
needed.
2013-01-16 19:29:27 +01:00
Melanie
5563a8916e
Complete removal of the now unused state queue
2013-01-16 16:45:18 +00:00
Melanie
85aa1804df
Complete removal of the now unused state queue
2013-01-16 17:06:25 +00:00
teravus
5e0294815f
* Plumbing and basic setting of the GetMesh Cap Throttler.
...
* Last step is to flip the throttle distribution.
2012-11-17 03:47:09 -05:00
Melanie
6930d696e9
Merge branch 'master' into careminster
...
Conflicts:
OpenSim/Region/CoreModules/Avatar/Attachments/Tests/AttachmentsModuleTests.cs
2012-07-25 18:19:12 +01:00
Justin Clark-Casey (justincc)
ef8570f789
Extend region console "show queues" command to show already collected time since last packeted received by the simulator from a viewer.
2012-07-24 23:39:31 +01:00
Melanie
b459239833
Recover from an internal mess-up in the outgoing packet queues by creating
...
a new queue object.
2011-12-08 01:08:40 +01:00
Melanie
0b833c458a
Merge commit 'c5826d589ab2f33a71105bc2d3015ffbb7dd2973' into bigmerge
2011-10-25 01:35:51 +01:00
Melanie
080a41e9f9
Merge commit 'f9ffd2538f3bf300e8f751258a6129fb780b5b0a' into bigmerge
2011-10-25 01:35:30 +01:00
Justin Clark-Casey (justincc)
c5826d589a
minor: insert some commented out log lines which are a blunt but useful instrument to see packet expiry and received acks
2011-10-12 19:35:40 +01:00
Justin Clark-Casey (justincc)
f9ffd2538f
Improve some method doc for LLUDPClient, LLUDPServer and UnackedPacketCollection
2011-10-12 19:22:30 +01:00
Melanie
0e9dda91cb
Guard against a bad login leaving us with a null queue
2011-08-09 20:55:06 +02:00
Melanie
4beb0c9b9b
Merge branch 'master' into careminster-presence-refactor
2011-05-05 09:49:10 +01:00
Diva Canto
d8ee0cbe1c
First stab at cleaning up Caps. Compiles. Untested.
2011-04-30 09:24:15 -07:00