XWiki Instance Sizing

Last modified by Eleni Cojocariu on 2026/05/19 09:32

Steps

This page helps administrators determine the right hardware for their XWiki deployment by matching their usage to a named instance profile, then following the corresponding sizing recommendations.

Warning

The following recommendations should serve as a guideline for the sizing of the infrastructure behind an XWiki instance. Depending on the type of content being hosted in XWiki, the extensions installed, the number of sub-wikis, or any other customization, the sizing of an XWiki instance can vary greatly.

For broader performance tuning guidance (JVM options, caching, database indexing, clustering), refer to the Performance page.

Defining Your Instance Profile

An instance profile is determined by three independent dimensions. Evaluate each one and use the highest resulting profile across all three dimensions as your reference profile.

Dimension 1: Number of Active Users

Active users are accounts that log in and interact with XWiki at least once per month. Pure readers browsing public pages without authenticating count toward page views per second (Dimension 3) instead.

Profile Active Users
TinyUp to 25
Small26 – 250
Medium251 – 2,500
Large2,501 – 25,000
HugeMore than 25,000

Dimension 2: Number of Documents

Count all pages, blog posts, attachments, and any other XWiki documents stored in the wiki (all versions included). You can retrieve this number from the Administration panel under Diagnostics or by running a query on your database.

Profile Documents (all versions)
TinyUp to 5,000
Small5,001 – 100,000
Medium100,001 – 1,000,000
Large1,000,001 – 10,000,000
HugeMore than 10,000,000

Dimension 3: Average Page Views per Second

Measure the average number of HTTP requests per second reaching the XWiki application server over a representative standard day. This can be obtained from your reverse proxy logs or an APM tool.

Profile Avg. Page Views / Second
TinyUp to 0.5
Small0.5 – 5
Medium5 – 25
Large25 – 100
HugeMore than 100

Determining Your Profile: An Example

An organization has 800 active users, 60,000 documents, and a peak average of 8 page views per second.

  • Dimension 1 (800 users) → Medium
  • Dimension 2 (60,000 documents) → Small
  • Dimension 3 (8 pv/s) → Medium

The highest dimension is Medium, so this instance should be sized as a Medium instance.

Information

When your instance is close to the upper boundary of a profile, consider planning for the next profile up to accommodate organic growth without requiring disruptive infrastructure changes.

Instance Sizing

The recommendations below apply to a single virtual machine hosting both the XWiki application server and the database server.

The JVM heap (-Xmx) value is listed separately because it must be set explicitly in your startup configuration; the remaining memory on the machine is shared by the operating system, the database engine, and the JVM overhead outside the heap.

Tiny

Suitable for personal wikis, proof-of-concept deployments, or small team intranets with minimal concurrent usage.

Resource Recommendation
RAM (total machine)2 GB
JVM Heap (-Xmx)1 GB
CPU2 cores
Storage5 GB

Small

Suitable for departmental wikis or small company intranets with light-to-moderate daily usage.

Resource Recommendation
RAM (total machine)4 GB
JVM Heap (-Xmx)2 GB
CPU2 cores
Storage20 GB

Medium

Suitable for company-wide wikis or collaborative portals with regular concurrent usage during business hours.

Resource Recommendation
RAM (total machine)8 GB
JVM Heap (-Xmx)4 GB
CPU4 cores
Storage100 GB

Large

Suitable for enterprise-wide wikis or public-facing knowledge bases with high concurrent load and large content repositories.

Resource Recommendation
RAM (total machine)16 GB
JVM Heap (-Xmx)8 GB
CPU8 cores
Storage500 GB

Huge

Suitable for very large enterprise deployments, multi-tenant farms, or high-traffic public wikis. These instances require careful architectural planning and continuous performance monitoring.

Resource Recommendation
RAM (total machine)64 GB
JVM Heap (-Xmx)32 GB
CPU24+ cores
Storage1 TB+
Information

At the Huge scale, also consider :

  • Deploying a cluster of  two to three application nodes and a dedicated database server. In that configuration, size each application node at 32 GB RAM / 16 GB JVM Heap / 16+ cores.
  • Deploying a dedicated reverse proxy (Nginx or Apache) with static-asset caching and HTTP compression enabled. Refer to the Performance page for the corresponding configuration options.

Related

Get Connected