Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[Apache + HTTP/2] Requests wachten op elkaar

Pagina: 1
Acties:

Vraag


  • klepje
  • Registratie: Januari 2012
  • Laatst online: 07:39
Hi all,

ik heb een probleem met HTTP/2 in combinatie met de Apache (2.4.25) webserver, waarbij het lijkt alsof de requests op elkaar wachten. Dit gebeurd bijvoorbeeld bij het doen van meerdere API requests (PHP backend). HTTP/2 zou sneller moeten zijn en wat andere voordelen hebben t.o.v. HTTP/1.1, maar het gaat in dit geval totaal niet op.

Wat heb ik al geprobeerd:
Ik heb een "bare minimum" Ubuntu (16.04) server opgezet, met daarop Apache 2.4.25 met mod_http2 enabled. Op de server staat een PHP script, welke een GET request opvangt, een aantal seconden wacht en daarna een response geeft. Vanuit de frontend worden alle requests op hetzelfde moment verstuurd.

Ik heb daarnaast ook een server opgezet met Nginx i.p.v. Apache, hierop werkt het wèl correct en worden de requests parallel uitgevoerd. Ook bij het gebruiken van HTTP/1.1 in combinatie met Apache & Nginx wachten de requests niet op elkaar.

Hieronder 2 scenario's:

Nginx + HTTP/2: Worden parallel uitgevoerd, requests wachten niet op elkaar:
Nginx - HTTP/2

Apache + HTTP/2: Wachten op elkaar, hierdoor zie je dat een request van 10 seconden (?action=10s) het aantal seconden van de vorige requests + 10 seconden duurt.
Apache + HTTP/2

Heb verder de default config van de http2 module, dus zonder wat aangepast te hebben. Als ik probeer de H2MaxWorkers op te hogen via /etc/apache2/apache2.conf en dan opnieuw de requests probeer uit te voeren, krijg ik een error 'zend_mm_heap corrupted'.

LogLevel http2:debug:
code:
1
2
AH03200: h2_session(10) created, max_streams=100, stream_mem=65536, workers_limit=6, workers_max=1, push_diary(type=1,N=256)
AH03201: h2_session(10): start, INITIAL_WINDOW_SIZE=65535, MAX_CONCURRENT_STREAMS=100


Mijn virtualhost config, ingesteld met Let's Encrypt: https://pastebin.com/C78HkfGb

Iemand enig idee wat hier mis gaat en of dit op te lossen is?

[ Voor 15% gewijzigd door klepje op 31-03-2017 22:45 . Reden: Meer informatie toegevoegd ]

Alle reacties


  • DJVG
  • Registratie: April 2006
  • Laatst online: 19-11 14:58

DJVG

Gewoon DJVG

Trace logging in Apache al aangezet om te kijken wat er gebeurd tijdens de requests? Wel genoeg workers geconfigureerd (zou gek zijn als dat niet zo is)?

Misschien ook handig om je hele config te posten.

[ Voor 14% gewijzigd door DJVG op 31-03-2017 22:28 ]

Als iedereen aan zichzelf denkt, word er aan iedereen gedacht!


  • klepje
  • Registratie: Januari 2012
  • Laatst online: 07:39
DJVG schreef op vrijdag 31 maart 2017 @ 22:27:
Trace logging in Apache al aangezet om te kijken wat er gebeurd tijdens de requests? Wel genoeg workers geconfigureerd (zou gek zijn als dat niet zo is)?

Misschien ook handig om je hele config te posten.
Ik heb meer informatie toegevoegd aan de post, dank!