发新话题
打印

问一个磁盘阵列内部FC-AL架构的性能问题

引用:
原帖由 畅所一言 于 2006-11-7 08:33 发表



好问题, 有点思考能力, 但需要继续想下去;在具体产品上是错的: 4800有8个后端,8个环;
简直就是JB扯啊你!不要在这里忽悠大众了,好不好。

TOP

引用:
原帖由 defans 于 2006-11-6 13:07 发表
大多数磁盘阵列都是通过两个控制器后端的端口,组成1/2/4条FC-AL环,来连接所有磁盘。
FC-AL仲裁环的协议规定,同一时刻只有两个设备能传送数据,也就是说,在一条FC-AL环里面,控制器的一个后端端口充当了发起 ...
个人愚见:
4GB后端,是指带宽可以达到4000MB/s,但是在这一秒内可以有多个物理磁盘和控制器的后端端口通讯.假如每个硬盘的IO是50MB/s,4000/50=80,也就是可以达到80 disks per loop.同样性能还是不错的。

真实的随机IO情况下,每个物理磁盘多数的时间是花在了寻道时间上,而不是在争抢FCAL环路的通讯带宽上面。

看一个客户的真实IO情况,平均写IO大小均不超过16k,但是disk seek distance就不小了,可见磁盘寻道的压力

注:图片1中持续64k read io是夜间的数据库备份.

[ 本帖最后由 nfdx 于 2006-11-7 23:49 编辑 ]

附件

图片2.png (180.33 KB)

2006-11-7 23:49

图片2.png

图片1.png (79.02 KB)

2006-11-7 23:45

图片1.png

TOP

查了一下,seagate10K磁盘的平均访问时间是7.9ms,大家可以自己算算

[ 本帖最后由 nfdx 于 2006-11-8 07:04 编辑 ]

TOP

引用:
原帖由 nfdx 于 2006-11-7 23:45 发表


假如每个硬盘的IO是50MB/s,4000/50=80,也就是可以达到80 disks per loop.同样性能还是不错的。
这么算不对把,老兄,要知道不管是传命令还是传数据,都必须一个时刻只有一个磁盘发出数据流,你这么算是假设同一时刻80个磁盘都在发数据流。

我还是坚持我的观点,即磁盘都是以缓存得速度向外发送数据,也就是缓存到磁盘fc接口之间得速度可以快到忽略其影响,这样轮询每个磁盘,从而就可以达到fc得速度,磁盘寻道得时间被磁盘缓存给适配了,所以对外显示为fc得速度。
敝人博客
敝人专著:《大话存储》购买:当当,互动,淘宝,卓越。

TOP

其实我们讨论的前提是不对的,本身而言,阵列都有自己的cache,不同的阵列的cache计算方法是关系到阵列性能的主要因素,如果单纯考虑磁盘的话,一个磁盘的iops也只有小小的400不到,这样计算的话,你几块磁盘怎么能到那么高 的iops了,所以,我们要看的是阵列计算缓存的方式,不过这种缓存的计算方案对于每一个厂家来讲是完全不公开的,

TOP

引用:
原帖由 myprotein 于 2006-11-8 08:26 发表



这么算不对把,老兄,要知道不管是传命令还是传数据,都必须一个时刻只有一个磁盘发出数据流,你这么算是假设同一时刻80个磁盘都在发数据流。

我还是坚持我的观点,即磁盘都是以缓存得速度向外发送数 ...
我同意你的观点,前提是磁盘的缓存被打开。但有多少磁盘阵列的磁盘缓存是被打开的呢?EMC的可能是。
趁年轻,好好拼几年。

TOP

引用:
原帖由 annifer 于 2006-11-8 09:40 发表
其实我们讨论的前提是不对的,本身而言,阵列都有自己的cache,不同的阵列的cache计算方法是关系到阵列性能的主要因素,如果单纯考虑磁盘的话,一个磁盘的iops也只有小小的400不到,这样计算的话,你几块磁盘怎 ...
这是另一个问题。磁盘阵列的CACHE一般在4G以下,真正用于数据读写缓存的可能也就1G左右。考虑一个服务器的情况,服务器本身就有不小的文件系统缓存,往往有好几个G。而文件系统缓存的算法通常与磁盘阵列CACHE的算法是类似的,不外乎预读和LRU,那么当服务器需要数据的时候,如果他在文件系统缓存里找到了,那就不需要再去磁盘阵列里读;如果他在文件系统缓存里找不到,会在磁盘阵列缓存里找到吗?
我认为,在服务器配置文件系统的情况下,磁盘阵列的CACHE发挥的作用是很小的,还是得到物理磁盘里去读。
而类似于高性能数据库要配置裸设备的时候,文件系统缓存不发挥作用,磁盘阵列CACHE更应该被关掉,以免影响性能。
趁年轻,好好拼几年。

TOP

de兄有些关点很偏颇。
数据库关闭fs得缓存,进行direct io,是为了获得性能,没错,但是还有一点是为了获得一致性。

但是你说连盘阵得cache都关闭,那就笑掉大牙了。盘阵靠得就是cache,没cache,还玩得什么。
敝人博客
敝人专著:《大话存储》购买:当当,互动,淘宝,卓越。

TOP

我想oracle为什么要选择直接io或者裸设备操作,应该跟oracle 的内部机制有关系,oracle内部最小的物理单位是块,如果是在os上面的话,本身os也是基于块的操作,这样oracle的性能势必会收到os的影响,还不如oracle自己来的直接,这也是d兄一直的思维而已,

还有,现在阵列的cache都很大很大了,小于2GB的可能也只有那些台湾的阵列了,所以,我觉得,不是fc-al限制了访问,关键是你按照什么样的方式去操作,而这些也成为了厂家互相攻击的热点,但是,对于用户,对于我们技术人员,我们应该从很实际的角度去看,其实技术是很难做到量化的,如果你能做到,我觉得你绝对只是拿厂家的参数在糊弄人。

TOP

单个数据库服务器不需要考虑所谓的一致性的问题吧?而对于RAC,一定需要用裸设备来保存数据文件吗?不是吧!
又牵涉到另一个问题了,打住。

大家似乎还没有正面回答我的问题,权威的版主们在哪呢?
趁年轻,好好拼几年。

TOP

发新话题