VMware Cloud Community
PaulNYC
Contributor
Contributor

NFS or SAN, which would give better performance for virtual web servers?

we run a large web farm on on esx servers, I currently have 14 vm web servers running behind a bigip proxy, so each of the 14 boxes are identical, each has it's OS drive and a second 10gb data drive where the web stuff sits. Each of those data drives has the same exact info and each VM uses a 10gb drive one my san. I dont have many issues with space so it doesnt hurt me to have multiple copies of the same data, but having one master copy of the data that all the web servers could access would make things simpler in other ways, so my question is, would i see better or worse performance from my webservers if they all accessed the a web data directory over NFS?

I am running the guest OS's on two dell poweredges, and each esxserver ( 3.02) is attached directly to a EMC cx-320 over fiber. As it is now, each box reads and writes direct to the san, so the bottleneck, if any, would be over the fiber. If i had one master NFS server , would the bottleneck then be the network (i have 2 brocade switches, each esx server has 4 gb lan cards attached to it) and which would be best?

0 Kudos
1 Reply
Laurent_Cornet
Contributor
Contributor

Hi Paul,

there are multiple factors that you should take into account, but if you consider performances only, you may want to use the following pointers to base your decision on:

- SAN has a higher throughput/lower latency than NFS in nearly all cases. The cases where you would actually consider using NFS above SAN are are when you need typical NFS functionnalities (eg.: very very fast data recovery, in minutes) or when you are not concerned with lower perfomances (for instance, you don't have a lot of VM's accessing your NFS simultaneously, or you have low I/Os).

- Web servers tend to do many many small I/O requests, which would make them the best candidates to become NFS clients (NFS tends to be better than SAN for small I/Os).

- From a functional point of view, do consider the single point of Failure you are going to create.

- Consider caching mechanism: I have no idea what kind of data you are accessing on disk, but the caching mechanism may be different (will be different) if you access the data locally ( from the point of view of the Guest operating System) or remotely (over an NFS or CIFS Link).

- The kind of performances you will get largely depends on the type of NFS server you have (Idon't see it in your post); you do want to read the specs, an don't try it with anythin else than an appliance, you'll be sorry.

In short: If you consider it for the performances, don't bother: you're good. If you want to do it for other reasons than performances (manageability, ...): measure the disk throughput you have, tranlate this to network traffic + overhead and compare with the infrastructure you have. Plan a test, see how it behaves, dont forget to load the webserver a bit ;-). If all goes well, migrate the rest of your farm.

Hope this is the answer you were looking for.

0 Kudos