guacamoleguacamole-common.js

Performance Degradation with 5+ Concurrent Connections Using Guacamole.HTTPTunnel for Remote Access


I'm experiencing a performance degradation issue when establishing remote connections using Guacamole.HTTPTunnel in Guacamole. The problem arises when there are 5 or more concurrent connections, significantly affecting performance.

Steps Taken: Initially, I suspected a server resource issue, but after checking, the server has ample resources (CPU, memory).

During testing, I used multiple browsers to increase the number of remote connections on the same domain and same server, and no performance issue occurred in this case. However, the issue does occur when using Guacamole.HTTPTunnel for more than 5 concurrent connections within the same browser.

I suspect that browser bottlenecks might be occurring, particularly with requests on the same domain, causing performance issues during tunnel connections.

Request: I’m looking for a quick solution or any advice from someone who has faced a similar issue. Any suggestions would be greatly appreciated.

Thank you!


Solution

  • You could debug the problem by

    1. opening the Chrome Devtools > Network tab,

    2. picking any Guacamole WebSocket connection

    3. and inspecting the Timing sub-tab. It will look like the one on the screenshot. Here you can see that queueing happened to be very long (7.38 seconds!). Why? Because I had 5+ concurrent TCP connections (which is used by WebSockets) to the same resource.

    From the docs:

    There are already six TCP connections open for this origin, which is the limit. (Applies to HTTP/1.0 and HTTP/1.1 only.)

    enter image description here

    p.s. It is no solution nor advice but it might help you with the debugging (locating the problem). Or, at least, I hope it can solidify your understanding about the issue.