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