On my development machine my application used up about 4-6MB of memory per request. After switching to a production machine those numbers went as high as 21+MB per request, without any speed improvement (0.30 - 1.2 seconds, which I really hoped to improve on my production machine). Some portions of application (like database bootstrapping) used up 271KB on a development machine and 2.5MB on the production one, so I'm wondering what could be the reason for this. My application uses Zend Framework 1.10.8 (MVC) and Doctrine 2.0beta4 ORM and PDO_MySQL as a database adapter.

Also, I wasn't really able to find a bottleneck, it's like it's application-wide. Please tell me if I should provide any additional info.

Update:
Zend Server, which I use on my dev machine, has Zend Optimizer+ and APC enabled, and my sysadmin recommended me that I should use eAccelerator, so I followed his advice. However, on phpinfo() I see this:

@fazo I'll set up a virtual machine when I get some time, if no one else has any more suggestions.
–
Gray FoxSep 6 '10 at 10:07

I'd try to keep the development machine much closer to production machine to be able to debug issues with the debug machine. I'd guess your problem is eAccelerator. I have used eAccelerator, xcache and APC and while APC might not be the quickest it sure is the most stable. And by stable I mean both "does not segfault randomly" and "linear resource usage to workload". Add the fact that only the APC is officially supported by php source code the choice is easy. If you can repeat the issue with APC, only then spend any more time investigating the issue.
–
Mikko RantalainenJan 16 '13 at 7:22

1 Answer
1

Is it really that much of a difference? I mean, 4-6MB -> 21MB is more than 100% increase
–
RobusSep 5 '10 at 18:52

I was actually wondering the same thing. Does this mean I should switch to a 32bit OS for a better performance, or am I missing something?
–
Gray FoxSep 5 '10 at 19:00

@Gray i believe so. But your opening question is unclear to me. Do you mean only memory consumption or timings too? Why don't you profile your app? 1 second is a shitload of time, I can't beieve there are no certain bottlenecks. Anyway, for the monstrous frameworks and ORMS an opcode cacher is obligatory, check here: stackoverflow.com/questions/28716
–
Your Common SenseSep 6 '10 at 5:42