Good points... :) Yeah, I feel we are still some distance away from needing a cluster...but we thought it's better to prepare in advance...
Session and Files will be a key headache... On Jan 27, 4:07 pm, Lee Bolding <l...@leesbian.net> wrote: > On 27 Jan 2009, at 05:44, Sumedh wrote: > > > I know there is a lot of variety in terms of amount of reads vs. > > writes, complexity of processing (CPU required), security, speed > > requirements, session requirements etc, etc. But still, if there are > > some ad hoc basic conditions, which tell you when you need to start > > thinking about clustering your servers or database, it'll be useful... > > When you get consistent complaints from your users that the service is > too slow ;) > > It's important that you understand HOW and WHY your application is > slow though - just arbitrarily adding an extra webserver won't help > you if it is your database that is the bottleneck. > > Also, clustering isn't always the answer - sometimes you can get away > with moving all of your static assets to Akamai or S3 (or even > creating a load of DNS aliases to fool users browsers into downloading > more static assets in parallel), or using Memcache to relieve some of > the strain on your DB (assuming you've already done as much as you can > to optimise your table structure, indexes, queries etc). There are a > bunch of tricks, but as I already said - you need to understand where > the bottleneck is first, otherwise you'll be wasting time and money > fixing a problem that doesn't exist. > > Once you get into database replication, sharding etc... that becomes a > whole heap of pain which is an entire subject in itself. > > The VERY FIRST thing I'd do - before launching ANY live application - > is to move the Symfony rewrite rules from .htaccess into my > httpd.conf - sitting in a .htaccess file they need to get read from > disk every time a page is requested, which is a massive performance > hit. Load it once, at server start up, and it's never touched again > until the server is restarted. > > > Does symfony have something for out of the box clustering? > > Symfony supports DB sessions - obviously once you have more than one > server involved, chances are that a visitor is not always going to hit > the same server for a series of requests, so file based sessions are > no use. > > I always use DB sessions, regardless of how many (or few) servers I > think I'll eventually deploy to - it saves a headache in the long run. > > There are some other plugins in the plugin repository which may help - > I haven't yet seen one that allows you to specify a list of DNS > aliases for static resources, and randomly distribute these on the > page via the link_to helper... maybe I'll do that plugin next time I > have a need for that functionality :) > > > any good resource I can go through? > > Cal Henderson's (Flickr) book - Building Scalable Websites. --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---