У меня есть две машины CentOS (виртуализированные) с подключенным общим ресурсом NFS со следующим в /etc/fstab
:
<ipaddr>:/mnt/nfsshare /mnt/nfsshare nfs rsize=1024,wsize=1024,timeo=14,intr,cto,relatime 0 0
у меня есть EnableMMAP Off
и EnableSendfile Off
в каждой конфигурации Apache. Другой сервер, подключенный к NFS, будет иногда копировать файл CSS с обновленной версией (например, когда кто-то применяет изменения из промежуточной). Из оболочки это обновление, похоже, проходит (т.е. обновленная отметка времени и cat
показывает правильные данные).
Однако загрузка файла из браузера или других инструментов показывает устаревшую версию. Иногда я даже вижу разные ответы (два сервера Apache сбалансированы по нагрузке). Через некоторое время кажется, что изменение будет выполнено, и Apache вернет правильное содержимое файла, но обычно это занимает минуту или две.
Вы можете попробовать заменить cot на noac и полностью отключить кеширование, хотя, если это единственное место, где это появляется, вы можете получить некоторые штрафы за производительность. Другой вариант - установить acregmax = 10, при котором атрибуты будут кэшироваться не дольше 10 секунд - по умолчанию все атрибуты кэшируются на 60 секунд, и хотя 'cto' говорит, что атрибуты следует проверять в open () и close () отдельные процессы apache могут по-прежнему зависеть от файловых дескрипторов или чего-то еще.