[All Adaptavist Apps]
Theme Builder is now used on some extremely large and popular wikis - both behind corporate firewalls, on the public Internet and even the world's largest privately owned hospital ship! As your wiki becomes more widely adopted, things that used to work quickly may start to become bottlenecks and your configuration of Theme Builder is no exception.
Excerpt |
---|
Whether you've got 20,000+ users or 10,000+ spaces, there's always a way to maintain the performance of your wiki and Theme Builder. |
...
... more to follow ...
...
However, you probably wouldn't be adding macros to the layout if there wasn't a need for them. So what can you do to solve this dilemma? Well, there are a number of solutions...
The cache macro allows you to cache the output of a macro. On subsequent views of the same page, if a cache is found then it's used instead of reprocessing the macro (or other wiki notation encapsulated by the cache macro).
...
If you use the menuitem macro, menulink macro and menuicon macro a lot, try converting your markup to use the new compound-menuitem macro which can reduce the number of macros used by one thirdtwo thirds (from 3 to 1)!
Expand | ||||
---|---|---|---|---|
| ||||
|
...
Likewise, if you've imported a theme designed in an earlier version of Theme Builder, it'll be using the old menu notation that used a lot more macros.
See Also: View Menu 3.x and Edit Menu 3.x
In earlier versions of Theme Builder, it was difficult to have one master CSS file that would be used across multiple spaces so many of our clients created a css file and imported it in to the Custom CSS using the CSS @import directive.
...
There are a range of macros that take advantage of widely used technology such as HTML (see html macro and html-include macro) and XSLT (see xslt macro), etc.
These generally require that you understand the syntax of whatever technology they offer, but require far less processing time on the server.
...
Confluence allows you to create "User Macros" in the Administration Console. These allow you to more safely add raw HTML content to your wiki and also allow you to take advantage of the Velocity engine to perform basic scripting, etc.
...
Note: This plugin requires the latest production version of Java (version 6) – which is not yet officially supported by Atlassian for use with Confluence. That being said, we're now using it on several sites.
Adaptavist's Scriptix plugin allows you to create server-side scripts in languages such as JavaScript, PHP (Quercus), Python (Jython) – in fact any scripting language listed here.
Because Scriptix uses the Java 6, it enables much tighter integration with Java and even allows compilation to byte code of PHP scripts – giving the potential to run even faster than mod_php.
...
We made Theme Builder 3 clusterable for a reason If you are following these guidelines, you need to cluster will mainly come from the desire for high availability to reduce the risk from hardware failure.
There are a vast array of other options, including changing or optimising your application container (eg. Tomcat or Resin), operating system, database and cache settings.
If you host or access the database and/or file system on another server using something like NAS, you'll likely be adding a huge amount of latency, compared to local storage, as a result. If your wiki has become mission critical and you need expert advice, check out our Dedicated Hosting, Remote Hosting and Confluence Support solutionsInstead of using remote file storage, look at pushing the attachments into the database and taking manual backups – this will substantially reduce the amount of size needed for the Confluence home directory (potentially multiple TB reduced to under a 100 MB).
Most of the content of earlier performance tutorials are still applicable to Theme Builder 3.x:
...