Search code examples
sql-serverperformanceload-testingnas

Load Testing a Database attached to a Network storage device


We are looking at stress testing a NAS system for a Database, basically was want to see how much abuse it can take and how much it affects the Database performance. here is what we have planed

  • I have a test Tool I'm building that will kickoff a configurable number of threads that run a sql query (also configurable, and thinking about having it able to run multiple quires)
  • using the SQLIOSim utility to simulate SQL Server activity
  • Copying very large amounts of Data onto and off of the device (at the same time)

Can anyone think of anything else we could do (that's repeatable) for placing a load on the system.


Solution

  • You'll also want to simulate network conditions between your database and the NAS. As more traffic hits a network, its realizable utilization drops, and this will seriously affect your performance.

    By way of example. If you have 50 machines on a 1Gbps network and the network is approaching 100% utilization, packet collisions and retries at the data link layer mean that your effective total transfer is a fraction of the network potential that would be realized if you had only two communicators on the net. Worse yet, as retries increase, so does effective load. You get an ugly feedback loop in the face of peak demand.

    There are a number of network traffic simulators and generators out there, though I'm afraid I've never used any of them.