
![]() |
Show Changes |
![]() |
Edit |
![]() |
|
![]() |
Recent Changes |
![]() |
Subscriptions |
![]() |
Lost and Found |
![]() |
Find References |
![]() |
Rename |
![]() |
Administration Page |
| Search |
History
| 4/18/2008 3:47:14 PM |
| FLWCOM-jwdavidson |
| 4/18/2008 3:31:01 PM |
| 210.22.158.132 |
| 4/18/2008 3:30:32 PM |
| 210.22.158.132 |
| 4/18/2008 3:29:58 PM |
| 210.22.158.132 |
| 4/18/2008 3:29:27 PM |
| 210.22.158.132 |
![]() |
List all versions |
FlexWiki 2.0 is a major rewrite of important components of FlexWiki. In particular, the storage, formatting, caching and other components of the system have bene rewritten. Many of these aspects of the system impact performance in major ways. Following from KnuthsPrematureOptimizationIsTheRootOfAllEvil, CraigAndera has chosen to not do much performance work as he's done the rewrite. As 2.0 comes in for a landing, however, we need to understand the impact of the new architecture on performance.
On this page, I am starting to collect my thoughts about a strategy for analyzing peformance of 2.0 and taking action based on that analysis.
Because the performance of FlexWiki 1.x is quite reasonable (e.g., Microsoft has almost 900 namespaces running on a single server), the key to understanding FlexWiki 2.0's performance is to understand how it relates to 1.x performance. To assess this, I propose that we build an automated system that will allow us to compare the performance of a 1.8 system to a 2.0 system under load in various scenarios.
The key scenarios to be considered in the analysis are:
The performance of these scenarios is based on the core atomic operations that they perform:
| *Scenario* | *Read* | *Write* | *Format* | *WikiTalk* |
| PS1 - Reading a page | Y | N | Y | sometimes |
| PS2 - Writing a page | Y | Y | Y | N |
| PS3 - Getting an RSS feed | Y | N | Y | N |
| PS4 - Newsletters | Y | N | Y | sometimes |
| PS5 - Recent changes | Y | N | N | N |
| PS6 - Lost and found | Y | N | N | N |
| PS7 - Rename (with link fixup) | Y | N | N | N |
*This section will (and should) wait until more progress has been made on Analysis