3

Information on ZK performances (production environment examples)

asked 2013-03-29 08:27:26 +0800

Steva77 gravatar image Steva77 flag of Italy
1014 3
http://www.research.softe...

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

delete flag offensive retag edit

4 Replies

Sort by ยป oldest newest

answered 2013-03-29 17:02:18 +0800

windeyu gravatar image windeyu flag of United States
288 3

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.

link publish delete flag offensive edit

answered 2013-03-30 23:07:56 +0800

franferri gravatar image franferri
48 2

JMeter is a good tool to stress it.

link publish delete flag offensive edit

answered 2013-04-01 08:56:35 +0800

benbai gravatar image benbai
2228 6
http://www.zkoss.org

I've done a stress test on ZK and JSF (PrimeFaces), several points:

For ZK side:

  1. 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.

  2. 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:

  1. 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)

  2. 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.

link publish delete flag offensive edit

answered 2013-04-02 07:46:49 +0800

Steva77 gravatar image Steva77 flag of Italy
1014 3
http://www.research.softe...

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!

link publish delete flag offensive edit
Your reply
Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!

[hide preview]

Question tools

Follow
3 followers

RSS

Stats

Asked: 2013-03-29 08:27:26 +0800

Seen: 85 times

Last updated: May 27 '16

Support Options
  • Email Support
  • Training
  • Consulting
  • Outsourcing
Learn More