To answer your question:
An NFS trace on the novell server shows the web server executing GETATTR and READ commands when a file is served after it has been updated.
If you 'touch' one of the files, the client executes GETATTR and SETATTR... and then the first time it is served it executes LOOKUP, READ, and GETATTR commands (after the first time it is served by the web server the client just executes GETATTR and READ).
We were told to mount the exported volume with the NOAC option to tell the client not to cache file attributes. However, we do not see this option implemented on FreeBSD (we even tried it thinking it may be undocumented or still hanging around and ended up getting an error message). After seeing this, we tried setting ACREGMIN, ACREGMAX, ACDIRMIN, and ACDIRMAX to 0 thinking that timeouts of 0 would essentionally turn the cache off... but it didn't solve the problem. Is there some other setting that just turns the cache off completely?
-shawn
--On Wednesday, March 02, 2005 9:03 PM -0500 Bob Johnson <[EMAIL PROTECTED]> wrote:
Here's a reply to my query. sysctl's are kernel values that you can tune with the sysctl command.
sysctl vfs.nfs.access_cache_timeout
would show you the value of that sysctl, while
sysctl vfs.nfs.access_cache_timeout=2
would change the value to 2 (assuming it is writable, which this one is).
To see all sysctl's with nfs in the name, do
sysctl -a | grep nfs
so the question he asks is whether a server trace shows any activity when the webserver is fetching a recently changed file, or is it working entirely from its own cache?
Any reply to this should go to the sender and to [EMAIL PROTECTED] to get the reply back on the list.
- Bob
-------- Original Message -------- Subject: Re: FreeBSD NFS client and Netware 6.5 NFS server Date: Wed, 2 Mar 2005 17:55:24 -0600 From: Dan Nelson <[EMAIL PROTECTED]> To: Bob Johnson <[EMAIL PROTECTED]> CC: freebsd-questions@freebsd.org References: <[EMAIL PROTECTED]>
In the last episode (Mar 02), Bob Johnson said:Message below is about a FreeBSD server I maintain. The FreeBSD server is our web server. We use NFS to talk to a Netware file server where most of our users' web pages are stored. FreeBSD is 5.3, and was working ok with Netware 5.1 (and still is with other Netware servers). One of the servers was recently upgraded to Netware 6.5 and NFS is no longer playing nice between the two.
When something on the Netware side updates a file by copying it into place (e.g. using FTP [don't complain] to upload a file), the FreeBSD client doesn't find out that the file contents have changed until it does something to the file (e.g. touch or chmod). Thus, when one of our users updates their web page with something like Dreamweaver, the web server doesn't find out about it (perhaps it eventually finds out, but it takes more than the several minutes we waited).
It sounds sort of like the vfs.nfs.access_cache_timeout sysctl isn't being honored on the FreeBSD side. The kernel defaults to 60 seconds, but if you have nfs_client_enable="YES" in rc.conf, /etc/rc.d/nfsclient sets it to 2. If you dump the NFS traffic as your web server fetches one of these recently-updated files, do you see it doing an ACCESS/GETATTR on the target files at all?
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- Shawn C. Lander 340A Weil Hall, POBox 116550 Coordinator Computer Applications Gainesville, FL 32611-6550 Management Information Systems (MIS) PH: (352) 392-9217 College of Engineering FAX: (352) 392-7063
_______________________________________________ freebsd-questions@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-questions To unsubscribe, send any mail to "[EMAIL PROTECTED]"