I've heard and read that for various reasons, NAS is slower than SANs for applications that use an SQL DB for their underlying structure.
If you are using SQL with NAS I'm told, the I/O needs to be translated to the TCP/IP stack, which creates enormous latency since every packet has to be translated. Add this latency to the additional latency from reordering the packets and performance can suffer dramatically, just because the wrong connectivity was used.
Everything else being equal, what is the real truth?
That is the truth because traversing the IP protocol stack and the transmission of packets with the interrupt from every packet transferred and the segmentation and reassembly of the data is currently all done in the processor using many thousands of instructions. The issue today is what are your requirements. The performance may meet your requirement and that would be a great solution. If not, you probably want to stick with block I/O to a device that is either direct attached or attached over a SAN.