devel:scalability
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
devel:scalability [2019-02-28 13:15] – andi | devel:scalability [2023-03-11 13:17] (current) – [Pages] Added link which gives guidance on the number of files which can be stored per directory on various file systems. 178.38.198.28 | ||
---|---|---|---|
Line 2: | Line 2: | ||
This page tries to collect some information about how DokuWiki scales when it becomes " | This page tries to collect some information about how DokuWiki scales when it becomes " | ||
- | |||
95% of everyone considering using DokuWiki will not even need to bother reading this page. Unless you want to run a public wiki for a very popular topic or want to use some very underpowered hardware performance should not be a problem for you. | 95% of everyone considering using DokuWiki will not even need to bother reading this page. Unless you want to run a public wiki for a very popular topic or want to use some very underpowered hardware performance should not be a problem for you. | ||
+ | |||
+ | As of June 2020, the largest known Dokuwiki installation is over 743,000 pages and there are 25 known wikis with over 100,000 pages((https:// | ||
===== Limiting Factors ===== | ===== Limiting Factors ===== | ||
Line 10: | Line 11: | ||
==== Pages ==== | ==== Pages ==== | ||
- | The number of pages is not limited. Some people have hundred | + | The number of pages is not limited. Some people have hundreds |
Your Filesystem will have limits. Commonly there' | Your Filesystem will have limits. Commonly there' | ||
- | FIXME add info about file/ | + | The question how many files can be stored on different file systems |
Of course you are limited by disk space. Of course media files, pages and older revisions will take up space. However the data/cache directory can grow quite big over the years - depending on the wiki size a cache directory of a few Gigabytes is not uncommon. By definition everything in the cache directory is optional so you can delete it's contents on the penalty of a small speed reduction until the cache is refilled. | Of course you are limited by disk space. Of course media files, pages and older revisions will take up space. However the data/cache directory can grow quite big over the years - depending on the wiki size a cache directory of a few Gigabytes is not uncommon. By definition everything in the cache directory is optional so you can delete it's contents on the penalty of a small speed reduction until the cache is refilled. | ||
+ | |||
+ | === Inodes === | ||
+ | Unix/Linux servers may also have a limit on the number of inodes, which are metadata for each file on the server. Running out of available inodes can interrupt the normal functioning of your server. To reduce the number of inodes used, you can reduce the amount of files used (for example, it might make sense to remove attic files that are over X years old depending on the use case). | ||
==== Mediafiles ==== | ==== Mediafiles ==== | ||
Line 39: | Line 43: | ||
DokuWiki relies heavily on files for storing everything. The most significant speed update you can achieve is using an SSD for your setup. | DokuWiki relies heavily on files for storing everything. The most significant speed update you can achieve is using an SSD for your setup. | ||
- | Modern Operating Systems will cache disk access to frequently used files in memory. | + | Modern Operating Systems will cache disk access to frequently used files in memory. |
DokuWiki does a lot of scanning for different files that may not exist. For example we check each plugin directory for the existence of a script.js file. Those non-hits may add up to some significant amounts on very busy Setups. | DokuWiki does a lot of scanning for different files that may not exist. For example we check each plugin directory for the existence of a script.js file. Those non-hits may add up to some significant amounts on very busy Setups. | ||
Line 45: | Line 49: | ||
We try to avoid whole directory scans as much as possible, but sometimes it's necessary. The [[config: | We try to avoid whole directory scans as much as possible, but sometimes it's necessary. The [[config: | ||
- | The reliance on the filesystem however makes it extremely difficult to run a DokuWiki on multiple servers. For performance reasons, | + | The reliance on the filesystem however makes it extremely difficult to run a DokuWiki on multiple servers. For performance reasons, |
+ | |||
+ | Disabling access time recording in your filesystem may be a good idea to decrease IO load. | ||
==== PHP Version ==== | ==== PHP Version ==== | ||
Line 79: | Line 85: | ||
> **dokuwiki.org** has currently 4859 pages with about 15k pageviews per day on average | > **dokuwiki.org** has currently 4859 pages with about 15k pageviews per day on average | ||
- | > still on PHP 5.6, Linux/ext4, Apache + FPM | + | > still on PHP 5.6, Linux/ |
> running on a i7-6700 CPU with 64GB of RAM and SSD. That server is running all kinds of other DokuWiki services besides the wiki itself. Everything' | > running on a i7-6700 CPU with 64GB of RAM and SSD. That server is running all kinds of other DokuWiki services besides the wiki itself. Everything' | ||
> --- [[user> | > --- [[user> | ||
- | + | >> I am also curious if there are other " | |
- | + | >> **[Off-topic]** //I myself is also wondering how such big DokuWiki sites are organized and run.// | |
+ | >> --- [[user> |
devel/scalability.1551356130.txt.gz · Last modified: 2019-02-28 13:15 by andi