来源: http://www.cmdln.org/2010/04/22/analyzing-io-performance-in-linux/
...
" 如下硬盘:
===============================================================================
===============================================================================
What RAID level should I use? You know what IOPS are, how to calculate them and determined what kind of drives to use, the next logical question is commonly RAID 5 vs RAID 10. There is difference in reliability, especially as the number of drives in your raid-set increases but that is outside the scope of this post.
[pope译] 那我该用什么级别的RAID呢?你知道什么是IOPS,如何计算它们 以及 决定使用什么类型的设备,下一个分析的是RAID5 或 RAID 10 的选择。这真的很不一样,特别是当你的raid-设置数量的增长超出这个对应位置要求的范围时。[popexizhi:好吧! 自己翻译的也感觉有点儿晕,再想想 increases [?]]
As you can see in the table above, writes are where you take your performance hit. Now that the penalty or RAID factor is known for different raid levels we can get a good estimate of the theoretical maximum IOPS for aRAID set (excluding caching of course). To do this you take the product of the number of disks and IOPS per disk divided by the sum of the %read workload and the product of the raid factor (see write operations column) and %write workload.
...
Great so now that I know what IOPS are how do I calculate them? IOPS are a function of rotational speed (aka spindle speed), latency and seek time. The equation is pretty simple, 1/(seek + latency) = IOPS. Scott Lowe has a good example on his techreplublic.com blog.
“Sample drive:[pope译] 很好那IOPS 如何计算?IOPS是 rotational speed (转速 :主轴旋转速度),latency(延时)和 seek time (查找时间) 。这个公式很简单 1/(seek + latency) = IOPS. Scott Lowe 在他的techreplublic.com blog. 上有一个很不错的例子:
- Model: Western Digital VelociRaptor 2.5″ SATA hard drive
- Rotational speed: 10,000 RPM
- Average latency: 3 ms (0.003 seconds)
- Average seek time: 4.2 ®/4.7 (w) = 4.45 ms (0.0045 seconds)
Calculated IOPS for this disk: 1/(0.003 + 0.0045) = about 133 IOPS
" 如下硬盘:
- 型号: Western Digital VelociRaptor 2.5″ SATA hard drive
- Rotational speed(转速):10,000 RPM
- Average latency(平均延时):3 ms (0.003 seconds)
- Average seek time(平均查询时间):4.2 ®/4.7 (w) = 4.45 ms (0.0045 seconds)
- 计算此硬盘的IOPS:1/(0.003 + 0.0045) = about 133 IOPS
===============================================================================
It’s great to know how to calculate a disks IOPS but for the most part you can get by with commonly accepted averages. Of course sources vary but from what I have seen.
“
Rotational Speed (rpm) IOPS 5400 50–80 7200 75–100 10k 125–150 15k 175–210
Should I use SATA, SAS or FC? That’s a loaded question. As with most things the answer is “depends”. I don’t want to get into the SATA vs SAS debate you can do your own research and make your own decisions based on your needs, but I will point out a few things.
- SATA only gets up to 10k (at the time of this writing)
- SATA is only 1/2 duplex (From Tomak in comments)
- Differences in reliability (MTBF, BER) interesting article on Real Life Raid Reliability
- See differences in Native Command Queuing (NCQ) and Command Tag Queuing (CTQ)
These factors are key considerations when choosing what kind of drives to use.
[pope译]这样很好计算磁盘IOPS ,大部分你可以得到的数值是可接受的平均值。但根据我看到的源的不同而改变。
Rotational Speed (rpm) | IOPS |
5400 | 50–80 |
7200 | 75–100 |
10k | 125–150 |
15k | 175–210 |
我可以使用SATA,SAS 或者FC 吗?(【popexizhi】sata,sas,fc 参见:http://blog.csdn.net/tianlesoftware/article/details/6009110)这个是加载问题.多数答案是"依赖"。我不想在 SATA 或者SAS 中讨论你的使用和满足你自己需求的决策,但是我给出一些内容:
- SATA 只能用到 10k (只个是写速度)
- SATA 只是半双工(1/2 duplex) (参见Tomak 的意见)
- 不同之处是真实存在的(MTBF,BER) 感兴趣的可以参考 真实情况中Raid的可靠性 [popexizhi:很可惜,测试了一下,这个地址的文章现在找不到]
- 查看 Native Command Queuing (NCQ) and Command Tag Queuing (CTQ) 的不同
选择何种类型的设备成为注意考虑的因素。
What RAID level should I use? You know what IOPS are, how to calculate them and determined what kind of drives to use, the next logical question is commonly RAID 5 vs RAID 10. There is difference in reliability, especially as the number of drives in your raid-set increases but that is outside the scope of this post.
[pope译] 那我该用什么级别的RAID呢?你知道什么是IOPS,如何计算它们 以及 决定使用什么类型的设备,下一个分析的是RAID5 或 RAID 10 的选择。这真的很不一样,特别是当你的raid-设置数量的增长超出这个对应位置要求的范围时。[popexizhi:好吧! 自己翻译的也感觉有点儿晕,再想想 increases [?]]
Raid Level | Write Operations | Read Operations | Notes |
0 | 1 | 1 | Write/Read: high throughput, low CPU utilization, no redundancy [pope译]Write/Read:高速输出,低水平CPU占用,没有冗余 |
1 | 2 | 1 | Write: only as fast as single driveRead: Two read schemes available. Read data from both drives, or data from the drive that returns it first. One is higher throughput the other is faster seek times. [pope译]Write:与单个设备一样快 driveRead:两种读取方法,从两个设备同时读取,或读取返回数据最快的那个。其中一个的定位输出时间比另一个快。 |
5 | 4 | 1 | Write: Read-Modify-Write requires two reads and two writes per write request. Lower throughput higher CPU if the HBA doesn’t have a dedicated IOprocessor. Read: High throughput low CPU utilization normally, in a failed state performance falls dramatically due to parity calculation and any rebuild operations that are going on. [pope译]Write: Read-Modify-Write 每次写请求使用两个读取和写入请求。如果HBA 没有dedicated IO处理,就会有较低的输出 较高的CPU使用。[?]这里HBA的dedicated IOprocessor 如何翻译有问题,再想想吧!Read: 正常是低CPU使用,高输出。但在错误的预估状态时, 性能急剧下降同时引起大量计算和重新进行下面的操作。[popexizhi:这里的a failed state 是磁盘缓存对预读内容缓存的估算错误吗?] |
6 | 5 | 1 | Write: Read-Modify-Write requires three reads and three writes per write request. Do not use a software implementation if it is available Read: High throughput low CPU utilization normally, in a failed state performance falls dramatically due to parity calculation and any rebuild operations that are going on. [pope译]Write: Read-Modify-Write 每个写操作请求使用三个读取和三个写入操作。如果可行不使用软件实现。 Read:正常时低CPU使用,高输出。但在错误的预估状态时, 性能急剧下降同时引起大量计算和重新进行下面的操作。 |
[pope译] 正如你在上面表中看到的,写操作决定着你的操作性能。现在通过RAID设置,我们可以很好的预估理论上每个RAID设置的最大的IOPS (当然不包括缓存)[?]Now that the penalty or RAID factor is known for different raid levels we can get a good estimate of the theoretical maximum IOPS for aRAID set (excluding caching of course). 这句翻译的有问题,再想想!
没有评论:
发表评论