- Stato
- Risolto
- Segnalato per
- WPML Multilingual CMS 3.1.9.7
- Risolto in
- 3.2
Panoramica del problema
Le pagine diventano inutilizzabili o molto lente da caricare.
Se puoi monitorare quali query vengono eseguite, troverai riferimenti a questa:
SELECT meta_key FROM wp_postmeta GROUP BY meta_key ORDER BY meta_key LIMIT 1000;
Soluzione alternativa
Devi apportare una piccola modifica a un file di WPML.
Puoi usare un client FTP per modificare questo file.
- Apri
wp-content/plugins/sitepress-multilingual-cms/inc/translation-management/translation-management.class.php - Vai alla riga 102, dove dovresti vedere questa riga:
$this->initial_custom_field_translate_states(); - Commenta quella riga aggiungendo “//” all’inizio.
- Salva il file
Una volta fatto ciò, non dovrebbe cambiare nulla (tranne le prestazioni, che possono migliorare notevolmente). Non ci sono effetti collaterali per questa modifica. Stai commentando un codice che prima serviva a qualcosa, ma che ora non è più necessario.
Abbiamo notato un picco di query eseguite sia sul back-end che sul front-end. Questo interessa solo siti molto, molto grandi con milioni di voci postmeta (come quelli che abbiamo sui nostri siti).
Questa query deriva da una vecchia logica, che in realtà non fa più nulla di importante. La rimuoveremo completamente in WPML 3.2.
Se noti un enorme picco nel caricamento delle pagine, questo potrebbe essere il tuo caso.
Tuttavia, tieni presente che poiché WordPress 4.2 ha modificato il set di caratteri in UTF8-bytes, molti altri plugin e il tema potrebbero mostrare problemi di prestazioni. Questo aggiornamento potrebbe modificare l’indicizzazione (come è successo sul nostro server) e potrebbe avere un’interazione imprevista con MySQL (come abbiamo riscontrato). Questo fa sì che elementi che avevano un impatto molto basso diventino improvvisamente critici.
Quindi, il nostro consiglio è di abilitare il log delle query lente di MySQL e controllare quali query stanno realmente influenzando le prestazioni del tuo server.