Chinaunix

标题: 求助:FASTt900 的带宽问题。 [打印本页]

作者: brian821003    时间: 2006-03-18 18:12
标题: 求助:FASTt900 的带宽问题。
请问各位高人。。FASTt900 带宽的理论值和实际最大值能到多少啊?
1. 如果是满配8个MINIHUB,感觉理论值应该是8G带宽,就算上损耗,传输速度最少也要有800MB/s吧?不知道这么说对不对。
2. 现在我在MDC上用 Sanyge 测试,速度只有160MB/s~180MB/s,而在其他服务器上测试也只有160MB/s左右。这正常么?
3. 在另外一个屋子里的机器同样使用 Sanyge 测试,速度居然只有80MB/s。这又是为什么?是因为走线的原因么?
4. 所有的光卡都是 emulex 9002 或者 982 的。。会不会是光卡的原因?
希望各位高人能够解答。。谢谢了。。
作者: 宇风    时间: 2006-03-18 22:02
800MB/s 是指从CACHE中读取的速度,块大小是2048K的话,速度170MB/S是正常值.
作者: brian821003    时间: 2006-03-20 09:51
呵呵。。那按道理说是不是所有的工作站都应该在170MB/s左右阿?现在问题是四台隔壁屋子的上载工作站速度只有80多阿。并且还有一个致命的问题,用这四台上载采集50Mbps的I桢数据流的时候,无论是几台并发都会抱错。
    信息如下:The capture filter has prematurely aborted the capture because no more buffers were available. The data rate may be too high for the attempted operation. You must exit the application and restart your system.

      大致意思就是说缓冲区不足。。。并且采集15Mbps的IBP码流的时候也会抱错。信息大致相同。。No further internal buffers are available to the capture filter

      这又是为什么啊?拜托了。。。
作者: brian821003    时间: 2006-03-20 10:06
刚刚查了一下。。错误是 迈超 的视频卡报的。。但是原因还是不清楚。。还是在怀疑网络的问题。。交换机用的是 博科 的 3900 基于交换机端口划了两个 zone 那四台上载是两个纵里面都有的。。
作者: wnzl    时间: 2006-03-20 11:08
在MDC上测160~180是正常的,你的工作站如果用的不是服务器主板的还,光卡插的肯定是pci-32的,速度80也是正常的,服务器上的都是pci-64的。
作者: brian821003    时间: 2006-03-20 13:06
恩。。80,明白了。。上载工作站用的是华硕的主板。。肯定是pci-32的。。那报错有可能是因为主板的原因。。我再试试看。。哈哈。。谢谢大家了。。。
作者: brian821003    时间: 2006-03-20 13:35
抱错是报的写缓存不足,但是在整个链路上回是哪里的缓存不足呢?光卡接口pci-32、交换机端口缓存,还是盘阵缓存?要怎么样才能确认位置呢?现在客户一直盯着盘阵,说是盘阵的问题。要怎么配置盘阵才好啊。按道理说即使只有80MB/s的速度,写50Mbps的码流应该也没有问题啊。。
作者: Basten    时间: 2006-03-21 01:34
要判断是哪里的问题,用最简单的方法,卸载SANergy,直接单机使用FAStT900进行采集。
作者: wnzl    时间: 2006-03-21 11:45
是单台采集就有问题吗??按说单台采集应该不会有问题,多个采集工作站同时采可能会有问题,以前我也碰到过这种问题,就是SAN网比较空闲的时候没问题,SAN网忙的话就报这个错误,可以监视一下交换机看看。
作者: wnzl    时间: 2006-03-21 11:46
把SANergy的cache设置大一点看看
作者: brian821003    时间: 2006-03-22 12:20
我估计是 flush cache 比例的设置问题。。原来的设置是 最大 80%  最小20%。。我改成了最大 60% 最小 10% 正在四台采集同时工作中,已经将近一小时了。还没有抱错。。在光纤交换机上看是正常了。四个采集端口都是在6.5M左右,两个盘阵端口在13M左右。。

to:basten
单台直接采集已经试过了。。出错的几率明显降低,但还是会出错。

to:wnzl
FAStT 900 的缓存设置我看过了。。cache block 现在设置的是16K,没有更大的选项了。而还有一项,叫cache read ahead multiplier 一直不明白是什么意思。。
作者: Basten    时间: 2006-03-22 12:37
如果单机采集都要出现问题,那和存储应该没什么关系了。
作者: brian821003    时间: 2006-03-22 12:37
1:03:00再次报错。打算卸载sanergy。。直接上载盘阵试试看。。
作者: brian821003    时间: 2006-03-22 13:03
恩。我也是这么想的。如果单台还报错的话可能真的要考虑是不是存储的问题了。。但是客户一直咬住是存储的问题。。我也没办法,只好做到仁至义尽了。。
作者: brian821003    时间: 2006-03-22 15:46
卸载sanergy进行采集测试。。报错。。。。。。。。
更改了segment size 由原来的256改为128,不知道有没有效果。。望大家也帮我出出主意啊。。。谢谢了。。

[ 本帖最后由 brian821003 于 2006-3-22 16:02 编辑 ]
作者: wnzl    时间: 2006-03-23 09:52
关注ing,好像只有采集高码流才会有这样的问题
作者: brian821003    时间: 2006-03-23 11:04
对。。只有采集50Mbps的I祯和15Mbps的IBP码流才会出问题。15M的出错几率很低很低,将近4个月只出过一次。就是50M码流,采集一小时左右必出错。。报错就是缓冲区不足。。头疼死了。。正在查手册。。祈祷吧。。
作者: brian821003    时间: 2006-03-23 13:02
关于cache read ahead multiplier ,我查手册看了下,原文如下:
Read-ahead multiplier
    This parameter affects the reading performance and an incorrect setting can have a large
negative impact. It controls how many additional sequential data blocks will be stored into
cache after a read request.
    Obviously, if the workload is random, this value should be zero. Otherwise each read request
will unnecessarily pre-fetch additional data blocks. Since these data blocks will rarely be
needed, the performance is going to be negatively impacted.

    For sequential workloads, a good value would be between 1 and 4, depending on the particular environment. When using such a setting, a read request causes pre-fetching of several sequential data blocks into the cache; this speeds up subsequent disk access. This leads to a fewer number of I/O transfers (between disk and cache) required to handle the same amount of data, which is good for performance in a sequential environment. A valuethat is too high can cause an overall performance decrease because the cache is filled with read ahead data that is never used.
    Use the performance monitor to watch the cache hit rate for a logical drive to find a proper value.
我大致翻译了一下:
    这个参数影响了读取的性能,不正确的设置会导致很大的负面影响。它控制了在发出读取请求后有多少个additional sequential data blocks要存进缓存。
    显然,如果工作量是随机的,这个值应该为0。对于所有的读请求都不必预读additional data blocks.因为这些数据块很少需要,这些性能都不大必要。
    对于有一定持续工作量的情况,对于特殊的环境1和4是比较好的值。当使用这种设置的时候,读取请求会把一些特殊的数据块读入缓存,能加速并发磁盘通道。这将导致少量的I/O传输(磁盘和缓存之间)需要相同数量的数据。哪些设置对于持续工作环境有利,过高的值会引起性能的降低,因为缓存会被那些从来不用的数据填满。
    使用性能监视察看逻辑驱动器的缓存的命中率,从而找到一个合适的值。

呵呵。。看来和写缓存不足没有什么必然的联系。。
作者: Basten    时间: 2006-03-23 15:48
和存储没有什么关系,你单机采集50Mb码率的流,磁盘阵列性能再差,也不至于不行的。

你的采集卡散热是不是没有做好哦!?
作者: brian821003    时间: 2006-03-23 20:14
我也在想这个问题。。但是情况是四台采集如果一起开始采。。那么报错也必然是一起报错。前后不会相差超过20秒。。如果是温度问题恐怕不会有这么准。。并且从报错的情况看来是说缓冲区不足。这个错误我在网上查了一下。是迈超的卡报的错误。。也就是说是迈超视频卡的缓存不足。但是是由什么原因导致的呢?这样一想的话恐怕最大的问题还是出在盘阵。。

    并且还有重要的一点。就是单机采集到本地硬盘是没有问题的。。这更充分否定了采集卡本身的问题。会不会是兼容性问题?在FAStT 900中有没有类似监视 cache 的使用情况的功能?我想看看到底是不是因为 FAStT900 的缓存导致的这个问题。。
作者: brian821003    时间: 2006-03-23 20:19
to:Basten
       采集时写盘阵和文件拷贝时写盘阵是不同的。前者要求有很好的缓存性能,一旦发生缓存被写满导致无法写入盘阵的情况,采集会立刻断掉,导致采集失败。而拷贝文件写入在缓存写满的时候可以稍做等待,等清空缓存后继续写入。现在在4台上载机器中用SANergy测试,写速度在80MB/s以上。按道理说,带宽足够了。。表面上看来不是盘阵的问题,但是可能会是盘阵在缓存管理上的问题。
作者: Basten    时间: 2006-03-24 10:24
是不是控制器写缓存根本没有启用!?进SM看看啊。
作者: windevil    时间: 2006-03-24 10:31
提示: 作者被禁止或删除 内容自动屏蔽
作者: brian821003    时间: 2006-03-24 13:33
谢谢大家。。。前天我看了看手册,上面说segment的值小一些的话有助于提升媒体流的写入性能,所以我就把卷的segment值由原来的256调整到了128,昨天下午进行了2台同时采集50Mbps的码流,共进行了100分钟,没有出现报错情况,今天上午进行了4台50Mbps的采集,第13分钟的时候只有一台报错,后来重启。四台采集在下午1点的时候再次报错。。采集一共采了将近4个小时。。   

   控制器的电池是好的。。我昨天看了。。缓存也已经启用。现在苦于我的笔记本没有双网卡。。不能监控磁盘的使用状态。。明天去买一块网卡加上。。在SM里面我记得是可以监控缓存的使用情况的。。

    很不明白。为什么会突然卡死呢?如果说是采集卡的问题,那么单机采集并没有问题。那么采集卡的抱错说是缓冲区不足,一定是卡上的缓存不足,那么卡上的缓存不足是什么导致的呢?光纤通路?盘阵缓存?但是如果说不是盘阵的问题,那么四台采集怎么会同时报错呢?监控盘阵缓存的使用情况看来是最根本的解决方法了。。
作者: wnzl    时间: 2006-03-24 15:59
解决问题了,一定把方法贴出来哦
作者: brian821003    时间: 2006-03-24 22:58
呵呵。。现在情况有所改善。看来和segment的大小有关,原来在256K的时候最多能采集90分钟,现在改成了128K,最长采集了4个多小时。但是还有报错的情况发生,下一步打算进一步调整为64k,看是不是能彻底避免这种情况的发生。但是原因还是不很清楚,查了手册中关于segment size 的解释,原文如下:

    The choice of a segment size can have a major influence on performance in both IOPS and throughput. Large segment sizes increase the request rate (IOPS) by allowing multiple disk drives to respond to multiple requests. A small segment size increases the data transfer rate (MB/s) by allowing multiple disk drives to participate in one I/O request. Use a small segment size relative to the I/O size to increase sequential performance.
   
      You can use the performance monitor (see “Performance monitor data” on page 85) to evaluate how a given segment size affects the workload. Use the following guidelines:

1、If the typical I/O size is larger than the segment size, increase the segment size in order to minimize the number of drives needed to satisfy an I/O request. This is especially true in a multi-user, database, or file system storage environment. Using a single drive for a single request leaves other drives available to simultaneously service other requests.

2、 If we are using the logical drive in a single-user, large I/O environment (such as for multimedia application storage), performance is optimized when a single I/O request can be serviced with a single data stripe (the segment size multiplied by the number of drives in the array that are used for I/O). In this case, multiple disks are used for the same request, but each disk is only accessed once.

3、 Normally, a small segment size is used for databases, normal sizes for a file server, and large segment sizes for multimedia applications.

4、 If we increase the segment size we gain more throughput

       同样大致翻译一下:

    段大小的选择可以对 IOPS 和吞吐量产生重大的影响。段大小值大可以增加多磁盘请求响应的速率,小的段大小值则能够增加多磁盘参与的输入输出请求中数据的传输速率(以MB/s为单位)。使用相对于输入输出值较小的段大小值能够增加时序性能。

您可以使用性能监控来估计对于当前的工作量需要多少段大小。有以下指导方针:

1、如果通常的输入输出大小要比当前的段大小大,为了平衡对于驱动器的输入输出请求可以增加段大小值。这适用于多用户,数据库或者文件服务器的存储环境。

2、如果我们只有单独的用户使用逻辑驱动器,较大量的输入输出环境,当单独的I/O请求能够被单独的数据通路所接受那么性能将是最好的。既然这样,多个磁盘用来做同样的请求,但是所有的磁盘之能够访问一次。

3、正常的,较小的段大小值适用于数据库。中等的段大小值适用于文件服务器,较大的段大小值针对多媒体应用。

4、如果我们增加段大小,我们将获得更多的吞吐量。


总结一下,较小的 segment size 能够增加时序性能,也就是说能够承受更大的连续数据量。但是对于多媒体应用,又推荐较大的 segment size 。较大的 segment size 可以增加盘阵读取和写入的速度。看来为了能够正常写入,只好牺牲一些速度了。。但是从我测试的情况看来,当 segment size 由256K改为128K之后,盘阵的速度并没有太大的降低,也就有10MB/s的降低,这个程度还是可以忍受的。所以决定继续降低到64k待测。。。
作者: wnzl    时间: 2006-03-27 10:00
继续测试
作者: brian821003    时间: 2006-03-27 12:17
现在有个疑问,如果继续减小 segment 的值,会不会对磁盘的读写有很大的影响。
作者: brian821003    时间: 2006-03-27 14:32
继续测试中。。现在已经连续采集300分钟没有问题了。。由于磁带长度不够,后面的150分钟一直都是在采集黑场。但是仍然是50Mbps的码流文件。。。期待。。。看看是不是还会有问题。。
作者: brian821003    时间: 2006-04-03 13:10
经过这近一周的测试。问题并没有太大的改善。但是我发现了一个细节,就是使用SANergy测试的时候,一是速度波动很大,最高的时候能到120左右,而最低的时候能到90多。二是在用SANergy测试的时候发现进度条有时会出现“卡”的情况。每次一“卡”,测出的速度就必然会低。我想是因为在清空缓存的时候造成的。不知道对不对。还有就是速度又20M左右的波动,是属于正常范围么?再有这么“卡”,也是正常的么?




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2