PHP5-FPM + PHP5-APC = segfault

Nieuwe packages, je gaat er altijd van uit dat ze beter zullen werken dan de oudere versies. Dat blijkt helaas niet altijd het geval. Voor Lekker Nerden had dat de afgelopen dagen regelmatig tot gevolg dat de site onbereikbaar was. Wat was er aan de hand?De symptomen waren van het soort dat je de haren uit je hoofd doet trekken (voor mij nogal een opgave). Samengevat bleek dat, zonder dat duidelijk was welke situatie dit triggerde, PHP (draaiend vanuit PHP5-FPM) met enige regelmaat onderuit ging met een segfault. De site toonde dan een “503 Bad Gateway” melding. PHP5-FPM draaide nog wel, maar was niet meer in staat om de Nginx doorgestuurde requests af te handelen. Enige remedie was het herstarten van PHP5-FPM.

Uiteraard heb ik alle logs doorgespit op zoek naar eventueel nuttige melding, om deze vervolgens aan Google te voeren. Conclusie: ik ben niet de enige die dit soort symptomen ziet. Oorzaak, oplossing, gebruikte configuratie en versies van gebruikte packages bij anderen die deze symptomen zien bestaan echter uit een groot scala aan verschillende varianten. Uiteindelijk ben ik maar mogelijke oorzaken gaan elimineren door PHP modules uit te schakelen. Daarbij bleek dat het uitschakelen van APC de symptomen wegnam.

Nu is APC in nogal wat varianten beschikbaar op een Ubuntu 10.10 systeem. Vanuit de eigen Ubuntu repositories wordt het package php5-apc beschikbaar gesteld, daarnaast biedt PHP Pear de mogelijkheid om middels Pecl een specifieke versie te installeren. Ik heb de diverse varianten geprobeerd (3.1.4 t/m 3.1.7), met resultaten die varieerden van het terugkeren van de zelfde symptomen tot het überhaupt niet willen starten van PHP5-FPM.

APC blijkt dus een zorgenkindje, maar de functionaliteit die APC biedt is wel erg gewenst. Ik heb daarom APC vervangen door xcache, en jawel hoor, de problemen zijn verdwenen *en* blijven weg. Met good old ab (Apache Benchmark tool) heb ik 500.000 requests afgevuurd, en vervolgens heb ik met een testaccount van loadstorm.com nog eens een een half uur lang de load op Lekker Nerden flink opgevoerd. Geen centje pijn, probleem verdwenen!

Social tagging: > > >

Trackbacks/Pingbacks

  1. Tweets die vermelden PHP5-FPM + PHP5-APC = segfault -- Topsy.com

Geef een reactie