流媒体资料从硬盘到送到网卡的典型处理情况如下:
a、媒体资料从硬盘盘体中读取出来,经过硬盘接口电路(SCSI,IDE或者FC类型),到达硬盘控制卡;
b、经过硬盘控制卡转换接口后,多媒体资料通过PCI总线,到达PCI控制器;
c、又经过PCI控制器转换接口以后,多媒体资料通过系统内部总线,存储到内存中;
d、在资料被发送到网络上之前,CPU需要对内存中的多媒体资料进行一些处理,例如复制、切分、按协议打包;
e、然后打包之后的资料在内存中通过系统内部总线、PCI控制器、PCI总线,到达网卡;
f、网卡将资料再一次包装后发送到外部网络中。
在不同的计算机系统结构下,以上多媒体资料发送的过程可能有所不同,但是一般都需要经过硬盘、CPU、内存、网卡、内部总线、外部总线这些功能部件。随着客户数量的增加以及应用需求的增加,媒体服务器需要不断提高多媒体资料的处理能力。硬盘、CPU、内存、网卡、内部总线、外部总线这些有没有可能成为瓶颈,以下分别进行分析。
1、硬盘
现在普通的PC机上用的最多的是IDE的硬盘,如果能用这种价格低廉的硬盘作为流媒体服务器的存储设备,将很大程度上降低了成本。
让我们做这样一个实验:对两台除存储设备外配置完全相同的系统进行读写速度测试,一台系统使用7200RPM的IDE硬盘和UltraDMA 66 IDE控制卡,另一台使用统一品牌并且具有相同盘体的7200RPM的SCSI硬盘和U2W控制卡,经过速度评测我们发现,这两个硬盘的速度几乎是一模一样,都是14.5 M/s。为什么IDE和SCSI速度会一样呢?其实原因很简单,目前硬盘数据传输的瓶颈不在硬盘接口,而在于硬盘盘体本身。硬盘厂商在生产IDE或SCSI硬盘时使用的盘体是相同的,只是所用的接口电路不同而已,而目前硬盘由于受到磁介质和机械因素的影响,速度很难有大幅度的提高。也就是说,硬盘的传输速度在现有技术下部可能达到SCSI甚至IDE的接口速度,所以我们才看到SCSI硬盘同IDE硬盘实际性能是差不多的,而这一指针不尽如人意完全是由于盘体本身造成的,与使用IDE还是SCSI接口没有多大关系。
如何提高存储设备的性能呢?可以采用RAID技术。RAID的目的就是尽可能的让多个硬盘同时服务于同一个请求,从而在总体上提高数据传输速度。当然RAID同时还具有强大的数据保护功能。使用RAID可以使连续数据传输速度达到50M/s或更高,对于大多数用户已经足够,这时候硬盘已经不是瓶颈了。同时我们采用优化的读取算法使硬盘的寻道时间和寻道次数都大幅度降低,增加了硬盘的寿命。动态的负载均衡技术是单台服务器的各块网卡的负载基本相同,使系统的整体性能得到了很大的提高。
结论:所有我们可以支持客户使用IDE硬盘,通过RAID技术突破硬盘的瓶颈。
2、CPU
现在即使最普通的PC,主频也在500MHz以上了,流媒体服务器的CPU只是进行了一些简单的复制、切分等处理,而不是进行复杂的DCT变换,编码译码等运算,所以CPU的能力已是绰绰有余了。设计好的流媒体系统的CPU利用率一般在很低。
结论:CPU不是进行流媒体服务的瓶颈。
3、网卡
以太网卡的速度主要有10 Mb/s和 100 Mb/s 两种,1000 Mb/s的以太网也得到了应用;ATM 网卡的速度主要有 25 Mb/s和155 Mb/s两种,622 Mb/s的ATM网卡也有少量应用。如果采用10 M以太网卡,则系统只能够同时传输6个MPEG-I数据流;如果采用100 M以太网卡,则系统能够同时传输60个左右的MPEG-I数据流。100 M以太网的性能价格比最高,如果需要支持更多的用户,而且只能采用100 M以太网,那么可以在一个系统中插入多块100 M以太网卡。
结论:在局域网内,网卡也不是进行流媒体服务的瓶颈了,通过动态的负载平衡技术,可以使系统中各个网卡得到很好的配合利用。
4、内部总线、内存、外部总线。
Cache、内存、PCI控制器、USB控制器、ISA控制器等多种设备与内部总线直接连接,这些设备共享内部总线传输资料,因此内部总线也有可能成为系统的瓶颈。
内部总线的速度主要有66 MHz和100 MHz两种,133MHz的总线刚刚开始应用。内部总线的资料宽度为32位,所以内部总线的数据传输速度可以达到256 MB/s以上。作为媒体服务器时,系统的内部总线不会成为瓶颈。
内存的工作频率与系统内部总线一致,一般也不会成为媒体服务器的瓶颈。
PCI总线是计算机主要的外部总线。网卡、硬盘控制卡等都通过PCI总线与系统连接。PCI总线的频率为33 MHz,资料宽度为32位,所以PCI总线的数据传输速度为133 MB/s。扩展的PCI总线资料宽度可以达到64位,数据传输速度达到266 MB/s,但是64位的PCI总线还远远没有得到广泛应用。
ISA总线是一种比较老的但是得到广泛应用的外部总线,许多旧的声卡、显示卡、网卡等的接口就是ISA接口。ISA总线的资料宽度为16位,工作频率小于10MHz,所以速度远远小于PCI总线。如果媒体服务器的某些设备通过ISA总线连接,那么这个接口就会成为整个系统的瓶颈。
结论:现在流行的PC机的配置使得内部总线、内存、外部总线已不是进行流媒体服务的瓶颈了,在配置流媒体服务器时候可以参照以上分析,把有可能的出现的瓶颈在硬件上进行突破。
vipcui 回复于:2004-04-28 13:47:13
好文章,分析的不错。
FFUZZY 回复于:2004-05-05 16:42:05
有参考价值,PC硬件系统无瓶颈,
有助于外部流量拥塞的控制。
wangchao66 回复于:2004-05-05 16:58:01
不知你所做的实验环境是在多少台PC共享的情况下进行的?
如果只是2,3台的环境的话,我怕试验结果并不能有一定的说服力的
我觉得瓶颈始终应该是在硬盘上的了
FFUZZY 回复于:2004-05-05 19:07:33
多机实验可能更有代表性。
多信源的外部流通中途监视缓冲溢出会回压信号
给各信源端,或缓发或排对等候,还应是软体问题。
亮亮佗 回复于:2004-07-08 08:25:50
目前的流媒体系统主要的问题是如何增强存储系统的能力。主要的技术如下:
1、采用RAID 3代替RAID 5。由于RAID 3在大文件块I/O的时候,性能较RAID 5强,所以,流媒体系统的存储阵列应该配置为RAID 3。当然,如果预算足够可以配置RAID0+1。呵呵
2、尽量不采用共享存储。每个前端服务器挂接一个独享的存储,甚至是全光纤存储是一个最佳的方案。但是,由于成本问题,这样的系统会很昂贵。
3、采用内容分发技术克服上面的成本问题。也就是并不是所有的前端服务器都有所有的流媒体文件的拷贝。而是根据用户的点击率进行分发,点击率高的,在所有的服务器上都有拷贝。点击率低的,仅在个别服务器上存放拷贝。这样,可以在一定程度上节省存储空间和成本。但是,分发的算法要精心设计。
yddll 回复于:2004-12-16 16:01:52
IDE的HDD和SCSI的HDD是一样的盘体?
那为什么SCSI HDD有15000转的而IDE的只有7200转的
sheilatam 回复于:2004-12-16 19:06:13
努力学习,争取跟你们有共同语言嘎~~~~