phil2415

Distinguished
Feb 26, 2009
3
0
18,510
I'm asking this question in 'Networking' because ultimately I think those with networking expertise will have the best handle on the answer.

We have a business-critical application which runs with a MSSQL backend and generates a lot of documents (letters, etc., in Word and PDF format). At present the documents are just stored in a share on the same server as the database, with the filenames stored in a table and the documents called directly from the application on client computers when requested (I didn't design this, by the way!).

A little while ago, due to storage space issues on the server, I decided to move the documents off the server and onto a dedicated NAS (Netgear ReadyNAS 2100) with lots of capacity rather than just beef up the server's disk space. My reasoning was that the network load would be spread between the server and the NAS, instead of the server's NIC handling both database and document traffic. In practice, the performance of opening documents actually decreased dramatically for those departments which I migrated to the NAS, to the point where I halted the migration. Sometimes documents on the NAS open perfectly quickly, and a user will have no speed issues for several minutes or hours. Then, suddenly, one file will take literally a minute or more to open. These are only small Word documents and I'm only talking about a few dozen users who have been migrated.

ANYWAY, what I'm getting to is that it's time to replace all of this hardware anyway. I'm about to purchase a very powerful, fast server to replace the DB server. Reviews suggest that its I/O performance is exceptional. But I was also going to purchase a new, high-performance NAS and stick with the topology I've already described. My theory is that the speed issues are being caused by some deep-level communication problem between the Netgear ReadyNAS and the clients, which neither they nor I have been able to get to the bottom of. It still seems like sound reasoning to me that separating database and documents will result in a spread network load and increased performance. Am I wrong?

I don't know the technicalities involved in opening a document in a network share. Is it perhaps the case that the process of establishing a connection to the share and opening a file, at least the first time in a session, is much slower than opening the same file stored on the database server, to which a 'connection' is already established due to the user having been using the database?

Any discussion or advice on this topic would be greatly appreciated. If stuffing the database server full of disks and keeping the files on there is going to be the fastest solution, I'll save a whole lot of money!

Sorry for the wall of text - thanks!
 
If you are not using gigabit ethernet on all nodes, local storage is faster. Also you need to check your network load. If there are no issues with slowdowns (say lots of replication or broadcast traffic), opening a file from a network will be about as fast as from a local drive.