DragonFly BSD
DragonFly users List (threaded) for 2010-04
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: sysbench threading performance problems

From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxx>
Date: Thu, 8 Apr 2010 04:31:26 -0700 (PDT)

:Pretty much defaullt:
:sysbench --num-threads=1 --test=fileio --file-test-mode=seqrd run
:Im not sure if the defaults are sane or insane. The only difference between 
:these 2 boxes is the OS and the DF box has 2Gb but the FBSD has 4Gb RAM.

   You're hitting a cache blowout situation then.  It works like this:
   lets say the dataset fits in cache, and access time from the cache is
   10uS.  100% of the data will be accessed in 10uS.  Say 100 operations
   are performed.  The total time taken will be 100 * 10 = 1000uS.

   Now lets say that the dataset is too large and 1% of it cannot be
   cached in the best case.  Access time for that 1% (if random I/O)
   will be, say, 6mS (6000uS).  Take 99 operations at 10uS and 1 operation
   at 6000uS.  The average per-operation access time will be
   (99*10 + 1*6000) / 100 = 69uS.

   In otherwords, blowing out the system caches by just 1% will reduce
   performance by a factor of 6.9x in this example.

   So any benchmark you do either has to be well within the bounds of
   the cache, or well outside the bounds of the cache, in order for the
   test to be reasonable.  If the benchmark is near the cache boundary
   you will get unusable results.

					Matthew Dillon 

[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]