[EMAIL PROTECTED] wrote:
    Browsers will only make a limited number of HTTP connections to a
    specific host.  By using multiple hostnames, you increase the number of
    concurrent connections a browser will make.  It is also useful to
    seperate static content from dynamic content because dynamic content
    servers typically are heavy weight (Apache w/mod_perl or mod_php)
    compared to static content servers (lighttpd, nginx, etc).

I didn't know about the limited connections per host. Thanks!
Regarding separating static and dynamic content servers, doesn't PerlBal pretty much act as the go-between? Perlbal gets a request for www.site.com/1.jpg <http://www.site.com/1.jpg>, it passes the request to the PHP server. The PHP server talks to MogileFS tracker and the tracker lets the PHP server know the real file location is in whatever.site.com/abc.fid <http://whatever.site.com/abc.fid>. It then sends a reproxy header to PerlBal, and PerlBal fetches the actual file from whatever.site.com/abc.fid <http://whatever.site.com/abc.fid> (which happens to run lighttpd) and returns it to the client. Thus this would still allow separation of dynamic vs. static content doesn't it?

Yeah, but we run multiple hosts anyway. Maybe we want to toss a CDN in front of it, or BGP route a separate IP address differently, blah blah.

At gaiaonline we still separated the site layout stuff (css, js, layout images, etc) from everything that went through perlbal (dynamic content, mogilefs content). Shoved all those images in RAM on a small bank of machines and L4 LB'ed them to take some load off of perlbal. Not like it couldn't handle it, but spreading the load never hurt anyone :) We could've also had a vhost in perlbal that served the static images using its webserver mode, probably still out of a ramdisk.

-Dormando

Reply via email to