-> we only use routing.yml to load our routes -> we don't use session (our old frontend was not session-less and it was a real pain in the ass !) -> we do as few io as possible : only to write a few logs (2 lines in one single file for each request) -> our source code is not mounted via NFS -> we've benched our XML reader classes and didn't find any issues with them (8ms to read up to 300 XML nodes and create all associated beans : it seems quite fair)
I dind'nt understand what you meant with "don't stat file with APC". Can you be more specific please ? Thansk ! Rémi On Nov 16, 1:57 pm, Thomas Rabaix <[email protected]> wrote: > 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é < > > > > [email protected]> 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 <[email protected]> > > > 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#p... > > >> 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 [email protected] > >> To unsubscribe from this group, send email to > >> [email protected]<symfony-users%[email protected]> > >> 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 [email protected] > > To unsubscribe from this group, send email to > > [email protected]<symfony-users%[email protected]> > > For more options, visit this group at > >http://groups.google.com/group/symfony-users?hl=en > > -- > Thomas Rabaixhttp://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 [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/symfony-users?hl=en
