mpm_worker and Thread-Safe PHP are Toxic to APC
Technically the reverse is true but with all the problems folks seem to be having with the threaded Apache MPM mpm_worker and the supposedly “thread safe” versions of PHP one wonders – though it is said PHP itself is thread safe but many of its add-ons (apparently APC among them) are not. I can testify to that because I’ve been running a high volume site with threads for a few months with no issues except the big one: APC works for about 5 minutes then apache starts churning out blank pages. PHP appears to segfault but who knows what’s really going on when absolutely nothing shows up in any logs.
Supposedly mpm_worker offers great memory savings but I’ve failed to see it nor the benefits it brings and I’ve also failed to see any real difference in performance – though you could chalk that up to my having lost the bytecode cache. I’ve been back on mpm_prefork for a few hours now and haven’t noticed any significant change in load, though I’ll know by tomorrow if (apparently now stable) APC is doing anything for me.
So far it’s looking like threaded apache at this stage only really has a place on ram-constrained VPSes but as far as stability and interoperability is concerned if you got it, use it baby.
UPDATE Looks like load is actually about half what it used to be at peak hours. Threading is definitely not worth losing APC, at least for me.