Kennisbank
1.000 veelgestelde vragen, 500 tutorials en uitlegvideo's. Hier vind je alleen maar oplossingen!
De duur van MySQL/MariaDB-verbindingen begrijpen
Deze technische handleiding beschrijft de resourcebeperkingen voor de webhosting-diensten van Infomaniak. Het is essentieel om het onderscheid te maken tussen de reële tijd (kloktijd) en de rekentijd (processor), om de oorzaken van scriptonderbrekingen te begrijpen.
1. MySQL-Verbindungszeit (I/O)
Grenze: 30 Sekunden Echtzeit
Deze limiet komt overeen met de absolute verstreken tijd, tot op de seconde nauwkeurig. Het betreft de communicatie tussen PHP en de databaseserver (MySQL/MariaDB).
Zodra een verbinding wordt geopend, reserveert de databaseserver maximaal 30 seconden om de aanvraag te ontvangen, uit te voeren en de resultaten terug te sturen. Als deze termijn wordt overschreden (vaak door een slecht geoptimaliseerde SQL-query), verbreekt de MySQL-server de verbinding abrupt. Dit veroorzaakt doorgaans de foutmelding MySQL server has gone away.
2. PHP-Verarbeitungszeit (CPU)
Grenze: 10 Sekunden CPU
Deze limiet heeft uitsluitend betrekking op de rekenkracht die door de webserver wordt gebruikt voor de uitvoering van de PHP-code.
Het is belangrijk om te onthouden dat de wachttijd niet wordt meegerekend. Als PHP wacht op een antwoord van de database, is het in een pauze en verbruikt het bijna geen CPU-tijd. Daarom wordt een script alleen onderbroken door de webserver als het gedurende meer dan 10 seconden cumulatief intensieve berekeningen uitvoert (complexe lussen, cryptografie, bestandverwerking).
Interactie tussen de twee limieten
Om de stabiliteit van de applicatie te waarborgen, moet elke bewerking tegelijkertijd aan beide verschillende beperkingen voldoen:
- De applicatie heeft 30 seconden totale tijd om met de database te communiceren (netwerklatentie + SQL-uitvoering).
- De applicatie heeft 10 seconden pure rekentijd om de ontvangen gegevens te verwerken.
Voorbeeld van een correcte werking: Een script dat 25 seconden wacht op een complex antwoord van MySQL (I/O) en vervolgens het resultaat 2 seconden verwerkt (CPU), functioneert probleemloos, omdat geen van beide individuele limieten is overschreden, hoewel de totale tijd 27 seconden bedraagt.
Link naar deze veelgestelde vragen: https://faq.infomaniak.com/481
Is deze veelgestelde vragenlijst nuttig geweest?