[DRBD-user] Sun Fire x4240 Benchmarks (was: Re: Ideas for splitting data between A and C protocol devices - safe or not?)

Casey Allen Shobe cshobe at bepress.com
Thu Aug 21 21:11:23 CEST 2008

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


On Aug 16, 2008, at 7:05 AM, Lars Ellenberg wrote:
>> I will post some benchmarks shortly.
>
> thanks, that is appreciated.

Sorry for the loooooong delay in getting back on this - I was trying  
to get some useful numbers out of pgbench, but it produces terrible  
inconsistent, slow results, even when using local disk on the  
underlying DRBD partitions.  Watching top on the server pgbench is  
hitting makes me think that it cannot fork fast enough to keep up with  
the server or something.  Doesn't explain how we managed to get really  
high numbers on the old server, but meh, bonnie looks good even with - 
b so I think we're probably not going to introduce problems upgrading  
to this cluster from current production.

I also determined that due to the shared BBWC on the raid card for  
both partitions, having a separate WAL partition did not offer any  
noticeable boost as it does on standalone scsi disks, and so due to  
that and Lars' concerns about separate devices, just made a single 12- 
disk RAID10 instead.  We have discussed adding a battery-backed  
ramdisk (assuming something better than the gigabyte i-ram exists) for  
the WAL later.  The hardware is two Sun Fire x4240's with 10,000rpm  
SAS disks, using an 802.3d aggregate bond crossover interface with two  
gigabit interfaces (for 2Gb/s optimal throughput, which degrades  
gracefully to 1Gb/s in the case of a network cable failure).

Here are the bonnie numbers:

Without forced sync() calls:

/usr/sbin/bonnie++ -d <partition> -r $(echo "$(free | head -n 2 | tail  
-n 1 | \
     cut -d ' ' -f 2- | sed -e 's/^ *//g' | cut -d ' ' -f 1 | bc) /  
1024" | bc) \
     -n 0 -m $(uname -n) -u postgres

Key:
* saturn == old database server (?) from before my time.
* pan == database server as of 2008, 2x 15kRPM disk RAID1, ext3.
* odin == JFS filesystem (10-disk RAID10) with noatime.
* odin-10 == JFS mount on top of DRBD with disconnected secondary,  
using DRBD protocol C
* odin-10.2 == JFS mount on top of DRBD with connected secondary,  
using DRBD protocol C
* odin-12 == JFS filesystem (12-disk RAID12) with noatime, atop DRBD  
with connected secondary, protocol C

Version  1.03       -------Sequential Output------- --Sequential  
Input-- --Random-
                     -Per Chr-  --Block-- --Rewrite- -Per Chr- --- 
Block-- --Seeks--
Machine        Size K/sec %CP  K/sec %CP  K/sec %CP K/sec %CP K/sec   
%CP  /sec %CP
saturn          20G 46854  93  70368  22  14434   3 21737  37  24371    
2 451.5   0
pan             32G 35401  54  42188  10  22514   3 75288  96  80252    
5 586.2   0
odin            63G 46741  97 300976  33 114606  15 49382  93 357564   
22 745.2   0
odin-10         63G 47479  98 191399  19  96390  13 47969  91 336319   
22 735.1   1
odin-10.2       63G 49968  98  87476   8  83651  11 48463  89 336903   
22 752.6   1
odin-12         63G 49785  97  95868   8  86497  10 48247  91 412743   
26 735.9   1


With forced sync() calls (better simulates requirements of PostgreSQL  
data partition, slower but safer):

/usr/sbin/bonnie++ -d <partition> -r $(echo "$(free | head -n 2 | tail  
-n 1 | \
     cut -d ' ' -f 2- | sed -e 's/^ *//g' | cut -d ' ' -f 1 | bc) /  
1024" | bc) \
     -n 0 -m $(uname -n) -u postgres -b

Key:
* saturn == old database server (?) from before my time.
* pan == database server as of 2008, 2x 15kRPM disk RAID1, ext3.
* odin == JFS filesystem (10-disk RAID10) with noatime.
* odin-10 == JFS mount on top of DRBD with disconnected secondary,  
using DRBD protocol C
* odin-10.2 == JFS mount on top of DRBD with connected secondary,  
using DRBD protocol C
* odin-12 == JFS filesystem (12-disk RAID12) with noatime, atop DRBD  
with connected secondary, protocol C

Version  1.03       -------Sequential Output------- --Sequential  
Input-- --Random-
                     -Per Chr-  --Block-- --Rewrite- -Per Chr- --- 
Block-- --Seeks--
Machine        Size K/sec %CP  K/sec %CP  K/sec %CP K/sec %CP K/sec   
%CP  /sec %CP
saturn          20G 48322  95  46951  16  16298   3 21725  37  24515    
2 322.4   0
pan             32G 32391  49  38968  10  23210   3 75932  97  80357    
5 533.2   0
odin            63G 46908  96 275524  31 112355  14 49208  94 340345   
20 658.2   1
odin-10         63G 48021  99 182869  18  99332  13 48851  90 333461   
21 706.2   1
odin-10.2       63G 48803  96  82507   8  85661  11 48212  89 325545   
21 608.4   1
odin-12         63G 50033  98  86856   8  87287  11 48692  92 407978   
25 789.1   1

Cheers,
-- 
Casey Allen Shobe
Database Architect, The Berkeley Electronic Press
cshobe at bepress.com (email/jabber/aim/msn)
http://www.bepress.com | +1 (510) 665-1200 x163



More information about the drbd-user mailing list