From
a SQL*Net perspective, the only thing that can be tuned is the SDU size. SDU
stands for Session Data Unit. SDU is a buffer at the Network Session (NS) layer
from which SQL*Net packets are passed via TDU (Transport Data Unit) at the
Network Transport (NT) layer, to the underlying protocol. By default in version
2.3 (7.3), SDU was set to 4K. However, it changes to 2K in Net*8 and Oracle*Net
(8.0 and higher)
With the default SDU size
of 2K, each block of data was handled as follows:
OCI App ---->
Net*8
2900 bytes passed
NS ---->
NT 2048
bytes (2K SDU size is being used)
TCP
Layer 1460
bytes - packet 1
588
bytes - packet 2
NS ---->
NT 852
bytes
TCP
Layer 852
bytes - packet 3
If we set SDU to 4K, each block will be handled as follows:
OCI App ---->
Net*8
2900 bytes passed
NS ---->
NT 2900
bytes (4K SDU size is being used)
TCP
Layer 1460
bytes - packet 1
1450 bytes - packet 2
调整网络连接参数
可以修改某个网络配置参数后,运行观察关于网络的等待是否有降低
#TNSNAMES.ORA
ukp9930.world =
(DESCRIPTION =
(SDU=4096) #<--
SDU can be set from 512 bytes to 32Kb
(ADDRESS_LIST =
(ADDRESS =
(PROTOCOL = TCP)
(Host = ukp9930)
(Port = 1521)
)
)
(CONNECT_DATA = (SERVICE_NAME = rep1))
)
#LISTENER.ORA
LISTENER =
(ADDRESS_LIST =
(ADDRESS =(PROTOCOL= TCP)(Host= UKP9930)(Port= 1521))
)
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SDU=4096)
<---------- SDU has to match the setting in
(SID_NAME =
rep1)
tnsnames otherwise it will negotiate to
)
the lowest of the two sizes
)
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/48010/viewspace-1015699/ ,如需转载,请注明出处,否则将追究法律责任。