Some points you might check : - don't use event to load routes - don't stat file with apc - don't put object into session - avoid io - check that your source code is not mounted via a nfs (like) share - use a xml parser based on sax ( http://fr2.php.net/manual/en/book.xml.php) - install xhprof on your production servers.
On Tue, Nov 16, 2010 at 12:25 PM, Alexandre Salomé < alexandre.sal...@gmail.com> wrote: > Create a pre-production environment, secured to disallow web access and > enable the debug bar. > > symfony has some time-watching features in debug bar, it could give you > some measures. > > Check the symfony environment and your configuration files : maybe your > "prod" environment is not really ready for production. > > Also heard about XHProf for profiling : > http://mirror.facebook.net/facebook/xhprof/doc.html > > Give it a try, and give us feedback ;) > > Alex' > > 2010/11/16 Remi <remi.alv...@gmail.com> > > Hi, >> >> I'm working on a Symfony project for the past 11 months. The project >> is basically to throw away the old FrontEnd of a well-known shopping >> comparator, written in java and to replace it with a brand new >> frontend written in PHP with a Service Oriented Architecture (SOA). >> Our high-level architecture is to have a light-weighted frontend in >> PHP (using Symfony 1.4) and a WebService Aggregator written in Java >> (Jersey framework) to ensure all call to underlined webservices are >> done in parallal. This aggregator is extremly performant : it handles >> more than 200 Queries Per Second (QPS). >> >> Our main issue is more about the PHP frontend. Despite all our >> efforts, we can't handle more than 15 QPS on each server. Just to give >> you an idea, here are a few key informations about our achitecture : >> >> * 6 Servers with 4 physical cores (8 with HyperThreading enabled) >> and 24GB of RAM >> * Using Symfony 1.4.1 with PHP 5.2.10 >> * No database access : all datas are fetched using WebServices >> * Centos 5.4 Final 64 bits >> * Apache 2.2.3 >> * APC cache enabled >> * using SimpleXml to read XML feeds (300 nodes tops) coming from >> our WebServices >> * using mod_php >> * PHP memory limit is set to 128M in our production servers (we >> noticed lots of performances issues with only 32M or even 64M) >> >> >> Our FrontEnd does not handle complex algorithm. Basically, it get its >> data from some High Performances webservices (all internal), read the >> request, render the page and log some usefull data (access logs using >> Apache and some custom logs for our business). Everything is monitored >> closely and the bottleneck seems to come from CPU usage which reach >> 100% pretty often. >> We tried a few things : >> >> * Using Apache FastCGI (quite complicated on Centos5.4 since we >> have to re-compile it) : slight increase but is not worth all the >> trouble it causes on our company architecture. Nevertheless, it seems >> that we did some configuration mistakes and we need to bench it again. >> * Caching a few modules : header, footer, ads, ... >> * Replacing Apache by NGix : no change at all >> >> >> For the moment, our average server time exceed 1 second which is >> really bad compared to our old Java-based website (300-400 ms) and we >> didn't have rollouted all supported pages or even all our countries >> (we expect to double the number of connection by activating all >> remaining countries). >> Do you have any idea on how we could increase our performances ? Do we >> need to directly contact SensioLabs to negociate some contractor time >> (maybe a Symfony Guru ?) ? >> Do you know some tools that can help us to profile our application in >> production environment ? We've already tried XDebug on developer >> workstations but we don't have the same exact behavior in production. >> What I'd like to test is to (manually) instrumentate our source code >> to add some timers around some potentially costly algorithms. So you >> know any tool that could help us to do that ? >> >> I already have created a topic on Symfony forum : >> >> http://forum.symfony-project.org/viewtopic.php?f=3&t=30853&p=108430#p108430 >> >> Thanks. >> >> -- >> If you want to report a vulnerability issue on symfony, please send it to >> security at symfony-project.com >> >> You received this message because you are subscribed to the Google >> Groups "symfony users" group. >> To post to this group, send email to symfony-users@googlegroups.com >> To unsubscribe from this group, send email to >> symfony-users+unsubscr...@googlegroups.com<symfony-users%2bunsubscr...@googlegroups.com> >> For more options, visit this group at >> http://groups.google.com/group/symfony-users?hl=en >> > > > > -- > Alexandre Salomé > http://alexandre-salome.fr > > -- > If you want to report a vulnerability issue on symfony, please send it to > security at symfony-project.com > > You received this message because you are subscribed to the Google > Groups "symfony users" group. > To post to this group, send email to symfony-users@googlegroups.com > To unsubscribe from this group, send email to > symfony-users+unsubscr...@googlegroups.com<symfony-users%2bunsubscr...@googlegroups.com> > For more options, visit this group at > http://groups.google.com/group/symfony-users?hl=en > -- Thomas Rabaix http://rabaix.net -- If you want to report a vulnerability issue on symfony, please send it to security at symfony-project.com You received this message because you are subscribed to the Google Groups "symfony users" group. To post to this group, send email to symfony-users@googlegroups.com To unsubscribe from this group, send email to symfony-users+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/symfony-users?hl=en