Chinaunix首页 | 论坛 | 博客
  • 博客访问: 15912
  • 博文数量: 44
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 505
  • 用 户 组: 普通用户
  • 注册时间: 2011-07-24 20:58
个人简介

做一个在牛A和牛C之间徘徊的人

文章分类

全部博文(44)

文章存档

2013年(44)

我的朋友

分类: 网络与安全

2013-11-13 13:58:08

1.3.1 TCP性能的重要性

   在互联网发展的初期,TCP/IP协议栈已经随着Unix系统的广泛应用先入为主地取得了统治地位。在相当长的一段时期内,TCP是那些寻求数据可靠交付 服务的应用程序的唯一选择。TCP协议的功能也一直在扩展、完善,稳定性与性能也不断提升。在功能上足以超越TCP的新型传输层协议(如SCTP)出现多 年后,TCP的霸主地位仍然很难被动摇。究其原因,除了TCP庞大的用户群体不愿付出迁移到其它传输层协议的代价外,与TCP出众的、难于匹敌的性能有莫 大关系。
    拥有尽可能多的用户数量对于一个依靠对外提供网络服务生存的企业而言至关重要,很多企业(如腾讯,淘宝)就是因为拥有庞大的用户进而拥有了很多商机,从而 得以生存、成长。用户数量的多寡与用户体验有着直接的关系。如果一个网络服务能够支持的并发连接数比较少,或响应慢,或吞吐量差,都会导致用户体验不佳, 从而丢失大量客户。改善用户体验的方式可以是增加硬件资源(服务器的数量、CPU的数量和性能、内存大小等),也可以是优化服务器的TCP协议的性能,使 其提供更好的服务。在硬件资源紧张的情况下,优化TCP的性能是最可行的方法。

1.3.2 TCP主要性能指标

     TCP主要的性能指标如下:
(1)吞吐量(Throughput)
  吞吐量是指TCP在每一秒内处理数据包的最大能力,这个指标意味TCP在每一秒以内所能够处理的最大流量或者说每一秒内能处理的数据包个数。吞吐量的计量单位有两种方式:常见的就是带宽计量,单位是Mbps(Megabits per second)或者Gbps(Gigabits per second),另外一种是数据包处理量计量,单位是pps(packets per second),两种计量方式是可以相互换算的。
(2)新建连接速率(Maximum TCP Connection Establishment Rate)
  新建连接速率指的是在每一秒内TCP建立新连接的数量。TCP新建连接速率高的设备可以提供给更多人同时上网,提升用户的网络体验。
(3)并发连接数(Concurrent TCP Connection Capacity)
  并发连接数就是指TCP能够同时处理的连接的最大个数。这个指标越大,在一段时间内所能够允许同时上网的用户数越多。

1.3.3 TCP性能调优的手段

    Linux提供了丰富的手段供用户在不修改内核的条件下优化TCP性能,主要方法是:
(1)API接口
    这类接口供应用进程使用,如setsockopt函数。通过这类接口应用进程可以针对其拥有的每一个socket进行细粒度的性能调优。
(2)内核参数
    用户可以通过sysctl命令、proc文件系统、sys文件系统设置内核参数来改变与TCP相关的全局变量的值,这类设置对全部TCP socket生效,但与API接口设置的相冲突时以API接口的值为准。
    当上述手段无法达到TCP性能优化的要求时,就只能修改Linux内核代码。这种手段可以提供最大自由度的性能优化,但风险也很大,因为修改内核代码容易引起功能和稳定性问题。

阅读(755) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:线程

给主人留下些什么吧!~~