|
Hello WPML Support Team,
We are currently evaluating WPML on a large dataset site installation and are encountering significant performance and stability issues during activation and upgrade.
Site Details
• Total posts: ~150,000+
• Large taxonomy relationships
• Environment: PHP 8.2 / PHP-FPM
• Local development environment
• Memory limit increased up to 1024MB
Issue 1 – Activation / Upgrade Failure
During WPML activation and upgrade routines, the process crashes due to memory exhaustion or web server timeout.
Observed errors:
Allowed memory size exhausted
Nginx timeout during browser execution
Even after increasing the PHP memory limit to 1GB, the upgrade process still crashes during translation and taxonomy backfill operations.
We suspect the upgrade routine is scanning and rebuilding translation relationships for the entire dataset.
Issue 2 – Significant Frontend Performance Impact
We performed performance measurements on the homepage.
Without WPML:
Queries: 1159
Load time: 2.23s
With WPML enabled:
Queries: 1238
Load time: 12.96s
Although the query count only increased by ~7%, the page load time increased substantially due to more complex queries involving translation tables.
Issue 3 – Expensive Queries Identified
Using Query Monitor we identified several slow queries related to translation lookups.
Examples include joins between:
wp_posts
wp_icl_translations
wp_term_taxonomy
wp_terms
Example query pattern:
SELECT wp_posts.ID
FROM wp_posts
LEFT JOIN wp_icl_translations
ON wp_posts.ID = wp_icl_translations.element_id
WHERE wp_icl_translations.language_code = 'en'
Other slow queries include taxonomy translation lookups and translation cache warmup queries involving wp_icl_translations.
Questions
Are there recommended configurations or optimizations for WPML when working with large datasets (100k+ posts)?
Is there a recommended way to run the WPML upgrade routine safely on large sites (for example via WP-CLI)?
Are there known performance optimizations or indexing strategies for wp_icl_translations or related translation tables?
Are there configuration settings to reduce the overhead of translation lookup queries?
Is this level of performance impact expected for large installations?
We are currently evaluating WPML for production use and would appreciate guidance on best practices for scaling WPML on large content databases.
Thank you for your help.
|