Page 1 of 1

Smart Client very slow in Java 7 vs. Java 6

PostPosted: Mon Dec 10, 2012 11:25 pm
by SteveInLA
Is anyone else experiencing this? I am comparing the apparent speeds of operations of the same solution by running one client on one machine with Java 6 Update 37 and another client on a machine running Java 7 Update 9. Both clients are on the same network as the server and the server is running Java 7 Update 9. Without doing detailed speed test analysis, the client on the machine running Java 7 performs tasks about 10 times slower than the client on the machine running Java 6. Just for fun, I uninstalled Java 7 from the machine and installed Java 6 and the performance speeds up tremendously. This is bad because the main reason for upgrading our solutions from 4.1.7 to 6.1.3 was to be compatible with Java 7. Any suggestions are appreciated. Here is my pertinent server info:

Server Information
Servoy version 6.1.3 -releaseNumber 1424
Port used by RMI Registry: 4590
Repository version 42 (AA3E4050-4413-4F1E-933D-875281F3F246)

JVM Information
java.vm.name=Java HotSpot(TM) Client VM
java.version=1.7.0_09
java.vm.info=mixed mode
java.vm.vendor=Oracle Corporation

Steve in L.A.

Re: Smart Client very slow in Java 7 vs. Java 6

PostPosted: Thu Dec 13, 2012 9:19 am
by swingman
Hi Steve,

I have two systems on 6.1.3, Java 7 on client side (Mac OS X and Windows), and PostgreSQL 9.2.x. Servers on Mac OS X 10.7 and 10.8 with the older Java. We have not noticed this slowdown. However, we had some serious problems with speed on certain queries on 6.0.x (10 times slower). Updating the PostgreSQL driver to the latest version seem to have solved these.

Re: Smart Client very slow in Java 7 vs. Java 6

PostPosted: Fri Dec 14, 2012 8:44 pm
by david
SteveInLA wrote:the client on the machine running Java 7 performs tasks about 10 times slower than the client on the machine running Java 6. Just for fun, I uninstalled Java 7 from the machine and installed Java 6 and the performance speeds up tremendously. This is bad because the main reason for upgrading our solutions from 4.1.7 to 6.1.3 was to be compatible with Java 7. Any suggestions are appreciated.


First of all, how are you on Servoy 4.x to begin with? Most of us skipped 4 since by the time we figured it all out, Servoy 5 was released :)

Non-answer but a suggestion: we converted up to 6.1.x specifically to upgrade our solutions from smart client to web client. Best thing we ever did. There a few quirks with the web client (specifically, hard core data entry is not as fast) and we've had to hack in a lot of client-side stuff -- but even our in-house deployments prefer web client over smart client.

It's amazing how much progress has been made with browser technologies in the past two years and it's still only at the beginning. And not having to even think about java on the client is a huge relief. Unless you have a specific reason to need java deployment, now is a good time to jump on the future of client-side technology. My $.02.

Re: Smart Client very slow in Java 7 vs. Java 6

PostPosted: Thu Dec 20, 2012 10:07 pm
by SteveInLA
I am in the process of adding line-by-line logging to my navigation routine in the hopes of determining if there is something in particular that is slowing things down. So far, it seems that everything is overall slower in the Java 7 Smart Client than in the Java 6 Smart Client.

One thing I notice is that running the Smart Client from within Developer IS NOT SLOW for Java 7. Can someone clue me in to some of the things that are different between running the Smart Client from inside Developer vs. the Smart Client launched from a jnlp file? The obvious place to start is to disable the SSL, but are there other things to try?

david wrote:Unless you have a specific reason to need java deployment, now is a good time to jump on the future of client-side technology.


As much as I would like to move to the Web Client, I do have specific reasons for needing to stay with the Smart Client at this time.

Steve in L.A.

Re: Smart Client very slow in Java 7 vs. Java 6

PostPosted: Thu Dec 20, 2012 11:42 pm
by SteveInLA
Crud. Disabling SSL eliminates all the lag from the Java 7 Smart Client. What do I do now? I most definitely want to know that my data is transmitting securely.

Steve in L.A.

Re: Smart Client very slow in Java 7 vs. Java 6

PostPosted: Fri Dec 21, 2012 2:14 pm
by awvservoy
Hi Steve- take a closer look at your SSL configuration. We experienced a slowdown problem when moving from Servoy 4 to Servoy 5 where the application worked but far slower than was acceptable. We ultimately found we had a misconfiguration for SSL in our application_server/server/conf/server.xml file which was causing endless connects, disconnects and reconnects. The problem took a while to find as it was subtle, as the application itself wasn't disconnecting and reconnecting (from the application server point-of-view). We found it by monitoring Servoy connections using 'lsof' and noticing that even for one user the unix pids kept changing many times/second. We then found that NOT using SSL avoided the problem- which pointed us to the SSL misconfiguration issue. Once resolved, using SSL (we tunnel all connections over port 443) worked fine.

Not sure why a working SSL config for Java 6 users wouldn't behave the same for Java 7. I'm going to try Java 7 with our current deployment to see we experience the same thing; I'll let you know what I find.

Regards, Tony

Re: Smart Client very slow in Java 7 vs. Java 6

PostPosted: Fri Jan 04, 2013 3:33 pm
by jcompagner
when running a client i haven't noticed or heard that a client is much slower in java 7.
Starting a client can be slower because some version of java 7 do log and check much more (especially the first download time) certificate stuff.

Re: Smart Client very slow in Java 7 vs. Java 6

PostPosted: Fri Jan 04, 2013 5:17 pm
by SteveInLA
Johan, it is not that Java 7 is slow, but Java 7 over an SSL secured connection is slow by a factor of about 20 times compared to Java 6 using the same SSL connection. I have redone all my SSL settings according to the instructions on the Servoy wiki and still have the same results. Unfortunately I am not a Java or an SSL expert so figuring out how to document this problem is taking some time. I just discovered how to turn on tracing in the Java console, so I should have more information about the nature of this problem soon.

Steve

Re: Smart Client very slow in Java 7 vs. Java 6

PostPosted: Tue Jan 08, 2013 10:34 pm
by SteveInLA
As an experiment, I did a fresh install of Servoy 6.1.3. The only changes made to the install was that I installed the it2Be Cryptor and Tools plugins as well as the JasperReports plugins. I left all the network settings set to their defaults, started the server and connected to my solution using the Java 7 client. The overall performance was as slow as it had been before reinstalling. I made one change to the server settings which was to uncheck the box for useSSL and reconnected. With useSSL turned off, the solution is as fast as I expect it to be. This tells me that enabling SSL is the culprit and not anything to do with my server.xml settings or my certificate. My next step is to set up my laptop up as a server so that I can see if it has something to do with my server and/or network and/or firewall.

Steve

Re: Smart Client very slow in Java 7 vs. Java 6

PostPosted: Wed Jan 09, 2013 9:57 am
by jcompagner
can you check your java preferences?
in the advanced section there are a lot of ssl related stuff like "online" checks
If you play with those what happens?
Maybe Java7 constantly does a online check at the moment a connection is being created...

Re: Smart Client very slow in Java 7 vs. Java 6

PostPosted: Mon Feb 04, 2013 3:14 pm
by swingman
Hi all,

I have just updated to the latest version of Java at a client all Mac OS X 10.6.8 and newer. Servoy 6.1.3, SSL on. The Server was running Java 1.6.0_37. Most the client machines had Java 7. All the Java 7 clients were taking ages to load and running really, really, slowly -- users complaining. Updated Java on the Server to latest Java 7. Then switched SocketFactory.tunnelConnectionMode from "2waysocket' to "http&socket" in Network Settings" on the server and restarted. Everything went back to normal speed. Not sure if it was the Java update or the tunnelConnectionMode which fixed this...

Re: Smart Client very slow in Java 7 vs. Java 6

PostPosted: Fri Jul 10, 2015 4:11 am
by g6699628