-
FEATURED COMPONENTS
First time here? Check out the FAQ!
Dear all,
I usually adopted ZK for small demonstration prototypes for research projects/proof-of-concepts, so when colleagues from production asks about ZK and have this question:
"What about performances, considering server side processing?"
I have no specific data to offer...
I found some old posts with some tests about this topic, and (please correct me if I am wrong) a few references in the documentation - does anybody have actionable information about production use of ZK-based applications? number of concurrent users? response time? etc. etc.?
Thanks in advance!
Stefano
We use ZK in our production sites. Our performance bottlenecks have been the data accessing tier rather than the UI tier. The big memory hogs in our system had been the second-level hibernate cache and coherence cluster cache. But to be fair, each of our installed sites has few hundred users at maximum.
The answer to your question really depends on how complicated your pages are. The more UI components you have per page per user, the bigger session in memory you need. Horizontal scaling by adding more servers can help. There are ways you can abuse the ZK UI, such as loading a huge database set into a listbox model per user. The trick in this case is to have a custom renderer to dynamically bring in visible rows as needed. So, one still needs to be smart in managing the UI view models.
It's just my opinions.
I've done a stress test on ZK and JSF (PrimeFaces), several points:
For ZK side:
Do you need good client side speed with a huge amount of dom element? If so, I suggest ZK. When I record the test script of a case that a grid (data table) contains 10 columns x 2000 rows, browser complains slow script while ROD in PrimeFaces but works well in ZK.
Do you need very fast response of ajax request? If so, I suggest ZK, the average response time is 5 times faster than PrimeFaces, ZK takes 30 when JSF takes 150.
For JSF side:
Do you want shrink the memory usage? If so, I suggest JSF, It uses 2/3 memory (compared with ZK) since it is more stateless (since JSF actually still a page based framework, not strongly ajax based)
Do you want make more user on fewer machine? If so, I suggest JSF, since memory usage is smaller, JSF can load 2 times (or more) larger amount of user on a machine.
It seems weird that JSF use 2/3 memory but can loading over 2 times more, I guess the cause is JSF is more stateless so most of memory can be GCed as needed
Briefly, ZK will be awesome on both response time and concurrent users if the memory is not a problem.
Thanks guys for your precious hints and comparisons!
I strongly suggest ZK guys to publish a comparison table somewhere in the documentation as it is definitively a plus when evaluating new technologies!
Asked: 2013-03-29 08:27:26 +0800
Seen: 86 times
Last updated: May 27 '16
ZKPushState: A ZK Addon to Handle HTML5 History API in Pure Java
swifttab: A tab you can drag an move, and lighter then old tab
jquery4j: Wrapping of jQuery widgets making them fully fledged ZK widgets
chart4z: open flash chart component for zk
soundmanager: Play audio using javascript
yuimaven-zk: A maven plug-in that helps compress ZK js/css files in maven
zk-gazer: ZK Gazer is a real-time Ajax performance monitor for the ZK framework