IT bugsolutions

HTTP-fout 504

504 Gateway Timeout: wat het betekent en hoe u het oplost

Het korte antwoord

Er hoeft niets gecrasht te zijn. Iets is gewoon te traag, en de server ervoor stopte met wachten voordat uw site kon antwoorden.

  • Back-up vóór elke wijziging
  • Vaste prijs vooraf
  • Op afstand, overal ter wereld
  • Gratis diagnose

Een 504 is een timingprobleem, en elke laag heeft zijn eigen stopwatch. Standaard wacht nginx 60 seconden op PHP, stopt PHP een script na 30 seconden (max_execution_time), en meldt Cloudflare een eigen 524 als uw server er langer dan 100 seconden over doet. De stopwatch die als eerste afloopt, bepaalt welke fout u ziet.

Herkenbaar?

Herkenningspunten van een 504 Gateway Timeout

  • Een pagina met “504 Gateway Timeout” of, op nginx, “Gateway Time-out”
  • Een Cloudflare-pagina met “Error 524: A timeout occurred”
  • Alleen bepaalde pagina’s vallen uit: zoeken, rapporten, de checkout, een import of het beheerscherm
  • Een pagina draait 30 tot 60 seconden en geeft dan een fout
  • Het werd erger naarmate uw database of verkeer groeide, of na een nieuwe plugin of import

Oorzaken

Waardoor ontstaat een 504 Gateway Timeout?

Trage databasequeries

Een query die een grote tabel zonder index doorzoekt kan tientallen seconden duren. Naarmate uw data groeit, schuift een pagina die snel laadde over de timeout heen.

Trage scripts of zware pagina’s

Paginabouwers, grote productlijsten, beeldverwerking of rapporten die in één verzoek te veel werk doen.

Externe API-aanroepen die blijven hangen

Wacht uw site op een betaalprovider, verzendservice of andere API die niet antwoordt, dan wacht de pagina mee, tot de gateway opgeeft.

Zware imports, back-ups of cronjobs

Een taak die in kantooruren draait, neemt workers en databasecapaciteit af van bezoekers.

Timeoutlimieten die niet op elkaar passen

Is de timeout van de gateway korter dan de tijd die PHP mag draaien, dan trekt de gateway altijd aan het kortste eind. De limieten moeten passen bij het werk dat een pagina echt doet.

De upstream-server is overbelast

Zijn PHP-workers of de database bezig met andere verzoeken, dan staan nieuwe in de rij tot de timeout toeslaat.

Zelf proberen

Eerst zelf controleren bij een 504 Gateway Timeout

Veilige dingen om eerst te controleren. Limieten verhogen is de laatste stap, niet de eerste.

  1. 1 Noteer welke URL’s falen. Zijn het er maar een paar (zoeken, checkout, één beheerpagina), dan is een zware pagina de oorzaak en niet de hele server.
  2. 2 Kijk wat er tegelijk draait: een back-up, een import, een herindexering van de zoekfunctie of een cronjob. Pauzeer die en probeer opnieuw.
  3. 3 Bekijk de logs. In nginx bevestigt “upstream timed out (110: Connection timed out) while reading response header from upstream” het wachten; het slow log van PHP toont welk script draaide.
  4. 4 Hernoem op WordPress even wp-content/plugins naar plugins-uit. Back-up-, beveiligingsscan-, gerelateerde-berichten- en paginabouwerplugins zijn veelvoorkomende boosdoeners.
  5. 5 Vraag uw host of het MySQL slow query log aan kan. Dat toont precies welke queries seconden duren. Maak een back-up voordat u tabellen opschoont of optimaliseert.
  6. 6 Verhoog pas daarna de timeout, bijvoorbeeld max_execution_time of fastcgi_read_timeout, als tijdelijke maatregel. Een pagina die 90 seconden nodig heeft, frustreert bezoekers nog steeds.

Onze aanpak

Zo lossen wij een 504 Gateway Timeout op

  1. 1

    We vinden het trage verzoek

    We achterhalen welke pagina, query of aanroep de tijd kost met de webserver-, PHP- en databaselogs, zodat we het trage deel herstellen en niet alleen het symptoom.

  2. 2

    Back-up vóór elke wijziging

    Eerst een volledige kopie van bestanden en database, zodat elke wijziging ongedaan te maken is.

  3. 3

    Oorzaak, vaste prijs, uw akkoord

    De diagnose is gratis. U krijgt de oorzaak in gewone taal, een vaste prijs en een tijdsinschatting. Zonder uw akkoord begint er niets.

  4. 4

    Versnellen, testen en rapporteren

    We maken het trage deel sneller, stellen timeouts in die bij het werk passen, controleren de pagina’s die faalden en sturen een kort rapport.

Wat we nodig hebben

Wat wij van u nodig hebben

  • Toegang tot uw hostingpaneel of SSH, inclusief de webserver- en PHP-logs
  • Databasetoegang, of de mogelijkheid het slow query log aan te zetten
  • Een beheerderslogin voor uw CMS of applicatie, als dat er is
  • Welke pagina’s of acties falen, wanneer het begon en wat er eerder veranderde

We vragen de minimale toegang die nodig is, gebruiken per klant een aparte sleutel en u kunt die intrekken zodra we klaar zijn.

Wat wij niet kunnen oplossen

We kunnen geen 504 oplossen die komt door een trage externe dienst die wij niet beheren, of door een hostingpakket dat simpelweg te klein is voor het werk. Dan zeggen we dat na de gratis diagnose, laten we zien waar de tijd heen gaat en adviseren we over de realistische opties.

Prijs

Prijs en wat er daarna gebeurt

  1. 1

    Gratis diagnose

    We zoeken de oorzaak en vertellen u wat er mis is.

  2. 2

    Vaste prijs

    U krijgt een prijs en een tijdsinschatting. Zonder uw ja begint er niets.

  3. 3

    Opgelost en gerapporteerd

    We herstellen het, testen het en sturen een kort verslag.

Vanaf €295 excl. btw

Vaste prijs, afgesproken voordat we beginnen

Is het dringend? Zeg het in het formulier of in de chat. We beginnen zo snel als we kunnen en geven u bij de offerte een realistische tijdsinschatting. Kost voorrang extra, dan ziet u dat in de offerte voordat u akkoord gaat.

Laat het oplossen

Vragen?

Veelgestelde vragen over de 504-fout

Laatst bijgewerkt:

Aanvraag

Vertel ons wat er mis is

Beantwoord een paar korte vragen. U krijgt een vaste prijs voordat we iets doen.

Stap 1 van 5

Op welk platform ondervindt u het probleem?