fallenpegasus: amazon (Default)
[personal profile] fallenpegasus
Last year, when I was doing MySQL Professional Services, I encountered a client that was already using memcached. Something they said they were doing was they were caching the compiled bytecode of their PHP code in their memcached, which was a big win because they ran a large fleet of identical PHP based application servers. As soon as any one server encountered a given new piece of PHP, it would compile it and cache it, and immediately all the other app servers could use the same cached compiled bytecode, rather than repeat that work. They had recently changed to this approach, from caching the compiled bytecode on the disk of each app server.

I thought that was really neat, and kept digging elsewhere into their performance and scaling issues.

I had just assumed that this was some open source project, a modification or module to an existing PHP bytecode compiler / cacher / accelerator.

Except, it seems to not be. I've spend a couple of days now googling and reading up on the various "PHP accelerators", and they all appear to cache to disk or cache to local shared memory, but I can't find a reference anywhere to coupling one with memcached.

Am I just missing something, is my google-fu failing me, is this something this shop had written from scratch?

Do any of my readers know?

Date: 2009-12-09 07:31 pm (UTC)
From: [identity profile] mauser.livejournal.com
Totally separate thing, but I'm starting to play with PHP again. I noticed something strange. I was writing something that put out a relative link e.g. /TestDir/Gallery.php , which is what it said in the code, but when I hovered over the link, FireFox was putting the host name in front of it (i.e. it prepended http://home.kendra.com ) The problem of course is that that action by Firefox left out two steps in the path, so the link would be bad. What is the fix? Customizing the code to add in a base path or some method of determining the path programmatically?

The other issues is that while the code walked the directory, the paths it pulled up for files were based on the server's file system, rather than the URL, which was very different. I'm sure it's basic stuff, which is why my google-fu is weak in this case too.

Date: 2009-12-09 10:17 pm (UTC)
From: [identity profile] topbit.livejournal.com
I've never heard of storing PHP byte-code into Memcache. I don't think that it would be a significant benefit anyhow. A good part of why APC (for example) can do so much for a PHP site is that it runs the code (and accesses the cached variables) right out of memory - no copying required. For such things as arrays, I don't believe it even serialises them, just stores and returns them as the native PHP format.

Reading them from a memcache cluster would almost certainly involve a network copy, but reading (from the OS filecache), and then parsing the original code might actually be quicker.

Profile

fallenpegasus: amazon (Default)
Mark Atwood

December 2022

S M T W T F S
    123
45678910
11121314151617
18192021222324
25262728293031

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 20th, 2025 03:40 am
Powered by Dreamwidth Studios