• 7

A PHP Error was encountered

Severity: Notice

Message: Undefined index: userid

Filename: views/question.php

Line Number: 191


File: /home/prodcxja/public_html/questions/application/views/question.php
Line: 191
Function: _error_handler

File: /home/prodcxja/public_html/questions/application/controllers/Questions.php
Line: 433
Function: view

File: /home/prodcxja/public_html/questions/index.php
Line: 315
Function: require_once

I have HP DL360 G6 with Smart Array P812i and Storage Works D2700 enclosure.

Enclosure has 25x148GB 15K SAS 6G drives in RAID10 mode. P812i has 512mb cache (50% read/50% write)

Crystal Disk mark shows ~500MB/s sequential read speed, other tests shows simmilar results. FileCopy speed ~300MB/s read and ~500MB/s write.

I expected better results in this HW configurations, lets say 1500-2000MB/s sqeuntial read speed.

Application which runs on that HW need lots of I/O performance (sequential read) and current performance do not cover price of HW. Can anyone tell me, is the current system performance normal, or can system be tuned for better performance and how


Your performance sounds about right. The P812 is a 6Gb card, and you're getting consistent 4Gb performance in a RAID10 configuration. Pretty strong, especially with only one enclosure and one pair of SAS channels in use. It shows both channels are actually being used, otherwise your performance would be closer to 375MB/s.

In order to get more performance, you're going to need more than one D2700 enclosure, and run them off of the second pair of ports on the P812 card. Set each enclosure up as a RAID0 LUN and then mirror them. That way, your mirroring I/O won't contend with each other and your throughput should increase significantly. You may not get much past 1GB/s though

The bigger question is what kind of I/O are you expecting this system to handle? You say "lots of I/O performance", but there are a couple of ways to define that. You seem to be focusing on simple throughput, but your choice of disks suggests latency is actually a major concern.

I'd suggest characterizing your storage performance across a variety of access sizes to get a better feel for its overall performance. If you know what kinds of disk transfers your high I/O application needs, focus especially on those ranges. Also pay attention to stripe size on the RAID sets and where your partition-breaks fall. This is more typically an SSD concern, but you seem to want max-possible performance so the extra percentage points you get for ensuring your filesystem blocks align with the RAID stripes is worth looking in to.

Simple file-copy is not enough to characterize the performance of a storage system. For that you need real benchmarks. I'm particularly fond of IOZone (link), but IOMeter (link) has better market penetration. Focus your testing on data-sizes you're likely to be working with and I/O transfer sizes you're likely to use. It can be very amazing how different storage performs when working with 4KB chunks and 32KB chunks.

  • 8
Reply Report
      • 1
    • But can you tell me, how I get throughput ~2000MB/s on the same disk array with SQL server 2005/2008 reading table. Table was big about 40GB os size. Cache was cleared, and SQL server activity monotor and windows resource monitor shows the same constant speed around 2000MB/s while readin that table. Query runs exact amount of time=size/speed. So how SQL server can read from disk array with better performance than 6G. In other answer i put link to HP whitepaper where are chart which shows that D2700 with P411i raid controller can reach ~2000MBps througput. whats wrong with one file reading?

Thank you for answer,

If I understand correctly, bottleneck is 6GB link between controller and enclosure? But P812i connected to D2700 using miniSas cable which supports 4 6GB channels, so aggregated link speed is up to 24GB, or not?

We connected second cable to D2700 enclosure (dual path), but seems it works only as redundant path, speed do not increased.

In HP document http://h20000.www2.hp.com/bc/docs/support/SupportManual/c00687518/c00687518.pdf on page 11 is chart where shown P411i and D2700 enclosure with 14x148gb 15K drives RAID0 has ~2000MB/s throughput in sequential read (from chart and provided data I do not understand what queue deph is shown in chart)

My application is DataWarehouse application, based on MS Analysis Services. Analysis services reads huge files (about 10-100Gb size). Database size is 1TB, and user runs query for long periods, disck subsystem is bottleneck. So for datawarehouse application I need fast sequential read. Sequential write and random read and write is not experienced by the system often.

We tested SSD disks, connected to internall array, and in RAID0 enviroment 4x120GB SSD cards shows ~800MB/s sequential read throughput.

But if I put SSD drives in D2700 enclosure (I need lots of space ant RAID10 for redundancy) I get the same ~500MB/s performance? maybe there is some configuration how to use One enclosure instead 4 enclosures? The rack space is essential at the moment.

  • 1
Reply Report

That's terrible performance for such a setup but you're using some sort of desktop benchmark tool alla PC Mark. These tools are utterly unable to test this sort of setup, use a real tool like IOZone or even ATTO Bench. If SQL Server reaches 2 GB/s, then so should the benchmark tool.

  • 1
Reply Report
      • 2
    • I used ATTO benchmark and CrystalDiskMark 3.0, results the same ~500MB/s. But PerformanceBenchmark test, where I dcan set number of threads for sequential reads, I can get the same results as SQL server (Up to 2000 MB/s) if i Ser number of threads lets say more than 20. SQL server reads data in parallel from the disks, if I set MAX DOP option to 1 (then SQL server reads data using only 1 thread) then performance is ~500MB/s. MS SSAS application (OLAP cubes) do not reads one partition in parrallel, so I need good performance for one thred. FileCopy also 1 thred operatinio in most cases.
    • That's really bizarre, usually this sort of thread-related performance is typical of random IOs, not sequential IOs. How did you partition/format/mount your array?

Trending Tags