This page lists extra optional software you can install to improve Pootle’s performance. Some configuration tips are given too.
By installing optional software you can gain performance and extra features.
You should really switch to a real database backend in production environments. Adjust the DATABASES setting accordingly.
Fast and efficient caching avoids hitting the DB when it’s not really needed. Adjust the CACHES setting accordingly.
Installing an indexing engine will speed-up searches. Pootle will automatically pick one from any of the available engines.
Note
[1] | Xapian versions before 1.0.13 are incompatible with Apache; Pootle will detect Xapian version and disable indexing when running under mod_wsgi if needed. Checking for Xapian relies on the xapian-check command, which is found in the xapian-tools package in Debian-based systems. |
You should really run Pootle behind a real web server, at least to serve static content. For generating the dynamic content, you can also use alternative WSGI servers that might better suit your environment.
With a few extra steps, you can support more users and more data. Here are some tips for performance tuning on your Pootle installation.
For Apache, review your server settings so that you don’t support too many or too few clients. Supporting too many clients increases memory usage, and can actually reduce performance.
No specific settings can be recommended, since this depends heavily on your users, your files, and your hardware. However the default value for the MaxClient directive (usually 256) is almost always too high. Experiment with values between 10 and 80.
Using MySQL is well tested and recommended. You can migrate your current database if you already have data you don’t want to lose.
If using MySQL backend, for smaller installations it is suggested to go with MyISAM backend (which might result in smaller memory usage and better performance). If high concurrency is expected, InnoDB is suggested to avoid locking issues.
If you want better performance for your PO based operations, you can try to enable the fast PO implementation. This implementation will be used if USECPO=2 is available in the operating system environment variables. Note that this is different from the web server’s environment variables.
Your PO files will have to have character encodings specified, and be perfectly valid PO files (no duplicate messages or other format errors). Be sure to test this extensively before you migrate your live server to this setup.