> >  > Are the speedycgi+Apache processes smaller than the mod_perl
 > >  > processes?  If not, the maximum number of concurrent requests you can
 > >  > handle on a given box is going to be the same.
 > >
 > >  The size of the httpds running mod_speedycgi, plus the size of speedycgi
 > >  perl processes is significantly smaller than the total size of the httpd's
 > >  running mod_perl.
 > 
 > That would be true if you only ran one mod_perl'd httpd, but can you
 > give a better comparison to the usual setup for a busy site where
 > you run a non-mod_perl lightweight front end and let mod_rewrite
 > decide what is proxied through to the larger mod_perl'd backend,
 > letting apache decide how many backends you need to have
 > running?

 The fundamental differences would remain the same - even in the mod_perl
 backend, the requests will be spread out over all the httpd's that are
 running, whereas speedycgi would tend to use fewer perl interpreters
 to handle the same load.

 But with this setup, the mod_perl backend could probably be set to run
 fewer httpds because it doesn't have to wait on slow clients.  And the
 fewer httpd's you run with mod_perl the smaller your total memory.

 > >  The reason for this is that only a handful of perl processes are required by
 > >  speedycgi to handle the same load, whereas mod_perl uses a perl interpreter
 > >  in all of the httpds.
 > 
 > I always see at least a 10-1 ratio of front-to-back end httpd's when serving
 > over the internet.   One effect that is difficult to benchmark is that clients
 > connecting over the internet are often slow and will hold up the process
 > that is delivering the data even though the processing has been completed.
 > The proxy approach provides some buffering and allows the backend
 > to move on more quickly.  Does speedycgi do the same?

 There are plans to make it so that SpeedyCGI does more buffering of
 the output in memory, perhaps eliminating the need for caching frontend
 webserver.  It works now only for the "speedy" binary (not mod_speedycgi)
 if you set the BufsizGet value high enough.

 Of course you could add a caching webserver in front of the SpeedyCGI server
 just like you do with mod_perl now.  So yes you can do the same with
 speedycgi now.

Reply via email to