sheeta16
作者 sheeta16 · 2011-03-01 15:01
开发工程师·NN

调整 TCP/IP 缓冲区大小

字数 1412 阅读 1211 评论 0 赞 0
 调整 TCP/IP 缓冲区大小

WebSphere Application Server 广泛地使用了 TCP/IP 套接字通信机制。对于 TCP/IP 套接字连接来说,发送和接收缓冲区大小定义了接收窗口。接收窗口指定在发送被中断前可以发送而不会被接收的数据量。如果发送太多数据,就会使缓冲区过载并中断传输。数据传输中断控制机制称为流量控制。如果 TCP/IP 缓冲区的接收窗口太小,接收窗口缓冲区就会频繁地过载,流量控制机制就会停止数据传输,直到接收缓冲区被清空为止

关于本任务

流量控制会耗用相当大量的 CPU 时间,并且会由于数据传输中断而延长网络等待时间。建议您增大缓冲区大小,以避免在正常工作情况下发生流量控制。较大的缓冲区大小有助于降低发生流量控制的可能性,并且将提高 CPU 利用率。但是,在某些情况下,较大的缓冲区大小也会对性能产生负面影响。如果 TCP/IP 缓冲区太大,并且应用程序处理数据的速度不够快,页面调度操作就会增加。我们的目标是使指定的值大小足以避免流量控制,但又不会太大而导致缓冲区中积累的数据超出系统处理能力。

缺省缓冲区大小是 8 KB。最大大小是 8 MB(8096 KB)。最佳缓冲区大小取决于若干网络环境因素,这些因素包括交换机和系统的类型、确认计时、错误比率和网络拓扑、内存大小以及数据传输大小。当数据传输大小相当大时,您可能想将缓冲区大小设置为最大值,以便提高吞吐量、降低流量控制的发生频率以及降低 CPU 成本。

Web 服务器与 WebSphere Application Server 之间的套接字连接的缓冲区大小设置为 64KB。在大多数情况下,此值已足够了。

当应用程序使用 IBM Developer Kit for Java(TM) 的 JDBC 驱动程序或 IBM Toolbox for Java 的 JDBC 驱动程序来访问远程数据库时,流量控制会成为一个问题。如果数据传输量较大,流量控制就会耗用大量 CPU 时间。如果使用 IBM Toolbox for Java 的 JDBC 驱动程序,那么可以使用定制属性来配置每个数据源的缓冲区大小。建议您指定较大的缓冲区大小,例如 1 MB。

某些系统范围的设置会覆盖套接字的缺省 8 KB 缓冲区大小。对于某些应用程序(例如 WebSphere Commerce Suite)来说,180 KB 的缓冲区大小可以减少流量控制,并且通常不会对页面调度产生负面影响。最佳的值取决于特定的系统特征。在确定系统的理想缓冲区大小之前,您可能需要测试若干个值。要更改系统范围的值,请执行以下步骤:

过程
调整 TCP/IP 缓冲区大小。
  1. 更改 TCP/IP 配置。
    1. 运行“更改 TCP/IP 属性”(CHGTCPA)命令。
    2. 通过在“更改 TCP/IP 属性”窗口上按 F4 来查看和更改缓冲区大小。缓冲区大小将显示为 TCP 接收缓冲区大小和发送缓冲区大小。输入新的值,然后保存更改。
  2. 重新启动 TCP/IP,然后监视 CPU 和页面调度比率以确定它们是否符合建议的系统准则。
结果

在确定理想的缓冲区大小之前,请重复执行此过程。

下一步做什么?

已更改 TCP/IP 缓冲区大小。在确定理想的缓冲区大小之前,请重复执行此过程。


如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

0

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广