xpra icon
Bug tracker and wiki

This bug tracker and wiki are being discontinued
please use https://github.com/Xpra-org/xpra instead.


Changes between Initial Version and Version 1 of Ticket #2859


Ignore:
Timestamp:
08/10/20 07:02:36 (10 months ago)
Author:
Antoine Martin
Comment:

Key events from your first log:

07:28:24,912 xpra proxy version 4.0.2-r26625 64-bit
07:28:24,913  uid=1000 (ares), gid=1000 (ares)
07:28:24,913  running with pid 15820 on Linux Ubuntu 18.04 bionic
..
07:31:57,914 io_in_cb(<socket.socket fd=3, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('0.0.0.0', 10000)>, <flags G_IO_IN of type GLib.IOCondition>)
..
07:32:02,648 start_new_session('ares', '..', 1000, 1000, {b'mode': b'start-desktop', b'exit-with-children': 1, b'start-child': [b'kgeography'], b'exit-with-client': 1}, [])
..
07:32:02,683 start_server_subprocess: command='/usr/bin/xpra', 'start', '--attach=no', '--exit-with-children=yes', '--exit-with-client=yes', '--start-child=kgeography', '--env=XPRA_PROXY_START_UUID=3cf8701b96c24e8eb20e4988d6477ab7', '--daemon=yes', '--systemd-run=no', '--displayfd=10'
..
07:32:02,700 read_displayfd(9, 20, None)
07:32:11,999 displayfd=:1
..
07:32:16,833 identify_new_socket new_sockets=('/run/user/1000/xpra/ares-desktop-1',)
07:32:18,673 starting proxy instance pid 15820 from pid=15820
..
07:32:18,697 received proxy server message: socket-handover-complete
..
07:32:19,854 sending to client: hello (queue size=0)

So, unless I am missing something, it isn't the proxy that is introducing the delays. The time between the browser connecting to the proxy (io_in_cb) and starting the session is only 5 seconds, and this time is spent mostly in the browser loading the HTML5 client. You may be able to speed this up by serving the HTML5 client using a proper web server rather than relying on the proxy's builtin web server.

Then the actual xpra server instance takes 14 seconds to start (from start_server_subprocess to identify_new_socket), most of which is the X11 vfb starting up (between read_displayfd and displayfd=). The proxy then takes just 2 seconds to hand over the client connection to this new server instance.

If you want to make your server startup faster (14 seconds is a bit long), see #2341. There are options you can turn off to speed things up, most importantly: switch to Xvfb instead of Xdummy if you don't mind minor DPI issues. If that's still too slow for you, please open a new ticket, one that does not involve the proxy, since the proxy is not the problem here.

I will probably close this ticket as invalid.

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #2859

    • Property Owner changed from Antoine Martin to Mark Knittel
  • Ticket #2859 – Description

    initial v1  
    66I'm submitting logs for 2 application launch sessions:
    77
    8 Application #1:
     8Application 1:
    99* File: 10000.log
    10 * Command to start proxy session: xpra proxy --bind-tcp=0.0.0.0:10000 --tcp-auth=allow --debug=all
    11 * URL to launch application: http://192.168.2.13:10000/?username=ares&password=ares&exit_with_children=1&exit_with_client=1&start=kgeography&action=start-desktop
     10* Command to start proxy session: `xpra proxy --bind-tcp=0.0.0.0:10000 --tcp-auth=allow --debug=all`
     11* URL to launch application: `http://192.168.2.13:10000/?username=ares&password=ares&exit_with_children=1&exit_with_client=1&start=kgeography&action=start-desktop`
    1212
    13 Application #2:
     13Application 2:
    1414* File: 10001.log
    15 * Command to start proxy session: xpra proxy --bind-tcp=0.0.0.0:10000 --tcp-auth=allow --debug=all
    16 * URL to launch application: http://192.168.2.13:10001/?username=ares&password=ares&exit_with_children=1&exit_with_client=1&start=atomix&action=start-desktop
    17 
     15* Command to start proxy session: `xpra proxy --bind-tcp=0.0.0.0:10001 --tcp-auth=allow --debug=all`
     16* URL to launch application: `http://192.168.2.13:10001/?username=ares&password=ares&exit_with_children=1&exit_with_client=1&start=atomix&action=start-desktop`