没有合适的资源?快使用搜索试试~ 我知道了~
HTTP服务器的TCP发送缓冲区是HTTP服务器的一个重 要资源,高效地使用TCP发送缓冲区是提高HTTP服务性能 的一个有效方法[1]。随着Internet的发展,在其上运行的 HTTP服务器也以极快的速率增加。每个HTTP服务器每时每 刻要处理成百上千的HTTP请求,每个HTTP请求都要在服务 器和客户机之间建立一条或多条TCP连接。HTTP服务器的 性能主要依赖于能否有效地使用HTTP服务器的有效资源。
资源推荐
资源详情
资源评论
第卷第期洛阳工业高等专科学校学报12 4 Vol.12 No.4
年月
200212 Journal of Luoyang Technology College Dec. 2002
服务器的发送缓冲区是服务器的一个重
HTTPTCPHTTP
要资源,高效地使用发送缓冲区是提高服务性能
TCPHTTP
的一个有效方法
[1]
。随着的发展,在其上运行的
Internet
服务器也以极快的速率增加。每个服务器每时每
HTTPHTTP
刻要处理成百上千的请求,每个请求都要在服务
HTTPHTTP
器和客户机之间建立一条或多条连接。服务器的
TCPHTTP
性能主要依赖于能否有效地使用服务器的有效资源。
HTTP
发送缓冲区结构分析
1 TCP
一个结构包括两个子结构,即发送缓冲区
socketsockbuf
和接收缓冲区。
(so_snd)mbuf(so_rcv)mbuf
每个结构包含一个指向结构的链表的指
sockbufmbuf
针,一个结构由个字节组成。这些字节中的某些字
mbuf128
节用于控制数据如指向链表中下一个的指针,指向数
mbuf
据缓冲区的指针及其它有效数据等等。其余的字节可用于
存贮数据。每个不包含数据的都有一个指针指向一个
mbuf
大的数据缓冲区,这个缓冲区称为簇、扩展缓冲区或映射
页,是一个数据存贮单元,其大小为、或。图
1KB2KB4KB 1
描述了一个包含字节的发送缓冲区,这些数据被存
2148TCP
贮在一个大小为字节的簇和一个中。在发送缓
2048mbufTCP
冲区中数据是以流的方式存贮的,没有数据包的边界。
当一个确认包到达时,包含在或一个簇中
(ACK)mbuf
的所有数据都被确认,这个及其簇将从链表中删除,
mbuf
并将其附加到释放缓冲区表中,在发送缓冲区中的数据的
量由以下三个数据成员来规范:
sockbuf
m_len=2048
m_data
mbuf
m_len=100
m_data
mbuf
100
字节
2048
字节
socket
sockbuf
so_end
图发送缓冲区分析1 TCP
∶在整个发送缓冲区中尚未被确认的字节数。
(1) sb_cc
:缓冲区可容纳的数据最大数。
(2) sb_hiwat
:缓冲区中可用空间的下
(3) sb_lowat (sb_hiwat sb_cc)
限。发送缓冲区在接收更多待发送数据时,其可用空间必
须大于这个值。当可用空间小于这个值时,如果一个服务
进程试图向发送缓冲区添加新的数据时,这个进程将被挂
起。当接收到新的时,这个被挂起的进程将被唤醒。
ACK
当可用空间小于时,进程将处
(sb_hiwat sb_cc)sb_lowat
于等待状态;否则一个数据块会被拷入新分配的缓冲区
中,这个缓冲区将会被添加到发送缓冲区队列。当流控
TCP
进程允许发送一个新的数据段时,发送函数会将这个数
TCP
据块组装成一个带有正确的头的数据段,然后调用发
TCPIP
送函数将此数据段送入网络接口的发送队列。函数在
sosend
将所有收到的数据送入到发送队列后正确返回。
发送缓冲区分配的局部最优化
2 TCP
发送缓冲区分配最优化的目标是找到使连接工
TCPTCP
作于最大速率之下的最小缓冲区。发送缓冲区分配的局
TCP
部最优化考虑的是针对单个连接的性能
TCP
[2]
。
最优化发送缓冲区大小是局部最优化的主要内容,最优
化的发送缓冲区大小是保证连接利用最大有效带宽发送
TCP
的最小发送缓冲区尺寸。寻找最优化的发送缓冲区尺寸的
困难在于,在连接存在的整个期间,甚至网络条件不变的
情况下,它仍处于动态变化之中。发送缓冲区最优化尺寸
直接受以下因素影响:
发送方的;
(1) cwnd
连接的往返时间;
(2) (RTT)
服务器的读取时间。服务器的读取时间
(3) (ReadTime)
是从文件中读取一块数据并将其传送到发送缓冲区所需的
访问、读取、传输时间。
由于在每个内,新的数据块只从硬盘中读取
ReadTime
一次,因此发送缓冲区中应保持足够多的待发送段,这样
才能保证连接使用最大带宽。在期间,可发
TCPReadTime
送的待发送段的最大数取决于待确认段数。
假设,在时刻
ReadTime < RTT t
启动了新的文件访问过
程,如果在此时刻有
n
个待确认段且拥塞控制模式为慢启动
方式,那么直到时刻
t
,收到的不会超过
+ReadTimeACK n
个
。每收到一个将会发送个待发送段,在文件访问完成
ACK2
之前,发送的数据段数不会超过
2n
。因此为了避免不必要的
延迟,在时刻
t
,发送缓冲区不仅要包含
n
个待确认段,还要
下转第页
(13)
发送缓冲区优化方法的分析与实现TCP
许庆功,张永胜
洛阳工业高等专科学校计算机系,河南洛阳
( 471003)
摘要:
分析了发送缓冲区的结构,并提出一个动态分配发送缓冲区的方法,保证连接以最大有效
TCPTCPTCP
带宽发送数据。
关键词: 服务器;发送缓冲区;带宽
HTTPTCP
中图分类号:文献标识码:文章编号
TP393 A
:
1008-8814(2002)04-0006-01
资源评论
sd_junxi
- 粉丝: 5
- 资源: 40
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 3349-VB一款P-Channel沟道SOT23的MOSFET晶体管参数介绍与应用说明
- 3344-VB一款N-Channel沟道SOT23的MOSFET晶体管参数介绍与应用说明
- 基于matlab车牌识别系统模板匹配方式代码24
- 用于UCAM测试bug
- 以下是一个简单的C++程序,用于生成斐波那契数列的前n项.pdf
- This work (specification and/or software implementation) and the
- python毕设基于协同过滤推荐算法的电影推荐系统源码+数据库.zip
- 基于qt+c++实现ddos小工具可用于网站压测等性能测试+源码(期末大作业&课设&项目开发)
- 该文档针对整车网络进行编写,对汽车传统CAN网络、UDS诊断、OSEK网络管理、汽车以太网、CANFD等进行了一定程度的介绍
- 基于matlab交通限速标志识别系统代码23
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功