Ticket #1074 (closed enhancement: fixed)
Performance issue: Themes, widgetsets
| Reported by: | Jani Laakso | Owned by: | Joonas Lehtinen |
|---|---|---|---|
| Priority: | blocker | Milestone: | 5.0.0-beta |
| Component: | undefined | Version: | 5.0.0-pre |
| Keywords: | Cc: | marc.englund@…, joonas.lehtinen@… | |
| Known Issue description: | |||
| Hours estimate: | 2 | Deadline (dd.mm.yyyy): | |
| Known Issue version (since): | Known Issue title: | ||
| Hours done: | Depends to: | ||
| Affects documentation: | no | ||
| Known Issue workaround: | |||
| Affects release notes: | yes | Contract: | |
Description (last modified by Jani Laakso) (diff)
Every application consumes 300kb because widgetsets (incl. default theme css/imags) are not loaded only once per application.
Biggest hit (242kb) comes from "TestBench?/ITMILL/widgetsets/com.itmill.toolkit.terminal.gwt.DefaultWidgetSet/4424DA0C696B551EEA3D44D9A9105C1B.cache.html" This should be loaded from any user defined place, e.g. "/mystaticfiles/ITMILL/*" => different applications may use cached files
We must allow relocation of widgetsets static files e.g. by web.xml init parameter so download hit is once 300kb and afterwards only one or two packets when starting new application.
---
Quick analysis of what happesn when we publish our first release. 1000 users come quickly to click our demos.
Typical visitor goes through 4 of our demo applications => 1.2Mb required, including 20-30 keep-alive requests with two sockets => 1000 visitors consume 1200Mb and Toolkit servlet serves 25 000 static files => excess load is handled by multiple Tomcat threads
If default widgetset (this contains default theme also) is cached => 0.3Mb required, two requests with single socket => 1000 visitors consume 300Mb => Tomcat is happier (less thread IO)
This must be evaluated before making first public release (slashdot effect).
