[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