|
Replies:
0
|
|
|
|
|
|
|
Some initial WFS scalability benchmark numbers for v0.3
Posted:
Jan 9, 2008 4:34 PM
|
|
|
I performed an initial test of the scalability of WFS, testing how long it takes WFS to load the MPK20 demo world from a 'cold start'. (I suspect the performance profile after doing updates to a WFS running on a live server will look different). You can find these metrics here -- feel free to add your own profiling dumps:
http://wiki.java.net/bin/view/Javadesktop/ScalabilityPage
Essentially, 62% of the time to load a world -- and I suspect WFS is probably responsible for much of the time it takes for the Wonderland server to boot -- results from the actual reading and parsing the XML-formatted cell files (the XMLDecoder class in Java SE). It seems it takes this mechanism 10 ms to parse a file, resulting in a maximum theoretical bandwidth of parsing 100 cells/second. The total time it took WFS to load in the MPK20 was ~440ms for its 27 cell world. Granted, this was on a 2.11 Ghz Opteron Sun Ultra 20.
While 1/2 second WFS load time seems small, the MPK20 demo is probably a relatively small world. If we want to have 99.999% uptime (5 min 15 sec downtime per year), then if we need to perform a 'cold restart' of the Wonderland server (ignoring any fail-over that Darkstar gives us), the XML parsing mechanism alone limits us to 31,500 cells (315 second downtime, 10 ms parse time per cell) in our world to achieve that uptime.
The good news is that the XMLDecoder is likely I/O bound a decent amount of the time which suggests that if we decode XML files in parallel -- no reason why we can't do it in parallel -- then we should see decent performance gains. I will experiment with this and report back, certainly in time for v0.4.
Jordan
|
|
|
|