oracle recv buf size,Oracle Performance: SDU, SEND_BUF_SIZE and RECV_BUF_SIZE

Problem Statement:

The select operation is too slow compared with expected value.

Session Data Unit(SDU):

Under typical database configuration,Oracle Net encapsulates data into buffers the size of the session data unit (SDU) before sending the data across the network. Oracle Net sends each buffer when it is filled,flushed,or when an application tries to read data.

The SDU size you choose should be 70 bytes larger than the predominant message size,as long as the maximum SDU size is not exceeded. The SDU size can range from 512 bytes to 32767 bytes. If the DEFAULT_SDU_SIZE parameter is not configured in the sqlnet.ora file,then the default SDU for the client and a dedicated server is 2048 bytes,while for a shared server the default SDU is 32767 bytes.

The actual SDU size used is negotiated between the client and the server at connect time and will be the smaller of the client and server values.

SEND_BUF_SIZE and RECV_BUF_SIZE

Reliable network protocols like TCP/IP buffer data into send and receive buffers while sending and receiving to or from lower and upper layer protocols. The sizes of these buffers affect network performance,as these buffer sizes influence flow control decisions.

Other performance related setting:

1. DEFAULT_SDU_SIZE and SDU in specific client/server instance

2. SEND_BUF_SIZE

3. RECV_BUF_SIZE

4. NET_ASYNC_IO

5. SDP_ASYNC_IO

Testing cases about RECV_BUF_SIZE:

Following using a sample to verify the parameter RECV_BUF_SIZE:

create table tab(

text1 char(50) not null,

text2 char(50),

primary key(text1)

);

Table was provisioned with 10000 data rows.

Using sqlplus to execute "select * from tab" in a client.

time sqlplus $DBLOGIN >/dev/null <

select * from tab;

quit;

EOF

(Client and server reside on different Linux labs,using TCP/IP connection)

Following table is test result

+-------------------------+------------------------------------------------------------+

|RECV_BUF_SIZE | TIME |

| | |

| 1024 | real 0m0.70s/user 0m0.13s/sys 0m0.12s

| 512 | real 0m1.00s/user 0m0.15s/sys 0m0.13s

| 256 | real 0m1.76s/user 0m0.14s/sys 0m0.15s

| 240 | real 0m4.80s/user 0m0.14s/sys 0m0.18s

| 239 | real 0m3.49s/user 0m0.16s/sys 0m0.15s

| 238 | real 0m4.01s/user 0m0.15s/sys 0m0.18s

| 237 | real 0m2.90s/user 0m0.15s/sys 0m0.15s

| 236 | real 2m57.76s/user 0m0.21s/sys 0m0.18s

| 235 | real 3m0.24s/user 0m0.20s/sys 0m0.21s

| 230 | real 2m58.03suser 0m0.23s/sys 0m0.16s

| 200 | real 3m9.49s/user 0m0.19s/sys 0m0.20s

--------------------------+-------------------------------------------------------------+

I don't know why there is such a big gap when RECV_BUF_SIZE equals to 236,or 237?

HELP,HELP !!!!

总结

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值