Kennisbank
1.000 veelgestelde vragen, 500 tutorials en uitlegvideo's. Hier vind je alleen maar oplossingen!
De verbindingsduur met MySQL / MariaDB begrijpen
Deze technische handleiding beschrijft de resourcebeperkingen voor webhosting bij Infomaniak. Het is belangrijk om onderscheid te maken tussen de reële tijd (klok) en de rekentijd (processor) om de oorzaak van scriptonderbrekingen te begrijpen.
1. MySQL-verbindingstijd (I/O)
Limiet: 30 seconden
Deze limiet komt overeen met de werkelijke tijd die verstrijkt. Het betreft de communicatie tussen PHP en de databaseserver (MySQL/MariaDB).
Zodra een verbinding is geopend, geeft de databaseserver maximaal 30 seconden om de query te ontvangen, uit te voeren en de resultaten terug te sturen. Als deze tijdslimiet wordt overschreden (vaak door een slecht geoptimaliseerde SQL-query), verbreekt de MySQL-server de verbinding abrupt. Dit genereert meestal de foutmelding MySQL server has gone away.
2. PHP-verwerkingstijd (CPU)
Limiet: 10 seconden CPU-tijd
Deze limiet geldt uitsluitend voor de rekentijd die de webserver gebruikt om PHP-code uit te voeren.
Het is belangrijk om te benadrukken dat de wachttijd niet wordt meegerekend. Wanneer PHP op een antwoord van de database wacht, is het in een pauze en verbruikt het vrijwel geen CPU-tijd. Daarom wordt een script alleen door de webserver onderbroken als het intensieve berekeningen uitvoert (complexe lussen, cryptografie, bestandverwerking) gedurende meer dan 10 seconden in totaal.
Interactie tussen de twee limieten
Om de stabiliteit van de applicatie te garanderen, moet elke bewerking tegelijkertijd aan deze twee afzonderlijke voorwaarden 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), zal perfect werken, omdat het geen van beide individuele quota's heeft overschreden, ook al is de totale tijd 27 seconden.
Link naar deze veelgestelde vragen: https://faq.infomaniak.com/481
Is deze veelgestelde vragenlijst nuttig geweest?