网络调整注意事项
改进分布式数据库环境总体性能的最好办法是除去网络中的延迟。
网络管理员普遍认为如果网络能够尽可能地收集传输中的数据,那么它会更有效率。 此方法对诸如分布式数据库之类的应用程序不起作用,原因是它在网络中造成了延迟。 最终用户看不到网络的效率,只看得到延迟。
大部分网络设备具有延迟参数,而这些参数中的大多数参数的缺省值对于分布式数据库而言都很不适用。 要改进性能,应找出这些参数且如果有可能,将它们设置为零。 此外,还应确保设备上的缓冲区大小足够大,以防止由于丢失数据而进行重新发送。 例如, UNIX 系统通常具有 "传输" 或 "接收" 队列深度缺省值 32。 为了获得更好的效果,将队列深度设置为 150。 DLC 设置上相应的参数为“接收深度”,也应将它设置为 150。
在大部分地方,IOBUF 参数都设置得过低。 它通常设置为 500 ,但经验表明,如果要移动大量数据 (尤其是对于诸如 ESCON 或 3172 之类的通道连接) ,那么值 3992 最有效。
在 LAN 系统上,DLC 或 LLC 传送和接收窗口大小对性能会有极大的影响。 发送值应设置为 7 或更高,而对于大部分配置而言,接收值为 4 或更低时效果最好。
如果正在运行以太网,应将 TCP 段大小设置为 1500 个字节。 在令牌环或 FDDI 网络上,此值应该为 4400 字节,如果要将 ESCON 适配器与 TCP/IP 配合使用,那么段大小应该始终为 4096。
最后,对于 TCP/IP 网络,“TCP 发送和接收”缓冲区大小应设置为大于 32768。 通常来说,值 65536 是最佳的。
注: 建立从网关到服务器的连接 (出站连接) 比建立从客户机到网关的连接 (入站连接) 要昂贵得多。 在一个数以千计的客户机通过网关频繁地连接至服务器及从服务器断开连接的环境中,相当一部分处理时间都花在了建立出站连接上。 Db2 Connect 通过 TCP/IP 提供连接池。 当客户机请求断开与服务器的连接时,网关断开与客户机的入站连接,但在池中保存与服务器的出站连接。 当新的客户机向网关请求连接时,网关提供池中的现有连接,从而减少了总的连接时间并节省了服务器上的高 CPU 连接成本。
表 1中提供了网络性能调整方法的摘要。
| 查找什么 | 示例 | 设置 | 注意 |
|---|---|---|---|
| 故意延迟 | 网络设备上延迟参数 | 设置为 0。 | 缺省值通常较高。 |
| 缓冲区 | IOBUF 参数 | 设置为 3992。 | 对于 ESCON 或其他通道适配器特别有用。 |
| 缓冲区 | RUSIZE | 最优大小为 4096。 | 将 RUSIZE 和 RQRIOBLK 设置为相同的大小可产生最佳性能。 |
| 缓冲区 | 调步 | VPACING、PACING 和“方式概要文件”应设置为 63。 | 在适当的地方使用自适应调步。 |
| 适配器设置 | 传送/接收队列深度 | 建议值为 150。 | 缺省值通常为 32。 |
| TCP 设置 | 段大小 | 在以太网上为 1500,在令牌环和 FDDI 上为 4400。 | 用于 TCP/IP 的 ESCON 适配器应始终设置为 4096。 |
| TCP 设置 | 发送/接收空间大小 | 两者都应为 64K。 | 对于 Windows ,缺省值仅为 8192。 可以在 Windows 注册表中设置。 |