"Order Entry" Stress Test: Measuring Enterprise Class Performance

One complaint we've historically received about 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 it's database interaction so that you can grasp the profile of this application and better understand the results of the tests (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 an status to "Shipped"
sp_AssignOrderToLoadingDock - inserts a record to indicate which Loading Dock the Order should be shipped from
sp_AddLoadingDock - inserts a new record to define an available Loading Dock
sp_GetOrderAndLineItems - selects all information related to an Order and it's 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 to would best services the benchmark and we decided 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 used 20 threads, 10 for reading and 10 for inserting.

So as to ensure that IO was not the bottleneck, each test was started with an empty database and expanded to ensure that autogrow 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 where 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 was 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 test the database was deleted, the empty one was copied again the clean array. SQL Server was not restarted.

AnandTech Forums Database Test Results Stored Procedures per Second Analysis
Comments Locked

58 Comments

View All Comments

  • skiboysteve - Tuesday, March 2, 2004 - link

    whats the deal with the slow ddr333 memory
  • Jason Clark - Tuesday, March 2, 2004 - link

    Cygni, if you have a peek at the 2 way web test we took shots of the monsters in that article..

    Cheers
  • SDA - Tuesday, March 2, 2004 - link

    Ouch. At first it doesn't look like Intel is pwnd (sure, they lose in the four-way benchmarks, but as Opteron vs. Xeon benches go this one's still pretty close)... then the cost of the Xeon is factored in, especially relative to the Opteron 24x (which is even cheaper and equally suitable for 2-way systems).

    Things might change with the FSB800 Xeons, though. The Opteron will still offer a lot more bang for the buck, but the Xeon might offer more bang then. It all depends on how well the 90nm Opterons scale, I guess.
  • Cygni - Tuesday, March 2, 2004 - link

    Very cool. So if your going 2 way for a DB, Xeon's look pretty good. I wouldnt have expected that.

    And can you guys snap some pics of the 4 way Xeon and Opteron boxes for us techno geeks that need a new wallpaper? ;)
  • Jason Clark - Tuesday, March 2, 2004 - link

    Numa was turned on.... 64Bit is just waiting on software. Although 64bit is a reality hardware wise, software still has a loooong way to go yet. We may do some 64 Bit .NET stuff at some point in the future as well.
  • SUOrangeman - Tuesday, March 2, 2004 - link

    Looks like DDR400 ECC+Reg is readily available to me as well ...

    http://www.crucial.com/store/listmodule.asp?module...

    -SUO
  • Boonesmi - Tuesday, March 2, 2004 - link

    christophergorge - ddr400 reg/ecc (ie pc3200) is very much available, i just put 2gb in a cad/cam opteron workstation a couple weeks ago
  • dweigert - Tuesday, March 2, 2004 - link

    I can't wait to see what happens when they do these again with NUMA turned on and a 64 bit OS. GamePC just released a set of astounding memory benchmarks,

    http://www.gamepc.com/labs/view_content.asp?id=opt...

    This ought to be some food for thought.
  • menads - Tuesday, March 2, 2004 - link

    To the people that said there is no DDR400 w ECC -that is pure BS! ECC/Reg DDR400 IS available for more than an year and the latest official Opteron SPEC submission of AMD is done with such memory!
  • ViRGE - Tuesday, March 2, 2004 - link

    Just a quick question for whoever knows the answer: what's the die size on the 4MB Xeon?

Log in

Don't have an account? Sign up now