[AG-TECH] Venue client too slow

Ivan R. Judson judson at mcs.anl.gov
Fri Dec 3 08:44:27 CST 2004

Hey Andrew, 

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
for this)?

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 mailing list