The best tests of latency are audio and streaming video.

Consider clicking on a web page or turning a physical book page - you put up 
with and mostly don't notice the latency.  Its part of the "experience" (within 
reason).

Now consider latency heavy conversations on a phone call or a "buffering" 
video.  These are different things though.  A voice conversation suffers quite 
badly with latency, a video stream will buffer to start with and then stream OK 
unless the conditions change.

For me, the gold standard is audio.  Sadly, Teams, Zoom and co are destroying 
reasonable expectations far worse than satellite relayed phone calls in the 
olden days (say 1980s) from say the UK to NZ ever did.

This sort of thing needs a proper testing methodology, starting off with direct 
access to establish a "benchmark".  Then you might add remote access via 
Guacamole as close to the benchmark as possible and then work outwards.  You 
also have to be careful that your "measuring instruments" are not affected by 
what you are measuring.

Cheers
Jon



On Tue, 2025-01-21 at 20:05 +0800, Yang Yang wrote:
Hi Nick,

I used tcpdump on port 4822 with guacd to capture packets and intercepted the 
Guacamole protocol messages.

In my tests, receiving the mouse click message would be followed by sending the 
image update message, then I calculated the interval between the two messages. 
Since the interval is for the round trip, I further reduced the 15ms app time 
and got the “latency” I mentioned in previous mail.

The 150ms latency seems a little bit too high, but the overall user experience 
is pretty good, no noticeable lag.

Thanks,
Yang


On Jan 21, 2025, at 19:40, Nick Couchman <[email protected]> wrote:


On Tue, Jan 21, 2025 at 4:35 AM Yang Yang <[email protected]> wrote:
Hello,

I am looking to get the latency overhead of using guacamole, could you help to 
share if there is any reference I can look into?

I created a simple app, presenting a 600x600 box changing to a random color on 
very click with 15ms delay, and then captured the guacd mesages for the 
session. I had tests serving the app through VNC on Ubuntu and RDP on Windows, 
and the latency from guacd, along with VNC and RDP processing, was about 150ms.



Can you clarify what this latency is a measure of? What guacd messages are you 
capturing? Does this mean the log messages (put guacd in trace mode and capture 
the trace message)? Or are you actually doing a packet capture and intercepting 
the Guacamole protocol messages? Or RDP/VNC protocol messages? The 150ms is 
being measured where, and between which two events *exaclty*?

Is the 150ms from my tests typical? Is there  anything specific I can do to 
reduce it? My network is quit good, the latency on network is <30ms and 
bandwidth would be not an issue.



That seems quite high to me - I use Guacamole on a daily basis for managing 
remote systems (mainly RDP) over a VPN (Zscaler), and 150ms latency (again, 
depending on what that actually means) seems like it would be quite noticeable 
when trying to interact with a remote session.

-Nick

Reply via email to