Global Smart Client performance issue - need suggestions

Questions, answers, tips and ideas on Servoy Client

Global Smart Client performance issue - need suggestions

Postby olivier melet » Fri Oct 17, 2008 1:31 pm

Hi all,

We experience currently bad performance from smart client on several platforms. After investigating (a lot) we eliminate all sources for bad timing except execution of the java smartclient on the client (corporate) computers.

The facts:
We have a pretty big solution, built up with currently 10 modules. With less than 100 forms per module.
Performance issue is NOT on execution or navigation or network or server,...
Performance issue is on load of forms, depending on client machine processor, java version, OS.
Definitely, using java 1.5 on client machines is 10-20% faster than java 1.6.
A typical user interface in this application consist in a main form with about 10-30 sub forms as tabpannels, split panes...
Once loaded and still in memory, returning to such a user interface takes no additional time (no waiting at all).
During wait time, network and server are idle, and java is off course taking most client machine processor resources.

Some typical wait time:
(Dell machines are customer corporate machines with policies but symantec antivirus OFF)
Note that putting antivirus on, results in 20-40% increase in delays depending on processor speed
    From login to main menu (main solution load)
    37 sec. on a Dell Latitude D620 using 1Gb RAM and dual core Intel 1.83 GHz
    41 sec. on a Dell Precision 380 using 2 Gb RAM and P4 3.8 GHz
    15 sec. on a PowerMac G5 using 5Gb RAM and 2 PowerPC at 2.0 Ghz
    15 sec. on an IBM Thinkpad using 512 Mb RAM and Pentium M 1.7GHz
    From main menu to stock module
    34 sec. on a Dell Latitude D620 using 1Gb RAM and dual core Intel 1.83 GHz
    37 sec. on a Dell Precision 380 using 2 Gb RAM and P4 3.8 GHz
    15 sec. on a PowerMac G5 using 5Gb RAM and 2 PowerPC at 2.0 Ghz
    22 sec. on an IBM Thinkpad using 512 Mb RAM and Pentium M 1.7GHz

As a matter of fact, java execution time is significantly modified by corporate policies. Does anyone have some experience on that subject and may be know which settings we should blame ?

A potential workaround to this will be to preload all modules, consolidating wait time at startup in order the user will not have to wait on features after load is complete. But this is not working as obviously servoy client limits the number of forms residing in memory, even with 1Gb or more RAM reserved for java.

We desperately need a way to either lessen wait times dramatically or manage to keep all the solution in memory. Does anybody face the same issue ? What did you do to improve the solution ?

Any suggestion welcome
Olivier Melet
Administration et projets
InfoForm SA
olivier melet
 
Posts: 183
Joined: Mon Apr 19, 2004 3:33 pm
Location: Switzerland

Re: Global Smart Client performance issue - need suggestions

Postby ngervasi » Fri Oct 17, 2008 7:29 pm

Have you tried to raise the client memory in the Servoy Admin pages? Try to set servoy.maxClientHeap to at least 256MB and see if you get a performance improvement.
Nicola Gervasi
sintpro.com
SAN Partner
ngervasi
 
Posts: 1485
Joined: Tue Dec 21, 2004 12:47 pm
Location: Arezzo, Italy

Re: Global Smart Client performance issue - need suggestions

Postby ngervasi » Fri Oct 17, 2008 7:30 pm

Remember that you will have to discard the old servoy client installation and download a fresh copy after you have changed this setting in the admin pages and restarted Servoy server.
Nicola Gervasi
sintpro.com
SAN Partner
ngervasi
 
Posts: 1485
Joined: Tue Dec 21, 2004 12:47 pm
Location: Arezzo, Italy

Re: Global Smart Client performance issue - need suggestions

Postby olivier melet » Mon Oct 20, 2008 9:43 am

ngervasi wrote:Have you tried to raise the client memory in the Servoy Admin pages? Try to set servoy.maxClientHeap to at least 256MB and see if you get a performance improvement.


Yes, indeed, we set up with 256 Mb min and 1 Gg as max.
But even on machines with 1 Gb reserved for Java we experience module reloads while memory usage is still only 30% of total.
Weird, isn't it ?
Olivier Melet
Administration et projets
InfoForm SA
olivier melet
 
Posts: 183
Joined: Mon Apr 19, 2004 3:33 pm
Location: Switzerland

Re: Global Smart Client performance issue - need suggestions

Postby sbutler » Mon Oct 20, 2008 2:43 pm

A few questions...

Performance issue is NOT on execution or navigation or network or server,...

This doesn't rule out serve or network issues.

- Is the Server on the LAN, or WAN? What is the OS of the Server? What is the java version on the Server?

- What kind of Switches / Routers is your customer using. Some of the higher-end switches or routers, like Cisco, can be enabled to do packet inspection that may be slowing things down. Especially traffic over Java RMI. If this is your issue, you may consider using HTTP tunneling.
Scott Butler
iTech Professionals, Inc.
SAN Partner

Servoy Consulting & Development
Servoy University- Training Videos
Servoy Components- Plugins, Beans, and Web Components
Servoy Guy- Tips & Resources
ServoyForge- Open Source Components
User avatar
sbutler
Servoy Expert
 
Posts: 759
Joined: Sun Jan 08, 2006 7:15 am
Location: Cincinnati, OH

Re: Global Smart Client performance issue - need suggestions

Postby Jan Blok » Tue Oct 21, 2008 2:07 pm

What version of Servoy are you using?
Did you try with Java 1.6 update 10? (update 10 does reduce the rmi overhead significantly, by fixing a classloader bug)
Jan Blok
Servoy
Jan Blok
 
Posts: 2684
Joined: Mon Jun 23, 2003 11:15 am
Location: Amsterdam

Re: Global Smart Client performance issue - need suggestions

Postby olivier melet » Tue Oct 21, 2008 3:26 pm

goldcougar wrote:A few questions...

- Is the Server on the LAN, or WAN? What is the OS of the Server? What is the java version on the Server?

- What kind of Switches / Routers is your customer using. Some of the higher-end switches or routers, like Cisco, can be enabled to do packet inspection that may be slowing things down. Especially traffic over Java RMI. If this is your issue, you may consider using HTTP tunneling.


Hi, thank you for your help,

a) Server is on a corporate LAN, we did the tests with direct connection to the server trough a CAT6 cable, on the Cisco which is in the computer Room, on the floor switch and at some desks, results are not significantly different.
We also tried using two different servers both with win 2k3 corporate (one small and one big), with again no significative difference (less than 5%).
b) Server OS is Win 2k3, we currently use Sysbase ASA 10 as DB, production will be on MS sql.
c) servers use Java [java.vm.version = 10.0 b19] & [java.vm.version = 10.0 b23]
d) clients use Java 1.6; [1.6.0_03-b05] - [1.6.0_07-b06] & [1.5.0_05]
e) processors are almost 100% on clients during waittimes
f) there is no packet inspection according to network executives
g) clients use at least 256Mb, but again no significative difference is visible when loading client in 1Gb memory space.
h) Servoy version is 3.5.7

Any other idea ??

Best regards,
Olivier Melet
Administration et projets
InfoForm SA
olivier melet
 
Posts: 183
Joined: Mon Apr 19, 2004 3:33 pm
Location: Switzerland

Re: Global Smart Client performance issue - need suggestions

Postby sbutler » Tue Oct 21, 2008 5:27 pm

Try to launch the client on the server via localhost. What is that performance like?

Also, what are these settings set at? (on Network Settings page)
java.rmi.server.hostname:
servoy.rmiStartPort:
rmi.connection.timeout:
ApplicationServer.getInstance().pingDelay:
SocketFactory.useTwoWaySocket:
Scott Butler
iTech Professionals, Inc.
SAN Partner

Servoy Consulting & Development
Servoy University- Training Videos
Servoy Components- Plugins, Beans, and Web Components
Servoy Guy- Tips & Resources
ServoyForge- Open Source Components
User avatar
sbutler
Servoy Expert
 
Posts: 759
Joined: Sun Jan 08, 2006 7:15 am
Location: Cincinnati, OH

Re: Global Smart Client performance issue - need suggestions

Postby olivier melet » Tue Oct 21, 2008 6:59 pm

goldcougar wrote:Try to launch the client on the server via localhost. What is that performance like?

Performance is comparable to that of the clients when taking care of processor speed.
e.g: half the time with double the processing power...

java.rmi.server.hostname: [confidential]
servoy.rmiStartPort: [1099]
rmi.connection.timeout: [120]
ApplicationServer.getInstance().pingDelay: [300]
SocketFactory.useTwoWaySocket: [x]

And SSL is on with a certificate.
Olivier Melet
Administration et projets
InfoForm SA
olivier melet
 
Posts: 183
Joined: Mon Apr 19, 2004 3:33 pm
Location: Switzerland

Re: Global Smart Client performance issue - need suggestions

Postby janteque » Fri Nov 14, 2008 5:57 pm

We had similar problems on performance. You should try latest version of java (1.6.0u10) since it solves a known bug on java web start since 1.6.

http://bugs.sun.com/bugdatabase/view_bu ... id=6664389
janteque
 
Posts: 44
Joined: Wed May 16, 2007 5:22 pm


Return to Servoy Client

Who is online

Users browsing this forum: No registered users and 9 guests