"Order Entry" Stress Test: Measuring Enterprise Class Performance

One complaint that we've historically received regarding our Forums database test was that it isn't strenuous enough for some of the Enterprise customers to make a good decision based on the results.

In our infinite desire to please everyone, we worked very closely with a company that could provide us with a truly Enterprise Class SQL stress application. We cannot reveal the identity of the Corporation that provided us with the application because of non-disclosure agreements in place. As a result, we will not go into specifics of the application, but rather provide an overview of its database interaction so that you can grasp the profile of this application, and understand the results of the tests better (and how they relate to your database environment).

We will use an Order Entry system as an analogy for how this test interacts with the database. All interaction with the database is via stored procedures. The main stored procedures used during the test are:

sp_AddOrder - inserts an Order
sp_AddLineItem - inserts a Line Item for an Order
sp_UpdateOrderShippingStatus - updates a status to "Shipped"
sp_AssignOrderToLoadingDock - inserts a record to indicate from which Loading Dock the Order should be shipped
sp_AddLoadingDock - inserts a new record to define an available Loading Dock
sp_GetOrderAndLineItems - selects all information related to an Order and its Line Items

The above is only intended as an overview of the stored procedure functionality; obviously, the stored procedures perform other validation, and audit operations.

Each Order had a random number of Line Items, ranging from one to three. Also randomized was the Line Items chosen for an order, from a pool of approximately 1500 line items.

Each test was run for 10 minutes and was repeated three times. The average between the three tests was used. The number of Reads to Writes was maintained at 10 reads for every write. We debated for a long while about which ratio of reads to writes would best serve the benchmark, and we decided that there was no correct answer. So, we went with 10.

The application was developed using C#, and all database connectivity was accomplished using ADO.NET and 20 threads - 10 for reading and 10 for inserting.

So, to ensure that IO was not the bottleneck, each test was started with an empty database and expanded to ensure that auto-grow activity did not occur during the test. Additionally, a gigabit switch was used between the client and the server. During the execution of the tests, there were no applications running on the server or monitoring software. Task Manager, Profiler, and Performance Monitor were used when establishing the baseline for the test, but never during execution of the tests.

At the beginning of each platform, both the server and client workstation were rebooted to ensure a clean and consistent environment. The database was always copied to the 8-disk RAID 0 array with no other files present to ensure that file placement and fragmentation was consistent between runs. In between each of the three tests, the database was deleted, and the empty one was copied again to the clean array. SQL Server was not restarted.


SQL Stress Results "Order Entry" Stress Test results
Comments Locked

97 Comments

View All Comments

  • Carfax - Tuesday, February 15, 2005 - link

    Sheesh, the workstation benches still aren't up? :(

    More people are interested in the workstation benchmarks than database I'd wager because it's a better showcase for the new enhancements.

    How long will we have to wait?
  • Jason Clark - Tuesday, February 15, 2005 - link

    snorre, proper? It is proper in terms of the Windows world since 64 bit DOES NOT EXIST :). If you want to see 64bit linux coverage as said in these comments and in the article view the linux section or Johans work in the IT section.

  • snorre - Tuesday, February 15, 2005 - link

    I'd like to see a proper Xeon DP 2M vs Opteron 252 review, since MS SQL 32-bit benchmarks are only of limited interest. When will we see this?

    Are there any proper Opteron 252 reviews out there?
  • semo - Tuesday, February 15, 2005 - link

    #70, you said it. it's the cost. cost is my killer.

    sure ddr2 costs more than ddr but i hate upgrading my whole setup just to get new momory. right now i'm running a pc133 setup and cannot upgrade even if i wanted to (and believe me... i want to). i know that low latency is what the hammer architecture wants but doesn't regitered memory increase latencies... and what is registered memory anyway?
  • Jason Clark - Tuesday, February 15, 2005 - link

    There was a few questions about single or dual in here, I had answered that but to clarify all testing was DUAL processor.
  • Jason Clark - Tuesday, February 15, 2005 - link

    One thing to remember with the Tyan bios is it is pre-production. We'll post info as soon as we have it.
  • Jason Clark - Tuesday, February 15, 2005 - link

    We're working with Tyan on the 1GHz HT issue, if we get a new bios that supports it we will re-test and post our results..

    Cheers.
  • Viditor - Tuesday, February 15, 2005 - link

    "i'm interested in number cruncing and games and rendering, i.e. a workstation not a server"

    Why would you not want registered memory then? Contrary to popular opinion, it does not affect the speed...only the cost.
    For gaming, dual systems are no help at all (unless you're running a game server) with todays software. For professional rendering, you absolutely WANT registered memory!
    DDR2 would actually be no speed increase at all for AMD64 systems, and none yet for Intel systems. Not until the memory speeds get much higher will we see any benefit from DDR2...
    XDR is also not a good match for the AMD chips because of the high latency. AMD chips are NOT bandwidth constrained but ARE latency sensitive (meaning that increasing memory speeds does very little, while increasing latency makes them much worse).

    The only real issue of registered memory is the cost, and if that is the problem I would suggest a high end A64 939 SLI board (e.g. Asus A8N-SLI), and upgrade to dual core in September or so...
  • semo - Tuesday, February 15, 2005 - link

    i'm interested in number cruncing and games and rendering, i.e. a workstation not a server. unforutnately the integrated memory controller of the amd hammers are both their strengths and weaknesses.

    it's only upto amd whether we can have unregistered, ddr2 or maybe even xdr memory i guess
  • Viditor - Tuesday, February 15, 2005 - link

    "is it possible to have a dual proc setup without using registered memory?"

    Technically yes...but registered memory is what's preferred for servers because it is more securely accurate. All Opterons use registered memory...
    Platforms for the Athlon MP use non-registered memory, and a very few of the Xeon platforms do as well...

Log in

Don't have an account? Sign up now