[DRBD-user] results of performance test on Supermicro servers

Werner Fischer werner.fischer at fh-hagenberg.at
Tue Mar 21 16:31:09 CET 2006

Note: "permalinks" may not be as permanent as we would like,
direct links of old sources may well be a few messages off.


Hi all,

I did some performance tests for a talk at the Webhostingday next week
and want to share my experiences.

I used the following setup for the tests (two identical machines):
         Server: Thomas-Krenn Supermicro SMCI-5015 (dual power supply)
                 Board: PDSMP-i
                 BIOS Date: 12/14/05, BIOS Rev 1.1
            CPU: Intel Pentium D 840 3.2 GHz (Dual-Core)
            RAM: 2048 MB (DDR2-533 ECC)
Raid Controller: 3Ware Escalade 9500S-4LP (SATA)
                 BIOS: BE9X 2.03.01.051
                 Firmware: FE9X 2.06.00.009
     Hard Disks: 2 Seagate Barracuda 7200.8 250GByte (Model:ST3250823AS)
    Raid Config: RAID1
             OS: CentOS 4.2
         Kernel: Virtuozzo Kernel 2.6.8-022stab067.1-smp (is OpenVZ 
                 Kernel plus some special modules, OpenVZ kernel is 
                 available from http://openvz.org/download/kernel/)
Details about the server can be found at:
http://www.thomas-krenn.com/shopx/index.php/action.view/entity.detail_products/category.1/key.1465
http://www.supermicro.com/products/motherboard/DualCore/E7230/PDSMP-i.cfm

Virtuozzo/OpenVZ is a OS-virtualization technology. The host and all
virtual machines (so-called VPSs = Virtual Private Servers) run all on
the same kernel. 

I just did sequential writes using dd, writing a 200 Gigabyte file
(about 187 Gibibyte). "/vz" on the host system is a seperate filesystem
for the VPSs (203 GiB in size). "/vz" on the host is mirrored by DRBD.

I did four tests:
  Test 1: host system, without DRBD (writing to /vz on the host)
  Test 2: VPS, without DRBD (writing to /root in the VPS)
  Test 3: host system, with DRBD (writing to /vz on the host)
  Test 4: VPS, with DRBD (writing to /root in the VPS)


     |                 | duration  |        |
     |                 | in sec.   |        |
Test | Description     | incl.sync | MB/sec | slower than Test 1 (in %)
-----+-----------------+-----------+--------+---------------------------
   1 | host, w/o DRBD  |  4720.096 |  42.37 |   0.000 %
   2 | VPS, w/o DRBD   |  5015.390 |  39.88 |   5.888 %
   3 | host, with DRBD |  5187.163 |  38.56 |   9.004 %
   4 | VPS, with DRBD  |  5481.256 |  36.49 |  13.887 %

That means:
-> Writing within a VPS was about 5-6% slower than on the host system 
   itself (when comparing test 2 to test 1 or test 4 to test 3).
-> Writing with using DRBD was about 8-9% slower than without DRBD
   (when comparing test 3 to test 1 or test 4 to test 2).

For writing the 200 GB file, I used the following script "writeperf.sh":
----------------------------------------------------------------
#!/bin/bash
echo "--- Doing sync"
time sync
echo "--- Doing dd test"
time dd if=/dev/zero of=/vz/file00-test bs=1000000 count=200000
echo "--- Doing sync"
time sync
----------------------------------------------------------------
(When using the script within the VPS, I changed the of parameter of dd
to "of=/root/file00-test")

I executed the script with "nohup ./writeperf.sh &". The nohup.out-files
of the four tests are attached.

just jyi: When doing the tests, I started with test 3, then doing test
4. Then I switched off the second node, stopped heartbeat, mounted the
underlying disk device directly to /vz, and started then virtuozzo to do
test 1 and test 2. YOU MUST NOT DO SUCH A THING IN A PRODUCTION
ENVIRONMENT. Never mount a underlying disk device directly - only when
you really know what you are doing.

greetings,
Werner
-------------- next part --------------
--- Doing sync

real	0m0.007s
user	0m0.001s
sys	0m0.002s
--- Doing dd test
200000+0 records in
200000+0 records out

real	78m14.761s
user	0m0.424s
sys	13m52.217s
--- Doing sync

real	0m25.335s
user	0m0.001s
sys	0m0.706s
-------------- next part --------------
--- Doing sync

real	0m0.009s
user	0m0.000s
sys	0m0.001s
--- Doing dd test
200000+0 records in
200000+0 records out

real	83m17.656s
user	0m0.396s
sys	13m52.728s
--- Doing sync

real	0m17.734s
user	0m0.000s
sys	0m0.746s
-------------- next part --------------
--- Doing sync

real	0m0.015s
user	0m0.001s
sys	0m0.000s
--- Doing dd test
200000+0 records in
200000+0 records out

real	86m19.444s
user	0m0.447s
sys	14m28.719s
--- Doing sync

real	0m7.719s
user	0m0.000s
sys	0m0.664s
-------------- next part --------------
--- Doing sync

real	0m0.021s
user	0m0.000s
sys	0m0.001s
--- Doing dd test
200000+0 records in
200000+0 records out

real	91m15.302s
user	0m0.506s
sys	15m6.647s
--- Doing sync

real	0m5.954s
user	0m0.000s
sys	0m0.630s


More information about the drbd-user mailing list