[AG-TECH] Venue client too slow
Ivan R. Judson
judson at mcs.anl.gov
Fri Dec 3 08:44:27 CST 2004
This is a great table. I appreciate your taking the time to put it together,
and I promise we're heavily influencing our current cycle with this
information. We're aware the user software is way too slow, and we're
working on it -- it's one of our priorities.
There are what appear to be 2 major performance hits we're taking:
1) GSI is slow, it's not a fast enough protocol for interactive systems
2) Our current SOAP solution is doing very slow XML<->python serialization
Additionally, it looks like you identified a startup problem with the image
loading information, we can look into that, but I'm wondering if you
compared the startup with a non-ag wxpython application to see what the
"baseline" is for a wxpython app (there's a great demo that might be good
Again, thanks, this is a great table, is it something I can use in ppt?
> -----Original Message-----
> From: owner-ag-tech at mcs.anl.gov
> [mailto:owner-ag-tech at mcs.anl.gov] On Behalf Of Andrew Daviel
> Sent: Friday, December 03, 2004 12:57 AM
> To: AG Tech List
> Subject: [AG-TECH] Venue client too slow
> The Venue client is too slow !
> (AG 2.3 Linux package from UQ FC1 RPM)
> While trying to debug the single-CPU problem, I made some
> timings of the venue client on a 2.4GHz P4 756Mb system,
> talking to an AG 2.2 venue server on the same LAN, running on
> a lightly loaded 1.8GHz P4.
> Tasks Time to change rooms
> VenueClient.py --insecure 3 seconds
> VenueClient.py 11 seconds
> VenueClient.py + Vic 13 seconds
> (VenueClient.py + Vic + Rat 4.5 minutes)
> IMO, this is far too long. UIs should take less than 300ms to
> perform an operation, and if they can't due to some
> inherently slow process (opening a gate, draining a pond...)
> they should produce some kind of active status display and
> immediately return to accepting key/mouse events, such as a
> request to abort. Modern browsers such as Mozilla have got
> bloated and way too slow to load IMO, but at least they can
> load a new page in the order of 300ms (on a good net, with no
> page swapping), or open a new view etc., even if they are
> throwing around multi-megabyte bitmaps and consume half the
> virtual memory with rendered pages.
> Also, SSL in Mozilla and Apache doesn't add appreciably to
> the delay in getting a Web page (though it is a significant
> burden on a busy server with hundreds of clients), while in
> the venue client it adds 8 seconds.
> Perhaps the SSL handling in Python needs to be re-written, or
> implemented as an OS-dependant module. It shouldn't need
> hardware acceleration for just a few dozen clients ....
> I thought I would run strace on the venue client to see what
> it was doing. From starting the client, to the UI appearing
> on the screen (befoer it has connected to a server), it
> checks 4000 files, opens 1800 of them, and does some 6000
> read operations. This seems absurd. Half of those were PNGs
> in the bluecurve theme, or Chinese and Eastern European font
> files in /usr/share, which aren't even used (this is running
> in English, or at least Western European). This could account
> for some of the startup delay.
> In contrast, to start just Python uses 50 opens.
> There were a somewhat more restrained 35 or so file opens to
> change rooms.
> There aren't enough timeouts in the venue client, or there
> are too many uninterruptible loops (when the UI is dead to
> key/mouse events).
> If the server doesn't exist (can't be resolved) the client
> returns quite quickly with an alert. But if something goes
> wrong after connecting, then the client appears to jam up and
> does not refresh or respond to mouse events. It may recover
> after an extended period (4 minutes in the Rat
> problem) or it may not, and have to be killed with the window
> manager or from the command line.
> This kind of thing is very frustrating for users - one of our
> people who uses VRVS a lot has trouble understanding why
> anyone would want to use AG instead...
> Andrew Daviel, TRIUMF, Canada
> Tel. +1 (604) 222-7376
> security at triumf.ca
More information about the ag-tech