Table of Contents
-
Introduction
-
Why Dolibarr Might Be Slow in 2025
-
Step 1: Optimize Your Server and Hosting Environment
-
Step 2: Tune PHP, MySQL, and Apache/Nginx Settings
-
Step 3: Clean Up and Index Your Dolibarr Database
-
Step 4: Review and Optimize Dolibarr Modules and Configurations
-
Step 5: Use Caching, CDN, and Background Jobs Where Possible
-
Monitoring Performance: Tools and Logs
-
Avoiding Common Pitfalls in Performance Tuning
-
Conclusion: Sustaining Dolibarr Performance Over Time
1. Introduction
Dolibarr is a robust and flexible ERP/CRM system, but as your organization grows, you might find it running more slowly—especially in 2025, with increasingly complex configurations, larger datasets, and higher user demands. This guide presents five focused steps you can take to drastically improve Dolibarr’s performance without expensive hardware upgrades.
2. Why Dolibarr Might Be Slow in 2025
Dolibarr's performance can degrade over time due to a mix of technical and operational factors:
-
Shared hosting with limited resources
-
Bloated database tables
-
Outdated or unoptimized server configurations
-
Non-indexed fields or excessive custom fields
-
Large volumes of uploaded files or logs
-
Inappropriate PHP or MySQL settings
3. Step 1: Optimize Your Server and Hosting Environment
Start by evaluating your hosting environment. If you're on shared hosting, consider moving to:
-
VPS or dedicated server
-
Cloud hosting with scalable resources (e.g., DigitalOcean, AWS, Hetzner)
Check your specs:
-
RAM: Minimum 4 GB, preferably 8 GB+
-
CPU: Modern multi-core processor
-
Disk: SSD over HDD for faster I/O
Also, make sure HTTPS is enabled and that your server uses HTTP/2 for performance gains.
4. Step 2: Tune PHP, MySQL, and Apache/Nginx Settings
For PHP:
-
memory_limit = 512M
-
max_execution_time = 60
-
opcache.enable = 1
-
opcache.memory_consumption = 128
For MySQL/MariaDB:
-
Use
InnoDB
as default storage engine -
Set proper cache sizes (
query_cache_size
,innodb_buffer_pool_size
) -
Run
mysqltuner
to get recommendations
For Apache:
-
Use
mod_deflate
,mod_expires
, and keep modules minimal
For Nginx:
-
Enable gzip compression
-
Set proper caching headers
5. Step 3: Clean Up and Index Your Dolibarr Database
Run the following:
-
Clear logs from
llx_actioncomm
,llx_syslog
, and similar tables -
Archive or delete old proposals, orders, and invoices
-
Use Dolibarr's built-in "Purge" tools for logs and temp files
Manually add indexes if performance is lagging on certain modules:
ALTER TABLE llx_facture ADD INDEX idx_fk_soc (fk_soc);
Use MySQL EXPLAIN to identify slow queries and optimize them.
6. Step 4: Review and Optimize Dolibarr Modules and Configurations
Disable unused modules:
-
Each active module loads code during execution
-
Disable features like Events, Donations, or Emailing if not used
Clean up:
-
Reduce custom fields where possible
-
Archive old documents from
/documents/
-
Reduce the number of enabled third-party modules
Also, minimize the number of auto-generated PDF templates in the system.
7. Step 5: Use Caching, CDN, and Background Jobs Where Possible
Enable server-level caching:
-
PHP OPcache
-
Reverse proxies like Varnish (for static assets)
Use CDNs:
-
Serve static resources (images, JS, CSS) via CDN like Cloudflare
Offload background jobs:
-
Use cron for recurring jobs (emails, exports)
-
Process heavy tasks (like mass mailing) asynchronously
8. Monitoring Performance: Tools and Logs
Track performance over time:
-
Enable Dolibarr debug logs in
conf.php
-
Use server monitoring tools like Netdata, htop, or Zabbix
-
Analyze slow query logs from MySQL
-
Use browser dev tools to assess frontend performance
9. Avoiding Common Pitfalls in Performance Tuning
-
Don’t apply too many changes at once—test incrementally
-
Avoid unnecessary plugins from unverified sources
-
Always back up before purging or altering the database
-
Monitor performance before and after any configuration change
10. Conclusion: Sustaining Dolibarr Performance Over Time
Speeding up Dolibarr isn’t just about better hardware—it’s about smart configuration, regular maintenance, and being intentional about what modules and data you retain. By implementing the five steps outlined here—server optimization, PHP/MySQL tuning, database cleaning, module review, and caching—you’ll ensure your Dolibarr instance performs efficiently well into the future.
Make performance audits part of your quarterly IT checks, and you’ll never be surprised by sluggish performance again.