我正在研究网络文件系统。我意识到当我启动许多并行读/写文件系统的进程时,我经常得到"没有这样的文件或目录"错误。甚至文件都存在,并且错误不可重现。哦,我甚至写到文件,这使得甚至抱怨都没有意义。
我想知道NFS在忙碌时是否会出现窒息的情况?如何从应用程序开发方面避免这种问题?
由于
答案 0 :(得分:0)
我首先尝试在标准文件系统上运行该进程,以查看nfs是否存在问题(例如,将nfs数据复制到/ tmp / test)或应用程序问题。
我更倾向于认为软件本身正在遇到某种竞争条件。如果文件不存在,理想情况下软件应该睡眠,并在放弃之前重试几次。
通过并行处理,一些文件在被更改或创建时也很有可能被访问。软件本身是线程安全的吗?它可能需要锁定和释放资源。
就NFS而言,您可能会查看/ etc / fstab中的挂载选项(如果已挂载)。某些选项(如同步/异步)可能会影响该问题。此外,Linux本身将缓冲内存中的磁盘写入(因为磁盘很慢)。