Quest on NFS with 1 Server & 2 Clients

Hello;

I work now with a team which has based her "applications" on the following schema:

1 NFS client C1 (linux redhat 5) writes a file fic.dat on a NFS SERVER S (RH 5)
Another NFS client C2 is waiting for the same file fic.dat (on NFS server S1), and, when "fic.dat" appears, then makes process on this file (it is resumed only).
All machines (C1,C2 and S) work in NFS V3 only.

My first question is: what is the name of this special mode of operation with 3 machines and not only 1 Client and 1 Server as usual?

My second question is about performances witch are very bad. The file fic.dat could appears on "C2" about 30 seconds after it creation on "C1".
Which are NFS parameters that are involved in this process?
I have tried to set ACTIMEO to 0 and it'is less bad, but the "response" time is not good. And other flags... but it is not ok.
I have also put NFS in TCP mode, and other ....
I have tried also the SYNC flag, it is no better

Thank you for few ideas.
PS
[sorry for my poor English...]

First of all, please do not apologize for your English. Your English is good enough! :slight_smile:

Before I could suggest you anything, could you please post the /etc/exports entry for the clients from the NFS server? I need to know if both the clients are mounting the share in rw mode.

I need to know if both the clients are mounting the share in rw mode.
??? Yes of course!

The 2 clients have the same fstab; it is in the line concerning the server, I have worked many: actimeo=0, transport=tcp, and many other tests!
I don't remember. The only effect is theses flags degrade the perf.
Basicly, the /ext/exports contains only the share disk name
/NFS_SHARE
or
/NFS_SHARE sync
None of the flags I have tried, did solve the problem:mad:
and i am on this pb from many months

Well, if C2 is only processing the data and not writing anything on the share, what's the point of mounting the share in rw mode. That's probably causing the problem due to locks. Edit your /etc/exports like this and check:

/NFS_SHARE  IP_of_C1(rw,sync,no_wdelay)
/NFS_SHARE  IP_of_C2(ro)

I have never say the C2 client reads only the file!

C2 reads the file, do a proccess, and then delete the file.
Then, C1 must "view" the deletion of the file by C2 and follows a new sequence. Many time, even C2 has deleted the file, C1 views always the file. It is the second cause of failure. In fact, it is the same problem, but "swapped".

When C1 creates a file on the share, it waits until C2 read the file and delete it (C1 is "blocked", proccess between C1 and S2 are sequentials, not parallel.

I have tried the rsync flag already. It's no solves any thing

What's the usual size of the file we are talking about? Did you check with no_wdelay option?

they are little files;
About few bytes for "synchro" files, and about few Kbytes for other.

I have never test with no_wdelay.

Well wdelay is the default behavior of NFS where it writes with a delay when it senses there's a possible write from another client. So no_wdelay is the opposite of that. You may test it.

Can you tell me if the same issue persists for other shares on the same NFS server too?

..if the same issue persists for other shares on the same NFS server?

Yes. I had given a shematic view of problem, but it is the shame behavior for all clients.

I will trie to test the no_wdelay