转自:http://blog.csdn.net/wwwlh/article/details/5118457
网络速率和FTP传输速度关系的问题
考虑过我们ftp的实际速度的问题吗,为何我们不能达到100M以上的速度?
先讲一点网络速率和传输速度的问题呵呵,我先是一个CCNP,然后才是一个DBA
注意下面B-字节 b-位的区别 1B=8b,不理解的回去看计算机基础知识
1000M网络速度是指bit位的速度,理论网络传输速度上限是1000/8=128MB/S
可是这个速度是在物理层的理论值,呵呵我们要用的TCP/IP协议和FTP协议中间还有好多个协议层.
基于种种原因的考虑,每个协议层都要在数据包头封装一些东西,因此我们一般只能实现用10个字节来描述一个有效的数据
换算成传输速率就是1000/10=100MB/S
另外要考虑的一个事情是,你的应用是否是单向传输的业务,如果是的话,你最多只能实现100MB/S的速率,如果是双向对称传输的协议话呵呵,你的最大传输速率是100/2=50MB/S
这样的业务典型的就是双向的视频会议.
回到FTP传输的问题来,大家要问,FTP不是单方向传输的吗?为何我们经常只能实现30-40MB/S,最多不过60-70MB/S的速度,不对FTP是一个典型的不对称的传输协议,在我们下载的时候,可能下载流量占用了大部分的带宽,但是大家要注意到,FTP必须在服务器和客户端之间传输一些控制命令和交换一些数据请求包什么的,典型的上行流量大概能占用到整个传输10%,呵呵我们上面提到的100M/S的理论上限一下少了10M/S变成90M/S.
接着你又问了不还有90M/S吗?剩下那些速度都在那里产生瓶颈了,呵呵,让我慢慢道来
1.你的客户端和服务器最少都可能在同一台千兆交换机上吧,对不起,交换机会对数据传输产生一定的时延,因为千兆交换机一定是基于存储转发的,这个时延根据厂商算法和芯片的不同,可以造成传输速率下降,下降的幅度在2-10%之间变动,按照平均5%来计算吧,现在是多少了,90*0.95=85.5MB/S
2.服务器的千兆网卡和客户机的千兆网卡是接在那里的,你一定会说是在主板上集成的,没错,可是你知道它们到底接在那里吗?呵呵告诉你如果是接在主板上的一定是在南桥总线上的,典型的南桥总线是2GB/S(INTEL ICH8),没完这南桥总线不是千兆网卡独享的,是N多设备共享的,网卡,IDE硬盘接口/SATA接口,声卡等等一大堆东西,一般来说,网卡能达到理论带宽的90%就很不错了,呵呵再算一下,85.5*0.9=76.95MB/S
3.没完,FTP协议使用网络传输的数据从那里来?呵呵从硬盘来,到那里去?到硬盘去.这一来一去有个问题,硬盘并非能全速达到理论传输上限,哪怕你组成一个很快的RAID 0,硬盘传输数据都会有一点延迟,这个延迟来自于硬盘的传输原理,FTP一个大文件要在磁盘中移动磁头,找到这个数据块,然后读到内存中,有个5-10%的延迟不为过吧,写入同样,要找到空闲的块,同样可能有5-10%的延迟,取小一点,两边都按5%来计算,呵呵10%的延迟呀,现在你一定冒汗了,降到多少了?76.95*0.9=69.255MB/S
4.数据仅仅是到了内存,还没传输到网卡上,这时后,CPU肯定要处理,DMA通道也要处理,内存虽然读得飞快,网卡处理芯片要处理数据,这一大堆玩意虽然都很快,可是同样有延迟,考虑到这些因素,降个5%是很正常的,实际上,基于内存的网络传输速率测试不比硬盘快多少,这时的速率是69.255*0.95=65.79MB/S
这个速率我想大多数使用过千兆网络FTP传输的人,都见过这样的速度吧,一般来说千兆网络FTP传输很难超过80M/S
5.操作系统,FTP SERVER 和FTP CLINET的软件处理能力的问题,这个是一个更复杂的问题,但是可以肯定的是不同的平台和版本,性能差异可能巨大,我用过N多的FTP SERVER和FTP CLINET,访问同一个内部服务器的时候,性能差异巨大,相同的环境下,例如IIS 6的SERVER 配合WINDOWS FTP命令能到40-50MB/S,换一个LINUX下的LFTP客户端就能达到60-65MB/S的性能.
这上面还有一个因素,如果遇到交换机繁忙,或者交换机交换容量不够的情况下,上面许多因素再打大一点折扣,例如磁盘延迟很大,上面的数字还要大大打个折扣.不幸的是我们的许多系统大部分的部件,经常处于繁忙的阶段,上面的数字最多只能实现80%的效能,呵呵所以大多数的千兆FTP传输在30-40MB/S间波动是很正常的.
分享到:
相关推荐
在IT领域,DOS FTP显示速率是一个重要的主题,特别是在老一代的系统管理和网络传输中。本文将深入探讨DOS环境下的FTP(File Transfer Protocol)操作,如何显示传输速率,并涉及批处理测试文件的使用。 FTP是一种...
本文通过对FTP协议原理,以及实际FTP传输过程中抓包分析,解释了FTP下载速率和网络时延之间的关系。
本文将深入探讨如何使用C++编程语言实现FTP文件传输功能,包括上传不同类型的文件,并确保高效的传输速度。 FTP协议的基本原理是通过TCP/IP连接在客户端和服务器之间建立通信。它分为两个通道:控制通道和数据通道...
2. **System.Net.NetworkInformation**:提供网络接口和网络状态信息,可以用来获取网络连接速度和统计信息。 三、实现步骤 1. **创建Socket对象**:使用Socket类创建一个网络套接字,设置相应的IP地址和端口号。 2...
FTP(File Transfer Protocol,文件传输协议)是一种用于在网络上进行文件传输的标准服务和协议。FTP的传输是基于TCP(Transmission Control Protocol,传输控制协议)协议之上的。TCP提供了一种可靠的、面向连接的...
计算机网络是指将地理位置不同的计算机系统互连,通过通信线路和网络协议来实现资源共享和信息交换的系统。FTP(File Transfer Protocol)是计算机网络中的一种协议,用于在客户端和服务器之间传输文件。 二、FTP...
FTP(File Transfer Protocol)是一种基于TCP/IP协议的网络协议,用于在网络上进行文件传输。它允许用户从一台计算机(客户端)向另一台计算机(服务器)上传或下载文件。在点对点(P2P)的FTP文件传输中,两台...
本文主要探讨了5G网络速率的定义以及当遇到速率问题时的定位和优化思路。 首先,5G网络速率的定义包括了多个方面。上行和下行平均吞吐率是衡量网络性能的关键指标,它们分别定义为在一定时间内,用户在gNB小区上行...
总之,5G网络速率问题的排查是一项系统工程,需要结合理论定义、现场测试和参数优化等多个环节进行。只有全面理解和掌握这些知识点,才能在面对5G速率问题时,迅速找到解决方案,保障5G网络的优质服务。
使用QT开发FTP客户端,可以利用其强大的图形界面组件和网络模块,实现高效稳定的文件传输服务。在描述中提到的实时速率和剩余时间显示,是通过计算传输速率和应用数学模型来预测的,这对于优化用户体验和提高工作...
这个"简单的FTP传输管理模块"是一个C语言实现的程序,旨在提供基础的FTP服务器功能,同时包含了一个简单的流量监控机制,这对于理解和开发自己的FTP服务或者进行网络数据传输监控具有重要意义。 FTP服务器是基于TCP...
新手写的Delphi FTP程序【客户端】附源码,FTP传输工具,作者:孔勇。文件传输精灵需要输入密码才可使用。本FTP程序在上传、下载文件的时候,适时显示速率,在特定场合,程序会对字符串进行加密传输,也可解密。 ...
CentOS FTP服务器的架设和配置是一个涉及多个步骤和配置选项的过程,主要目的是为了提供一个安全、可控的文件传输服务。下面将详细讲解这些步骤和配置。 1. **安装FTP服务器**: 在CentOS中,我们可以使用`yum`包...
FTP测速软件是一种专门用于...总的来说,FTP测速软件是一个小巧而强大的工具,可以帮助用户了解网络的FTP传输性能,对网络进行诊断和优化。无论是专业人员还是普通用户,掌握这类工具的使用都能为网络管理带来便利。
Flash FTP加速版是针对FTP传输速度优化的专业工具,它的出现极大地提升了FTP文件交换的效率和稳定性。通过其独特的加速技术和丰富的功能,使得用户能够在各种网络环境下高效地完成文件的传输任务。无论是个人用户...
FTP(File Transfer Protocol)协议是Internet上最早期的网络协议之一,主要负责在两台计算机之间进行文件的传输。FTP服务器则是实现FTP协议的软件,它允许用户从远程主机下载文件,或者将本地文件上传到远程主机。...
6. **传输速率控制**:服务器可以限制每个用户的上传/下载速度,避免个别用户占用过多带宽。 7. **断点续传**:支持在传输过程中中断后从断点继续传输,防止因网络问题导致的文件传输失败。 这个“FTP服务器单文件...
标题中的“网络文件传输服务器源码,实现最大化带宽传输”揭示了这是一个关于网络文件传输技术的项目,其中包含了优化带宽使用的策略。这通常涉及到TCP/IP协议栈、多线程编程以及数据分块和流控制等技术。下面将详细...
对于大文件的上传和下载,Xlight FTP 服务器端能够实现断点续传,避免因网络中断而造成的传输失败。 除此之外,Xlight FTP 服务器端还提供详尽的日志记录功能,帮助管理员监控服务器的活动,追踪任何异常行为,及时...
在本文中,我们将深入探讨FTP客户端如何通过TCP/IP协议栈与FTP服务器进行通信,以及在传输过程中遇到的问题及其解决方案。 首先,FTP客户端(如PC1)通过其FTP端口(32768)向FTP服务器(如PC2,FTP端口21)发送...