Just curious: since you are already running FastCGI, why not serving dynamic contents directly via it? Also, you may eliminate Squid. Using Apache for static content is good enough (easy to get 5k static PV per second per server, or 400 millions per day).
Phil On 9/17/09, Jeff Peng <jeffp...@mindspring.com> wrote: > > > -----Original Message----- >>From: Cosimo Streppone <cos...@streppone.it> >>Sent: Sep 17, 2009 3:43 AM >>To: Mod_perl users <modperl@perl.apache.org> >>Cc: Jeff Peng <jeffp...@mindspring.com> >>Subject: Re: Ways to scale a mod_perl site >> >>Jeff Peng <jeffp...@mindspring.com> wrote: >> >>> How many servers? >>> We have run the systems with about 500 million PV each day, with many >>> squid boxes + 200 apache webservers + 200 mysql hosts. >>> The applications were written with FastCGI. >> >>Wow! Why don't you tell or blog a bit about this? >>I would love to know more about what challenges >>you went through. >> > > > Yup, at that time the primary pressure against performance was database. > We used distributed Mysql servers with an oracle index server. > Each mysql host served 1 - 1.5 million users. > When an user logined, the application queried oracle to get the mysql host > id with the key of username. > Then the application queried to mysql and got anything it wanted. > The systems generated 2T data each day (surely we had large amount of > store). > > The front apache servers with FastCGI were running heavily, I remember 8G > memory were almost eated. > Squid was useful for static resources, but for dynamic applications like > CGI, no way to reduce the pressure but adding more machines. > > Last, the applications are webmail, the best popolar provider here. > > > Regards, > Jeff Peng >