From: Bernd E. <eid...@we...> - 2006-07-12 20:00:21
|
Hi Mike, > The project for which I am considering NS will have a dynamic and very > large static part. There will be many very large (650MB) static files > that people will download. It is hard for me to judge what the > performance of serving these files with NS will be. It depends a little bit on what is "a dynamic" and a "very large static part" and about what dimensions you talk in general. Usually it could make sense to delegate uncached, personalized, database intensive scripting parts to NS and the huge downloads to one or more (balanced) servers with very optimized capabilities in that context. "Pound" is very good for that (and brings SSL!, if you don't want to rely on the availability of nsopenssl). (And so the connections to the database on another server do not suffer from the downloads). Personally, if only authorized people should be allowed to download, it could be very easy (in terms of development) to do everything with n-Naviservers and one database simply because you limit the number of technologies you have to deal with. How many users will download? What minimum download rate do you want to offer them? You could limit the parallel number of downloads per box so you are able to come very close to the hardware dimensions needed. > Of course > benchmarking would be the ideal route, however I have the pleasure of > writing the code now, and the hardware for this project won't be > purchased until a while from now. Should I use NS for the dynamic > part and redirect the static requests to something like lighttpd, or > can I rely on NS to handle such load without problems? NS can handle it and offers specialized "writerthreads", but for the mere "dumb" transfer lighttpd might be a very good decision. Use NS for the scripting. > Does a mechanism exist to "reload" the tcl libraries on a live server? Yes, the "evil ns_eval". And you can activate the "lazyloader" mechanism that speeds up thread creation as only needed code parts are loaded via the unknown mechanism during the thread livetime. http://naviserver.sourceforge.net/wiki/index.php/Nstrace.tcl Bernd. |