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
