I was going to say... these sound like pretty reasonable numbers to me as 
well.

Here's the thing with requests per second. Suppose you say "I want 100 RPS", 
that means that your average joe web user with his 56k (still around half of 
all users at least) is going to take 1-2 seconds at best (and more like 3-4 
typically) to receive a request. So your 100 RPS server needs to be serving 
400 requests at a time on average, which is 400 Apaches in RAM, which if they 
are typical mod_perl apaches means upwards of 2 and more likely around 4 gigs 
of RAM required to avoid total meltdown. With reverse proxying and the best 
possible mod_perl tuning you might get that down to 1 gig or so, which means 
you can expect that memory-wise you can hit 100 RPS on a single machine. Now 
you have to consider I/O bandwidth, and your dealing with 50kx100 is 
5000k/Sec, thats not bad and probably mostly served out of memory if its 
fairly static AxKit content anyway, probably disk is not even close to a 
problem. CPU may or may not be a problem, its going to entirely depend on 
your application.

Now, consider 1 THOUSAND requests per second. Now your talking about a machine 
that would have to have AT LEAT 10 gigs of RAM in it, probably at least 4-way 
SMP and more likely 8-way SMP, and a decent set of disk arrays. There ARE 
machines in that class. VERY few people have them.... In general when you get 
to that level fault tolerance alone demands serious clustering and 
multi-homing. We haven't even considered database requirements either, a 1000 
hit-per-second MySQL server is also non-trivial iron, and you will want that 
clustered as well. 

The question I have to ask is "do you REALLY think you'll get 1000 hits a 
second???" I mean thats several million hits per day, conservatively. Unless 
your building one of the top 50 sites on the net I am really skeptical you'll 
ever see 1000 hits in one second. I've probably built 50 large sites, and 
some fairly heavily used at that, and yet to see one break that mark.

On Tuesday 25 February 2003 01:00 pm, Matt Sergeant wrote:
> On Tue, 25 Feb 2003, Fred Moyer wrote:
> > 3) XML compatibility - yes I could use mason as a filter like you
> > suggested but I'm still limited by the performance constraints of the
> > component structure.  I'm hoping to use server-side includes or something
> > similar with Axkit to emulate this kind of template structure - I'm sure
> > it will be more work but I'm at the point where I need to process
> > thousands of requests per second as opposed to hundreds and integrate
> > with other vendors using xml standards.  Axkit seems to be the 'big kids'
> > Mason equivalent.
>
> While we the developers are extremely flattered by this, I have severe
> doubts about reaching the thousands of request/sec mark. I have a pretty
> funky AxKit app here that has to scale (possibly to millions of users) but
> I'm achieving that via sensible partitioning, not via a fast AxKit.
>
> FYI, with no tuning whatsoever (either to Apache, or PostgreSQL) on a page
> that does no SQL, but does run through some XSP code, I get about 16rps.
>
> "Static" content running through axkit on similar hardware gets about
> 120rps.
>
> I hope you have a lot of machines ;-)

-- 
Tod Harter
Giant Electronic Brain

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to