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 缓冲区大小。在确定理想的缓冲区大小之前,请重复执行此过程。
添加新评论0 条评论