Documentazione Duplicator

Documentazione, Materiali di Riferimento e Tutorial per Duplicator

Risoluzione dei problemi di timeout del server


Hai problemi con i timeout del server con Duplicator Pro? Questa guida fornisce soluzioni pratiche per risolvere in modo efficace i problemi relativi ai timeout del server.

Per iniziare, assicurati di utilizzare l'ultima versione di Duplicator Pro. Si prega di controllare il changelog e i requisiti di sistema.

Panoramica: Gestione dei problemi di interruzione della build dell'host

I problemi di timeout si riscontrano comunemente su piattaforme di hosting condiviso a basso costo che impongono limiti al tempo di esecuzione dei processi PHP, del server web o del database. Questi timeout possono essere identificati esaminando i file di log di Duplicator, sia i log di backup che quelli dell'installer. Un log completato con successo visualizzerà il testo "DONE PROCESSING" o "COMPLETE", mentre un log incompleto indica tipicamente che l'host ha imposto restrizioni sul tempo di esecuzione del processo.

Per risolvere questo problema, alcuni host offrono la possibilità di estendere il tempo di esecuzione consentito oltre i limiti predefiniti. Per un elenco completo dei provider di hosting approvati compatibili con Duplicator, fare riferimento alla pagina delle risorse di hosting di Duplicator.

Duplicator LITE

Il processo di build per Duplicator Lite opera come un design a thread singolo, funzionando continuamente fino a quando il sito non viene archiviato. Sebbene la versione Lite possa creare backup fino a 4 GB, le sue prestazioni dipendono in gran parte dall'ambiente di hosting. Duplicator Lite in genere offre le migliori prestazioni con siti inferiori a 500 MB sulla maggior parte degli host economici. Se si verificano problemi di timeout o di build, si consigliano i seguenti passaggi:

  1. Aggiornamento del server: Gli host economici potrebbero riscontrare limitazioni nella gestione di siti più grandi e complessi. L'aggiornamento a un VPS gestito o a un server dedicato è spesso una soluzione efficace. Questi sistemi offrono un migliore controllo e sono dotati di un eccellente supporto da parte delle società di hosting, garantendo prestazioni migliorate per le attività di backup e migrazione.
  2. Regola le impostazioni: Esistono diverse opzioni strategiche per ottimizzare le prestazioni con il tuo host attuale e all'interno del plugin stesso. Queste regolazioni possono aiutare a mitigare i problemi di timeout e migliorare il processo di build complessivo.

Duplicator PRO

La Pro Version utilizza un'architettura multi-threaded per gestire meglio set di dati più grandi. Viene inoltre fornita con decine di altre ottime funzionalità che aiutano a migliorare le tue strategie complete di backup/migrazione di WordPress.

Strategia Uno: Risoluzione dei problemi di timeout dall'interno del plugin.

Solo Duplicator Lite

  1. Riprova: Prova più volte con il pulsante ‘Riprova’. Il primo passaggio su una richiesta di build è molto lento poiché deve memorizzare nella cache la scansione IO. Il secondo passaggio è molto più veloce poiché su alcuni server la ricerca IO è memorizzata nella cache.
  2. Archive Flush:  Su alcuni server web, se il server non invia una risposta dopo un certo periodo di tempo, il processo verrà interrotto anche se il timeout è stato aumentato. Nel menu Impostazioni, seleziona l'opzione ‘Archive Flush’. Questo tenterà di mantenere aperta la tua connessione tramite una risposta di flush.

Duplicator Lite & Pro

  1. Toggle SQL Mode: Considera di provare un processo di build del database diverso. Prova prima “Mysqldump” poi prova “PHP Code”. Vedi Impostazioni » Schede di backup » Modalità SQL.
  2. Abilita filtri: Molte volte puoi completare un backup creando più filtri di directory su una grande origine dati come la tua cartella wp-content/uploads che contiene file di grandi dimensioni come immagini/filmati/pdf ecc.
  3. Enable DupArchive: A new format known as DupArchive has been Developed by Duplicator to overcome problems experienced on large sites and restricted host environments. Using DupArchive greatly diminishes the changes you will experience a timeout on backup builds.
    • Quando si utilizza DupArchive su Duplicator Lite, c'è un limite di 500 MB per la dimensione del tuo backup. Per utilizzare il nuovo formato imposta:
    • Duplicator Lite » Impostazioni » Backup » Motore di archiviazione = DupArchive
    • Duplicator Pro » Impostazioni » Backup » Motore di archiviazione = DupArchive

Grandi database: Se hai un database di grandi dimensioni, considera di ottimizzarlo o di filtrare le tabelle inutilizzate più grandi.

Strategia Due: Risoluzione dei problemi di timeout con aggiornamenti della configurazione del server web.

Tutte le opzioni seguenti possono aiutare a risolvere i problemi di timeout sia su Duplicator Lite che Pro. Le impostazioni aiuteranno sia la creazione che l'installazione dei backup. I timeout possono essere controllati a tre livelli diversi, quindi dovrai visitarli tutti e collaborare con l'amministratore del tuo server per convalidarli.

Soluzione Uno: Timeout PHP

Il processore PHP andrà in timeout del tuo script e interromperà la connessione dopo un periodo specifico (tipicamente 30 secondi). Questo valore può essere modificato se il tuo provider di hosting lo consente. Duplicator tenterà di modificare questo valore se dispone dei privilegi necessari. In caso contrario, dovrai collaborare con il tuo provider di hosting per risolvere il problema. Sfortunatamente, questo livello di controllo è al di fuori delle nostre capacità.

Risoluzione dei problemi di timeout PHP:

  • Il modo più rapido per risolvere un potenziale timeout PHP sul tuo server è contattare il tuo provider di hosting e verificare se offre una soluzione per estendere il tempo di esecuzione PHP oltre i 30 secondi predefiniti. Molti host consentono questa modifica e dovrai consultare la loro documentazione.
  • Su alcuni host, puoi aggiungere la seguente riga a un file .htaccess situato nella cartella principale del tuo sito web o all'interno della cartella plugins/duplicator:
    php_value max_execution_time 0
    Impostare il valore su 0 significa nessun limite di tempo.

Poiché ogni provider di hosting opera in modo diverso, dovresti contattarli direttamente per determinare come regolare questo valore sui loro sistemi. Se non forniscono una soluzione, è probabile che il problema del timeout non possa essere risolto su quel server. In tali casi, potrebbe essere necessario eseguire l'aggiornamento a un server più potente, come un VPS, che può offrire maggiore potenza di elaborazione. In alternativa, puoi provare a utilizzare i filtri per ridurre le dimensioni complessive del tuo backup.

Nota: Se il tuo provider di hosting afferma che non ci sono limiti di timeout PHP impostati, o li ha regolati su un numero molto alto, ma stai ancora riscontrando problemi di timeout (come indicato dal fatto che il tuo file di log viene troncato), il problema potrebbe risiedere a livello di web server. In tali casi, fare riferimento alla sezione Web Server di seguito per ulteriori risoluzioni dei problemi.

Soluzione Due: Timeout del Web Server

Anche i web server possono imporre un timer al tuo script e terminare la connessione dopo una durata specifica. Questo valore può essere modificato solo dal tuo provider di hosting o dall'amministratore del server. Se ritieni che questo possa essere il problema, ti preghiamo di contattare il tuo provider di hosting per confermare se la loro configurazione impone tali timeout. Si prega di notare che non c'è nulla che possiamo fare per regolare direttamente questa restrizione, quindi non inviare una richiesta per questo problema.

Regolazione dei timeout del server web:

Alcuni web server consentono agli utenti di modificare i timeout senza bisogno dell'assistenza di un amministratore di server. Di seguito sono riportati esempi di configurazioni che potrebbero funzionare per server Apache o Litespeed.

Esempio Uno – Regola di Rewrite di Apache: La seguente RewriteRule può aiutare a prevenire i timeout di connessione sul tuo server. Aggiungila al tuo file .htaccess.

# Example .htaccess file inserted by customer control panel
SetENV PHPRC /home/username/public_html
# BEGIN WordPress
<IfModule mod_rewrite.c>
   RewriteEngine On
   RewriteBase /
   RewriteRule ^$ - [E=noabort:1]
   ...
</IfModule>
# END WordPress

Esempio Due – Configurazione FastCGI: Se stai utilizzando FastCGI (fcgi), aggiungi quanto segue al tuo file .htaccess o di configurazione del server:

<IfModule mod_fcgid.c>
   AddHandler fcgid-script .fcgi
   FcgidIOTimeout 900
   ProcessLifeTime 7200
   IPCConnectTimeout 180
   IPCCommTimeout 7200
</IfModule>

Esempio 3 – Configurazione Litespeed: Se stai utilizzando Litespeed, aggiungi la seguente regola al tuo file .htaccess o alla configurazione Litespeed:

<IfModule litespeed>
   RewriteRule .* - [E=noabort:1]
</IfModule>

In alternativa:

<IfModule Litespeed>
   RewriteEngine On
   RewriteRule .* - [E=noconntimeout:1]
   SetEnv noabort 1
</IfModule>

Nota importante: Se continui a riscontrare problemi di timeout dopo aver apportato queste modifiche, o se il tuo provider di hosting conferma che non ci sono timeout a livello di server, potresti dover considerare l'aggiornamento a un server con più risorse (come un VPS) o contattare il tuo provider di hosting per ulteriore assistenza.

Soluzione Tre: Timeout del Database

Se stai creando un backup e noti che il log di backup si interrompe improvvisamente su una tabella, con voci come:

…
02:55:06 done: wp_posts
02:55:06 start: wp_stats (1435897)

e non segue alcuna registrazione aggiuntiva, significa che la generazione SQL è fallita. Ecco alcune cose che puoi provare per risolvere questo problema:

Soluzioni alternative per il database

  1. Option One: Clean Up and Optimize the Database.
    • Installa un plugin come WP-Sweep per eliminare i dati non utilizzati. Assicurati di eseguire le impostazioni di ripristino e ottimizzazione. In alternativa, puoi eseguire un ripristino e un'ottimizzazione del tuo database utilizzando uno strumento come phpMyAdmin.
  2. Option Two: Use mysqldump for Faster Database Backup
    • Se il tuo provider di hosting supporta mysqldump, l'abilitazione di questa opzione può migliorare la creazione complessiva dei backup e i tempi di installazione per database di grandi dimensioni. Vai al menu Impostazioni, individua l'opzione ‘Database Build’ e seleziona la casella ‘Usa mysqldump’. Questa opzione funziona bene durante la fase di build, ma non durante la fase di installazione.
  3. Option Three: Use External Tools for Statistical Data
    • La maggior parte delle tabelle che falliscono sono correlate ai dati di log e statistici con milioni di record. Consigliamo vivamente di utilizzare strumenti gratuiti come Google Analytics invece di un plugin di statistiche. I plugin personalizzati possono rallentare il tuo sito con richieste aggiuntive e non offrono le stesse capacità di reporting di Google Analytics, che ha un impatto quasi nullo sulle prestazioni del tuo sito.
  4. Option Four: Temporarily Exclude Large Tables
    • Se il tuo database ha tabelle di grandi dimensioni, come le tabelle di log, effettua temporaneamente un backup ed escludile dal processo di build (puoi farlo nel Passaggio 1 durante la creazione di un backup). Puoi quindi reimportare manualmente le tabelle, se necessario. In molti casi, i dati delle tabelle di log non devono essere migrati e possono essere rimossi in sicurezza.
  5. Option Five: Increase Timeout or Script Processing
    • Collabora con il tuo provider di hosting per aumentare i limiti di timeout o di elaborazione degli script per Apache, PHP e MySQL. Consigliamo di utilizzare host approvati che supportano queste configurazioni, poiché generalmente consentono ai tuoi script di terminare l'esecuzione senza problemi.

Considerazioni aggiuntive: Sii consapevole anche del fatto che potresti esaurire lo spazio su disco sul tuo server, il che può manifestarsi come un problema di timeout. Assicurati di avere molto spazio su disco disponibile per creare il file archive.zip durante la creazione di un backup.

Soluzione quattro: Problemi con Cloudflare e Duplicator

Se Duplicator riscontra timeout del server mentre Cloudflare è attivo, potrebbe essere correlato a un timeout nella funzionalità Railgun di Cloudflare. Puoi saperne di più su questa funzionalità qui: Errore 524 di Cloudflare.

Per risolvere il problema, puoi provare a disabilitare temporaneamente questa funzionalità e quindi eseguire il processo Duplicator. Segui questi passaggi:

  1. Accedi al tuo account Cloudflare.
  2. Nella pagina Panoramica, fai clic su “Avanzate”.
  3. Fai clic su “Pausa”.
  4. Esegui il deployment dell'installer.
  5. Una volta completato, riattiva Cloudflare.

Questo ti aiuterà a determinare se Cloudflare sta causando il problema e ti permetterà di procedere con il processo di migrazione o backup.

Strategia tre: Soluzioni alternative manuali per il tempo

Timeout di backup

Se il log indica che hai superato il processo di script del database, potresti riscontrare timeout durante il backup di tutti i tuoi file. Di seguito sono riportati alcuni passaggi che puoi provare se incontri problemi durante il backup dei file:

  1. Escludi file di grandi dimensioni: Escludi file di grandi dimensioni come filmati, immagini di grandi dimensioni o altri file di backup (ad esempio, file .zip o .tar) dalla sezione dei filtri dei file.
  2. Escludi wp-content/uploads: Aggiungi la cartella wp-content/uploads all'opzione dei filtri delle directory. Dopo che l'installazione è completa nella nuova posizione, puoi copiare/trasferire manualmente quei file.
  3. Esegui un Installazione in due parti

Timeout del primo passaggio dell'installer

Se possibile, prova a ricreare un backup più piccolo escludendo file/directory più grandi che possono essere spostati manualmente (vedi Timeout di backup sopra).

Nel passaggio 1, sotto opzioni, prova il passaggio “Estrazione manuale”. Per una guida passo passo su come eseguire un'estrazione manuale, consulta questi passaggi:

Vedi anche: Come fare un’estrazione manuale o eseguire l’installer senza Zip abilitato?.

Timeout del secondo passaggio dell'installer

Se il tuo database è troppo grande per la configurazione del tuo server, fai riferimento ai passaggi/opzioni sotto “Timeout database”.

  1. Solo utenti Pro abilita Opzioni » Chunking » richieste multi-thread per dividere il file SQL.
  2. Abilita l'opzione Setup » Azione » Esecuzione SQL manuale (avanzato). Questo richiede che tu abbia importato manualmente il database in anticipo. Questo può essere fatto dal tuo host o da uno strumento come phpMyAdmin se supporta siti più grandi.

Questo articolo è stato utile?


Articoli correlati

Non lasciare che un altro giorno passi senza protezione

Ogni ora senza backup adeguati di WordPress mette il tuo sito a rischio • Ogni migrazione di WordPress ritardata ti costa in termini di prestazioni e crescita

Get Duplicator Now
Plugin Duplicatore

Aspetta! Non perdere la tua
offerta esclusiva!

Come cliente , ottieni il 60% DI SCONTO

Prova Duplicator gratuitamente sul tuo sito: scopri perché oltre 1,5 milioni di professionisti di WordPress si fidano di noi. Ma non aspettare: questo sconto esclusivo del 60% è disponibile solo per un periodo limitato.

or
Get 60% Off Duplicator Pro Now →