On Sun, 2009-10-04 at 18:54 +1300, Chris Cormack wrote: > 2009/10/4 Dan Scott <[email protected]>: > > 2009/6/2 Mike Rylander <[email protected]>: <snip> > >>> Rather than trying to solve the problem in the Evergreen application > >>> code, another approach would be to use something like nginx as a proxy > >>> to serve up all known static types (*.js, *.png, *.gif, and the like) > >>> / locations and to hand off the dynamic requests to Apache. nginx is > >>> apparently able to serve up static content at higher concurrency and > >>> using far less CPU & RAM than Apache requires. This would add one more > >>> moving part to a production configuration, but it would have the > >>> advantage of simplifying the application code (one less set of SSI to > >>> deal with). Each server in a load-balanced cluster could be > >>> responsible for serving up its own static content; or all static > >>> content could be served up from a designated host; or in a simple > >>> non-nginx environment, Apache could still serve up all static + > >>> dynamic content. > >>> > >>> There's a good intro to nginx at > >>> http://www.linuxjournal.com/article/10108 for those interested in > >>> pursuing this direction. > >>> > >> > >> That /is/ interesting, and definitely worth looking into (setting > >> aside my reactionary fear of proxies with EG) for large installations, > >> but I think it's more deserving of a "here's how to /really/ trick out > >> your EG install" article. > > > > Made some headway on this tonight, documented at > > http://evergreen-ils.org/dokuwiki/doku.php?id=server_installation:nginx_proxy > > - there's probably much more that can be done, but it's a start. > > > >> Maybe that goes into main-line once we see it in production at Conifer > >> and all fears are put to rest? > > > > After some more testing on the virtual machine(s), I think we'll be > > putting this into production. I definitely want to slow down the > > recycling rate of our Apache processes. We'll let you know how that > > works out. > > > For my day job I work on a large media site, which uses a mix of > apache2, nginx and memcached to serve a large amount of dynamic pages > with an even larger amount of static files. > > I'm willing to have a chat with anyone who is interested about how we > do it, there might be some nice tips for Evegreen.
Awesome, thanks for the offer Chris! I'll be happy to take you up on that at some point. > (We shifted 1.2 terrabyte today .. some of that traffic was 5.2 > million requests for 2 rss files .. nginx handles this kinda load > without even blinking) Hmm, that's a nice start, but will it scale up to meet the demands of a large academic library system? </tongue_firmly_in_cheek>
