When you run the solution on the server, and perform a simple action, like running a Jasper Foundset based report, the speed is very slow in Smart Client. When I turn on tracing, I see lots of messages such as:
- Code: Select all
ExtendableURLClassLoader.getURLs is invoked!
followed by many of these...
- Code: Select all
RMI TCP Connection(4)-184.59.123.184-COS: Written 65548 bytes, compressed: 0%
The majority of them are COS, not CIS, although a few CIS.
If you total up the bytes for each of those "Written XXX bytes", its transferring about 4.5 MB to run that report. Note that is just totalling the bytes after the "JasperTrace: Directory: c:/JasperRptFiles" shows in the log file. So thats just the jasper plugin running causing those.
Now for the interesting part. Close the client, go to the Servoy Admin, and Flush all solutions. Open the client again, run the same report on the same record, its 3-5 times faster, and when reviewing the log with tracing on, I can see it is transferring much less data, about 33K.
If I restart the server, it goes back to being slow.
So, on a fresh restart, its slow and repeatedly transferring 4.5 MB to run the report. Flush the solution, and it runs fast and repeatedly transfers 33K. I can repeat this over and over. I've also created new cloud images from scratch on Rackspace, and can repeat the same scenerio from a fresh server, and a fresh build of the repository.
Any ideas? I'm thinking possible some solution corruption, so I'm working through SVN revisions to see if it was better at some point, but I'm getting skeptical about that.
The server is 5.2.16 with Jasper 4.0.0. We've tried Windows Server 2008, and Windows Server 2012 with Java 6 and Java 7 and get same results. The problem is the same across all Smart Clients with various OS's/Java versions.