Greetings. I hope there are some folks out here that have experience using a filer as an HTTP server.
First some specifics:
Filer: F740, 512MB RAM, 32MB NVRAM, FC disks, 100Mbit switched Enet conn. Version: NetApp Release 5.3.2R1: Thu Aug 12 19:16:27 PDT 1999
We purchased the HTTP protocol license to offload images to the filer directly rather than have an intermediate host serve them up by grabbing them off that filer. After some basic testing we put this into the start of production and all was well, though first connections by a browser seemed to lag a bit, subsequent connections were fine. All was well for about 2 weeks when things came to a crawl and finally to a stop. Several observations
1. httpstat reported 512 peak and 512 open connections.
2. despite doing an "options httpd.enable off" and leaving it down for a while, open conn. never dropped and the http server was non-responsive. I even tweak the timeout down to 30, which is the lowest it can go.
3. NFS service was seemingly unaffected
4. netstat reported *many* (512?) connections in either ESTABLISHED or CLOSE_WAIT and those connections didn't seem to ever go away. 5. The log file was at it's maximum. I moved it to another filename and did an httpd.enable on then off, but another log file was never written to. How do you rotate the logs on a filer for HTTP?
A possible kink in the matter is that I am using the VH interface and have two IP's aliased to it, the filer's address is aaa.bbb.ccc.xxx and then it has:
ifconfig vh alias aaa.bbb.ccc.yyy ifconfig vh alias aaa.bbb.ccc.zzz
I then use the httpd.hostprefixes to map each VH to the appropriate area:
/path/YYY host-y.domain.com aaa.bbb.ccc.yyy /path/ZZZ host-z.domain.com aaa.bbb.ccc.zzz /path/TESTy test-y.domain.com /path/TESTz test-z.domain.com
and this all works fine as far as things being pointed to the right places.
All of this leaves me with some questions:
1. How do you turn off httpd on a filer? "options httpd.enable off" does not seem to do the trick. After doing that, if I telnet to port 80 I do not get a connection refused, it just sits there. At least when it was in this "hung" state.
2. How do you rotate log files. Actually, for the images, I don't want the log file at all, but the manual doesn't say how to make it go to the filer equivalent of /dev/null.
3. Can the number of connections be raised from 512? Can the timeout be made shorter than 30 seconds? Can the filer close idle/lost connections faster?
4. Is this a known problem with a fix? NOW didn't seem to have anything that I thought matched the problem.
5. Is it reasonable to even put a filer's HTTP into an environment that will generate roughly several million hits per day?