SQL Stress Tool Benchmark

Our first benchmark was custom-written in .NET, using ADO.NET to connect to the database. The AnandTech Forums database, which is over 14GB in size at the time of the benchmark, was used as the source database. We'll dub this benchmark tool "SQL Stress Tool" for the purposes of discussing what it does. We have done some updates to the tool since we first used it; it now supports Oracle, and MySQL. We also adjusted the test time for this test and future tests to 20 minutes. The reason for this was to ensure that we used as much memory as possible for future planned 64 bit tests.


Click to enlarge.

SQL Stress allows us to specify the following: an XML based workload file for the test, how long the test should run, and how many threads it should use in which to load the database. The XML workload file contains queries that we want executed against the database, and some random ID generator queries that populate a memory resident array with ID's to be used in conjunction with our workload queries. The purpose of using random ID's is to keep the test as real-world as possible by selecting random data. This test should give us a lot of room for growth, as the workload can be whatever we want in future tests.

Example workload:


    Select1
    select count(iuserid) as usercount from ftdb_forumusers where iforumid = 1


    Select2
    select count(u.iuserid) as currusercount from ftdb_users u,ftdb_forumusers fu where fu.iforumid = 1 and u.iuserid = fu.iuserid and dtlastvisiteddate > '[q]qGetLastVisitDate[/q]'


Example Random ID Generator:


    qGetLastVisitDate
    select dtlastvisiteddate,newid() as ldate from ftdb_users where dtlastvisiteddate is not null order by ldate


The workload used for the test was based on every day use of the Forums, which are running FuseTalk. We took the most popular queries and put them in the workload. Functions, such as reading threads and messages, getting user information, inserting threads and messages, and reading private messages, were in the spotlight. Each reiteration of the test was run for 20 minutes, with the first being from a cold boot. SQL was restarted in-between each test that was run consecutively.

The importance of this test is that it is as real world as you can get; for us, the performance in this test directly influences what upgrade decisions we make for our own IT infrastructure.

Web Tests - FuseTalk .NET SQL Stress Results
Comments Locked

144 Comments

View All Comments

  • MDme - Friday, April 22, 2005 - link

    #92

    the difference between an opteron and an a64/fx is as follows:

    opteron - needs ECC memory cache is 1mb it is multiplier locked, COHERENT HT LINKS

    a64 - uses non-registered (non-ecc) memory (which is faster), cache 512k-1mb, multiplier locked

    a64fx - non-ecc memory, 1mb cache, unlocked.

    so opteron's are not a64/fx's but are quite similar. the main difference is the memory type and the COHERENT HT links

    therefore the X2 4400+ is really an opteron (dual core) running at 2.2 with dual 1mb cache but with the COHERENT HT link disabled that uses non-ECC ram.

    performance should therefore be almost identical between one DC opteron 2.2ghz and one A64 X2 4400+ (possibly the X2 will be faster 5%) due to the non-ECC memory which is faster.


  • tygrus - Friday, April 22, 2005 - link

    If you use a Opteron 875 then label it as such in all diagrams. You can make a note that the Athlon64 X2 4400+ will perform similarly to the Opteron 875. The differences in MB and RAM will affect results and so a direct re-labelling should not be made.
    Good database, multimedia, data analysis should make good use of multi-core/multi-CPU systems. When I mention data analysis I'm talking about software like SAS 9.1.3 and SAP. Even SAS is only threaded for a few tasks and is a big hassel to pipeline one step into another.
  • Some1ne - Thursday, April 21, 2005 - link

    Good article overall, although I question the validity of declaring that an Opteron 875 is roughly equivalent to an Athlon 64 4400+. I could be wrong, but surely there must be significant architectural differences between the server-class chip (top of the line server-class chip no less) and the desktop Athlon 64? If not then why the price premium for Opterons, and why don't manufacturers just find a way to kludge the Athlon64 to work in MP configurations as in theory if they are really equivalent when run at the same clock speed, it would be much more cost effective to use kludged Athlon 64's, and it would also let higher performance levels to be reached as the dual-core Athlon64's are slated to run at one clock increment higher than the fastest dual-core Opteron's? So anyways, is it *really* valid to treat an Opteron as being essentially equivalent to a similarly clocked Athlon64? As much as I love finally seeing Intel chips trounced pretty much across the board, it seems to me like the results could potentially be inaccurate given that an Opteron 875 was used and simply "labeled" as an Athlon64 4400+.
  • Cygni - Thursday, April 21, 2005 - link

    #89... seeing as how the Opty x75 and A64 X2 are based on functionally identical cores, thats not too likely at all. What DOES seem likely to me reading this article is that BIOS updates, and X2 support on 939 boards, is going to be a very interesting story to follow. It doesnt look like its too easy to get a solid AMD Dual Core BIOS if even Tyan is struggling, of all board mfts. May give a fiesty smaller board mft a chance to slam the bigboys and grab marketshare (such as ECS with the K7S5A).
  • Jason Clark - Thursday, April 21, 2005 - link

    saratoga, waah? There are similarities between C# and C++. While agree it's java'ish as well, it definitely has similarties to c++. One could say c# shaes similarities with c/c/c++.

    read away:

    http://www.mastercsharp.com/article.aspx?ArticleID...

    http://www.csharphelp.com/archives/archive138.html

    "C# is directly related to C and C++. This is not just an idea, this is real. As you recall C is a root for C++ and C++ is a superset of C. C and C++ shares several syntax, library and functionality." Quoted from above.

    L8r.




  • Jep4444 - Thursday, April 21, 2005 - link

    I've spoken to a few people from XS who have Engineering Samples of the Athlon X2s and all im hearing is that arent nearly as good as the dual core Opterons, they were apparently rushed
  • xtknight - Thursday, April 21, 2005 - link

    #86 - the r_smp cvar was disabled in quake3 in a patch, for a reason i don't know. i confirmed this by having quake3 crash on my p4 HT CPU with that setting enabled. as for doom3, i'm not sure. i'm guessing it's not implemented well enough yet...
  • Chuckles - Thursday, April 21, 2005 - link

    #83:
    "Real gamers" may use a single core, but I have been hankering for duallies since I tried an older dual G4 to my newer single G4. Even on the crappy MaxBus, I could browse the web, chat, do "real work" and game, without having everything go to pot when a bolus of e-mail came in.
    When you buy a dualie of any type, you buy the ability to do other stuff while you computer working on its latest task. Remember that when you get lagged while Outlook downloads your latest spam.

  • Googer - Thursday, April 21, 2005 - link

    Why wern't there any SMP Tests done on Quake 3 engine, after all it is said to be multithreaded.

    Also, Carmack said during the devlopment of DOOM3 that the engine was going to support multiple processors, did this ever happen? Does anyone know what the command might be for D3 console to enable SMP, like it's cousin? How much truth is there to this?
  • Nighteye2 - Thursday, April 21, 2005 - link

    Add to all the arguments that we can potentially see programs taking advantage of this quite soon...without the effort required to implement full multi-threading, game functions could be assigned to use the other processor if it's available. For example, AI can be done by one core, while the other core does the rest of running the game.

Log in

Don't have an account? Sign up now