Base di conoscenze

1 000 FAQ, 500 tutorial e video esplicativi. Qui ci sono delle soluzioni!

Comprendere la durata delle connessioni a MySQL/MariaDB

Aggiornamento 01/09/2026

Questa guida tecnica illustra i limiti di risorse degli hosting web di Infomaniak; è fondamentale distinguere tra il tempo reale (orologio) e il tempo di calcolo (processore) per comprendere l'origine delle interruzioni degli script.

 

1. Tempo di connessione MySQL (I/O)

Limite: 30 secondi effettivi

Questo limite corrisponde al tempo assoluto trascorso, misurato con un cronometro. Riguarda la comunicazione tra PHP e il server di database (MySQL/MariaDB).

Non appena viene aperta una connessione, il server del database assegna un tempo massimo di 30 secondi per ricevere la richiesta, eseguirla e restituire i risultati. Se questo limite viene superato (spesso a causa di una query SQL non ottimizzata), il server MySQL interrompe bruscamente la connessione. Questo genera in genere l'errore MySQL server has gone away.

 

2. Tempo di elaborazione PHP (CPU)

Limite: 10 secondi di CPU

Questo limite si riferisce esclusivamente alla potenza di calcolo utilizzata dal server web per eseguire il codice PHP.

È fondamentale sottolineare che il tempo di attesa non viene conteggiato. Quando PHP attende una risposta dal database, è in pausa e non consuma quasi tempo di CPU. Di conseguenza, uno script verrà interrotto dal server web solo se esegue calcoli complessi (cicli complessi, crittografia, elaborazione di file) per più di 10 secondi cumulativi.

 

Interazione dei due limiti

Per garantire la stabilità dell'applicazione, ogni operazione deve rispettare simultaneamente queste due condizioni distinte:

  • L'applicazione ha a disposizione 30 secondi di tempo totale per interagire con il database (latenza di rete + esecuzione SQL).
  • L'applicazione dispone di 10 secondi di tempo di calcolo effettivo per elaborare i dati ricevuti.

Esempio di funzionamento corretto: uno script che attende 25 secondi una risposta complessa da MySQL (I/O) e poi elabora il risultato per 2 secondi (CPU) funzionerà perfettamente, perché non ha superato nessuno dei due limiti individuali, anche se il tempo totale è di 27 secondi.


Questa FAQ è stata utile?