PHP opcode caching and SMP (multiple processors)

Thursday, November 23, 2006
This is an old post originally taken from my blog on Project Opus

Hello all,

Off-Topic Note

I’ve decided to start blogging on a bit more of a regular basis. I’m not much of a blogger, but who knows … it might just stick this time. I have a hunch problem was subject matter. So from now on I plan to stick to what I know best. Geek stuff!

Main Feature

Just learned an interesting thing about APC (the popular PHP opcode cache) today: APC hates SMP. I’ve been trying for nearly a month to get APC to run stably on our multi-CPU system. Invariably the extension will start seg. faulting within a few minutes or hours of starting up.

After many headaches, I gave up on APC. Running PHP without an opcode cache is a fairly crazy thing to do, so for the last month I’ve been looking high and low for a replacement. Recently I just stumbled across XCache and immediately loved what I saw. XCache is very similar to APC, the installation was nearly identical, but it has a few added options (I haven’t explored them all yet).

Best of all, it works great with SMP!!!

XCache Introcution Page ... before then I had used APC. Although it was quite stable for a php4 with flock() configuration it had become unstable once I upgraded my server to a dual cpu (4 threaded cpu) because it flock()ed badly so XCache was used instead and seems to have solved the problem.

I couldn’t have said it better my self.

James.

James-andres-165-bw James Andres

Country: Canada
About

Hello! Welcome to the current online home of James Andres, myself.

I'm a web developer, system administrator, and all-round geek.

This site is a journal of my life as it relates to techology.

Kudos and Link Bait

I work at Donat Group Enterprises building social networks, often with the Drupal CMS, of which I am a contributor. You may remember me from such sites as Project Opus.

Ross Howard-Jones is a brilliant designer who helped prettify this site. David Gratton inspired me to get off my ass and put this site together.

This site was built with the great language Ruby on the so-so platform Rails.