views:

370

answers:

3

Hello,

Am currently considering using REST access to Nirvanix online storage to store/download files. However, Nirvanix also offers NFS access to the network storage.

I was wondering if there are any known benchmarks or protocol-specific reasons for choosing REST over NFS?

thanks.

A: 

It's a toss-up.

NFS, with the right setup, version, and tuning, is just a tad slower than SMB/CIFS. Older versions, however, can be significantly slower.

What you do gain with NFS is:

  • primitive file access control (via standard Unix file permissions)
  • primitive share access control
  • user mapping
  • For those platforms that support it, a near-invisibility with regard to operation. It looks just like another subdirectory...

However, if you are not working in a 100% NFS environment, you might find that it's not worth the effort.

By the way, for the record, Windows 7 Beta/RC does support NFS out of the box.

Avery Payne
Is NFS slower than HTTP, though?
Generally speaking, no.
Avery Payne
+1  A: 

Use whatever best fits your environment. Any difference is going to be negligible, especially over non-LAN-speed links where things like CPU usage become irrelevant as they're overwhelmed by the simple fact that the link is already saturated.

One possible exception is dealing with lots of little files. If your use case involves rapid access to a lot of little files, I'd suggest testing both and seeing if one is faster by a large enough margin to matter.

Nicholas Knight
So are you saying that in a LAN environment, I should use one over the other? Like NFS? But isn't it true that NFS uses too much CPU for large data transfers? Or were you saying that I should use REST for LAN's? Please clarify. Thank you.
I'm saying in almost all cases, the performance difference is going to be so minuscule that other factors take precedence.If you really insist on finding out which is faster, _you_ have to test it in _your_ environment. Nobody else's numbers are going to matter.As for NFS using "too much" CPU, I'm unaware of any such thing in modern implementations. In any case, the question is whether such a potential downside is outweighed by other requirements for your project -- a question only _you_ can answer.
Nicholas Knight
A: 

NFS is not a file transfer protocol, it's a Network File System protocol. Properly configured and implemented, it should be possible for HTTP to beat it easily.

It will depend on the details of what you're trying to do. If you're just uploading and downloading entire files, then I suspect you'll be able to configure HTTP to do a lot better than NFS.

Recall also that NFS was created in an earlier time. Is NFS 2.0 still the latest version? I recall updating the code of an NFS implementation from 2 to 3. That was in 1996 or so.

John Saunders
Your memory is a little bit off here. NFSv2 came in 1989, NFSv3 in 1995 and the latest NFSv4 came 2000.
hlovdal
Thanks. It must have been 2 to 3. I also didn't know that v4 existed.
John Saunders