[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-users] Aoe or iScsi???
Hi! > I run bonnie++ like this: > bonnie++ -d /tmp/ -s 1000 -r 500 -n 1 -x 1 -u root | bon_csv2txt > test.txt just checking: your storage server has 500MB RAM? (-r) > This is the result: > > Version 1.03c ------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 > bacula-selbet 1000M 53004 98 189796 37 97783 17 62844 99 1505552 99 +++++ [SNIP] > It's tell something? Ja, your storage system can handle ~190MB/s sequential write. This means you will not get full peak performance to your clients as one gigabit interface is limited with 120MB/s. Your write speed (1,15GB/s) shows that you misspecified RAM size on your bonnie commandline because this is _WAY_ beyond what your disks are able to handle. (Good SATA disks will give you above 100MB/s read speed. Reading at that speed hints at 15 or more disks; the limit there is definitely bus speed and administrative overhead.) What you are really interested in (or should be) are IOPS (Input Output Operations per Second): A typical server or workstation no matter if virtual or 'real' does a mixture between sequential and random I/O. Every server you run has its own partition on your storage backend. Just to get a better idea of what I am talking about consider the following: Every virtual machine does a sequential file read. What does that mean on the storage backend? -- There are 13 files being read at 13 different positions at the same time. This is a (close to) random I/O workload. Disk heads are flying around to satisfy all requests. No way you will be close to any high MB/s value: your disks are doing random I/O. Measuring sequential peak performances on network storage is pointless for this very reason. (People on this list were suggesting to do that just to verify your disk subsystem works fine.) To get an idea of what performance you might expect, you can do the following: 1. calculate IOPS that you might expect. You may use one of the online calculators that are available[1]. This begins with calculating IOPS per disk where you might need to consult your vendor's datasheet or lookup the disks here[2]. You'll immediately notice that SAS disks offer twice or more IOPS than SATA drives. When calculating IOPS you need to specify a workload as well. This means specify the read/write ratio. Average fileservers have around 80% read and 20% write. Read and write operations differ in the latency they have: The more latency a request has the fewer requests can be handled per second. (This is also the reason why local storage will always bring more IOPS than network storage: network transport simply adds to latency.) 2. measure the IOPS you get. I personally prefer using FIO[3] which is readily available in Debian. FIO is fully configurable; there are however some reasonable examples which you might use: /usr/share/doc/fio/examples/iometer-file-access-server mimiks a typical file server workload with 80% read. The IOPS calculator above[1] is only able to calculate IOPS for a fixed block size where this workload mixes blocksizes from 512byte to 64k. The result in IOPS cannot be directly compared. If you want to do so, you need to specify 4k blocks only in the config. WARNING: Do not use IOMeter itself on linux: it provides incorrect results as it cannot use aio on linux and therefor is unable to queue requests. Using the stock 'iometer-file-access-server' profile you should get the something like: 3 disks/RAID5: 200-250 IOPS 4 disks/RAID5: 270-320 IOPS 5 disks/RAID5: 340-390 IOPS and so on (for SATA disks with AoE). 3. find the bottleneck in case you're not getting what you can expect. Measure IOPS on the storage server with 'iostat 1' ("tps" roughly corresponds to IOPS). ...ok, writing up how to debug a storage backend will take another hour... ask me if necessary. -- Adi [1] http://www.wmarow.com/strcalc/ [2] http://www.wmarow.com/strdir/hdd/ [3] http://freshmeat.net/projects/fio PS: Maybe there should be a wiki page about how to plan and implement a storage backend for a xen server? -- then others can add their knowledge more easily. ...and the question pops up every once in a while. _______________________________________________ Xen-users mailing list Xen-users@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-users
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |