Hello,

Have anyone run heavy traffic site that use/used APC? If so, what is and was your experience on APC with drupal?

We are running eaccelerator and we seems to encounter php fatal error in file.inc and one of function name becomes something like T;|\xb7dir(). When we restart httpd, site comes back. We've been having this problem since this summer when we went live. We have about 10,000 in our community and about 5,000 actively use our sites.

I am interested in hearing from those of you who have experience in APC or eaccelerator.

Thank you!!!
msito

Comments

David Stosik’s picture

Hello,
We also had bad experiences with eAccelerator: in a past project, we had the same problem than you, regular fatal errors, needing to restart Apache...
Now, we are using APC on a site that will be live in a few days, and didn't suffer any problem. APC works, it's statistics page shows it caches PHP. So far, we are satisfied with APC
APC is known to be less powerful than eAccelerator, but also more stable.
Choose wisely. ;)

Sto

shino’s picture

Good advice, Sto!

We are in process of testing APC and haven't seen problem thus far. Though we didn't see any problems with eAccelerator when we tested it either. We are crossing our fingers and will update this post once we switch to APC with our feedback.

Thank you!

shino’s picture

We've been using APC instead of eaccelerator for over a month now. We haven't had any problems thus far, but not as robust as eaccelerator. We'll take stability over speed, though... eaccelerator returned blank page due to fatal error file.inc produced few times a day on heavy load days.

This is what we think it happened to eaccelerator:
Eaccelerator encrypt or compress some files (I think for commonly used files - very wild guess). So function name will become something like T;|\xb7dir(). Eaccelerator stop working during the heavy use and it still looks for function name T;|\xb7dir() and no longer it exists because eaccelerator knows how to translate that into appropriate function name. Since eaccelerator stops, now that function becomes unknown thus php throws fatal error. By restarting httpd, eaccelerator starts back up and everything works normally. Of course, we could be way off, but we no longer use eaccelerator.