On 10/22/2016 06:13 AM, bruce wrote:
The idea, is that a clientApp, on a given clientVM will access a
file
on the nfs, and then the nfs file is no long used.
It's difficult to offer performance tuning advice without more
information about what the app is doing, exactly. Is it reading it into
memory and then doing some sort of processing on its in-memory copy?
The process can't have the same data file operated on by multiple
clientApps.
Now, that statement makes me think that the application is reading the
data, processing it, and then modifying it. If that's the case, then
having multiple clients may not be of any benefit. If the applications
have to operate in serial, they'll end up doing the work in the same
amount of time (or worse) as one system doing all of the work.
I've thought of having a "pid" file on the nfs, where
each clientApp
would reset/lock/use the pidFile to then get/use/delete the file as
required, but this seems tb slow.. but doable.
Probably. You'd have a bunch of clients periodically checking for the
lock file before they do work. You'll lose some time to idling when one
application finishes, before another application gets the lock and
starts working. You may be better off having one process scheduling
work, starting up or signaling an application when the data is
available. You'll avoid the complexity of the locking, and possibly
reduce idle time.
Surprisingly, in looking around, haven't come up with anything
that
appears to be really better.
Your problem is too specific for a general answer.