奇葩的SQL*Net more data from client等待,导致批处理巨慢
- <pre name="code" class="sql"><pre name="code" class="sql">UPDATE Business_Duebill
- SET RelativeSerialNo1 = :1,
- RelativeSerialNo2 = :2,
- CustomerID = :3,
- BusinessType = :4,
- MFCustomerID = :5,
- CustomerName = :6,
- SubjectNo = :7,
- BusinessSum = :8,
- BusinessCurrency = :9,
- ActualBusinessRate = :10,
- Balance = :11,
- NormalBalance = :12,
- OverdueBalance = :13,
- DullBalance = :14,
- BadBalance = :15,
- InterestBalance1 = :16,
- InterestBalance2 = :17,
- FineBalance1 = :18,
- FineBalance2 = :19,
- ActualMaturity = :20,
- FinishDate = :21,
- TABalance = :22,
- TAInterestBalance = :23,
- TATimes = :24,
- LcaTimes = :25,
- ExtendTimes = :26,
- AdvanceFlag = :27,
- PayBackAccount = :28,
- PayInterestAccount = :29,
- BailAccount = :30,
- PutOutAccount = :31,
- OperateOrgID = :32,
- MfOrgID = :33,
- UpdateDate = :34,
- Classify4 = :35,
- ReturnType = :36,
- BailPercent = :37,
- PaymentType = :38,
- TermsFreq = :39,
- BusinessStatus = :40,
- OperateUserID = :41,
- OverdueDate = :42,
- BillType = :43,
- RateFloat = :44,
- RateFloatType = :45,
- AdjustRateType = :46,
- THIRDPARTYZIP2 = :47,
- FinishType = :48
- WHERE SerialNo = :49
- 出现了大量的SQL*Net more data from client
- p1 p2
- 1 24-5?? -14 01.14.34.059 1571 SQL*Net more data from client 1952673792 5 0 0 -1 0 0
- 2 24-5?? -14 01.14.33.058 1571 SQL*Net more data from client 1952673792 4 0 0 -1 0 0
- 3 24-5?? -14 01.14.32.058 361 enq: WF - contention 1464205318 70 0 0 -1 0 0
- 4 24-5?? -14 01.14.32.058 1571 SQL*Net more data from client 1952673792 1 0 0 -1 0 0
- 5 24-5?? -14 01.14.31.057 1571 SQL*Net more data from client 1952673792 1 0 0 -1 0 0
- 6 24-5?? -14 01.14.30.056 1571 SQL*Net more data from client 1952673792 4 0 0 -1 0 0
- 7 24-5?? -14 01.14.29.056 1571 SQL*Net more data from client 1952673792 3 0 0 -1 0 0
- 8 24-5?? -14 01.14.28.055 361 db file sequential read 2 164307 1 0 -1 0 0
- 9 24-5?? -14 01.14.28.055 1571 SQL*Net more data from client 1952673792 11 0 0 -1 0 0
- 10 24-5?? -14 01.14.27.055 1571 SQL*Net more data from client 1952673792 2 0 0 -1 0 0
- 11 24-5?? -14 01.14.26.054 1571 SQL*Net more data from client 1952673792 3 0 0 -1 0 0
- 12 24-5?? -14 01.14.25.049 1571 SQL*Net more data from client 1952673792 1 0 0 -1 0 0
- 13 24-5?? -14 01.14.24.049 1571 SQL*Net more data from client 1952673792 5 0 0 -1 0 0
- 14 24-5?? -14 01.14.23.048 1571 SQL*Net more data from client 1952673792 2 0 0 -1 0 0
- 当会话等待一个来自客户端的消息的到达时提交的SQL*Net more data from client(来自客户端的SQL*NET的消息)等待事件。一般而言,这意味着会话处于空闲状态。
- 在不与使用键盘的终端用户进行交互的批处理程序中,若在此事件上的等待事件过多,则表示在应用程序代码中或网络层存在低效率因素。
- 但是,该事件上的过高的等待事件并不降低数据库的性能,因此该事件清楚地指出可觉察到的数据库性能问题并不是真正的数据库问题。
- P1 :Driver id: 服务器端和客户端连接使用的协议信息。
- P2: #bytes: 服务器端接收到的来自客户端消息的字节数(通常是1,即使接收到的数据包中包含多余1字节的内容).
- SQL*Net more data from client
- A while ago, OEM report some alert messages to us:
- Wait class "Network" was consuming significant database time.
- Wait event "SQL*Net more data from client" in wait class "Network"
- was consuming significant database time.
- We also see a 30ms slower to render our web pages.
- According to Oracle doc,
- SQL*Net more data from client
- The server is performing another send to the client. The previous operation was also a send to the client.
- It is not of much help.
- The OEM gives a more clear indication:
- Investigate the cause for high “SQL*Net more data from client” waits in Module “JDBC Thin Client”.
- It is telling us that something is wrong with the JDBC drivers.
- Chris May find a good article here
- The cause of this event was a sequence of parse calls that passed excessively long SQL text strings through SQL*Net from the client to the server (instead of
- using stored procedure calls to accomplish the same thing). The long SQL text strings wouldn’t fit into a single SQL*Net packet, so the Oracle kernel spent
- a considerable amount of time awaiting second and subsequent SQL*Net packets during parse calls.
- Hibernate, the ORM tools used by our application, generates long SQLs. Instead of select * from table, it use select col_1, col_2 from table.
- After upgrading to latest JDBC driver, the problem fixed.
可以看到光wait就有将近13分钟,占CPU TIME的84%,而且平均等待事件达到177毫秒
奇葩的SQL*Net more data from client等待,导致批处理巨慢的更多相关文章
- SQL*Net more data to client
The server process is sending more data/messages to the client. The previous operation to the client ...
- SQL*Net more data from client
SQL*Net more data from client The server is waiting on the client to send more data to its client sh ...
- 一个session已经ACTIVE20多小时,等待事件SQL*Net more data from client
问题描述: 一个session已经ACTIVE20多小时,等待事件SQL*Net more data from client 有一人session,从昨天上午11点多登陆(v$session.logi ...
- cosbench read异常解决办法。 Unable to verify integrity of data download. Client calculated content hash didn't match hash calculated by Amazon S3. The data may be corrupt.
问题:cosbench read测试failed 报错如下 Cosbench v0.4.2.c4 against Ceph (Hammer) / radosgw / HAproxy's HTTP en ...
- sql System.Data.SqlClient.SqlError: 无法覆盖文件 'C:\Program Files\Microsoft SQL Server\MSSQL\data\itsm_Data.MDF'。数据库 'my1' 正在使用该文件的解决方案
对数据库备份进行还原时遇到“sql System.Data.SqlClient.SqlError: 无法覆盖文件 'C:\Program Files\Microsoft SQL Server\MSSQ ...
- iReport 5.6.0 Error: net.sf.jasperreports.engine.JRException: Error executing SQL statement for : data 最优解决方案
问题描述 近期学习iReport(个人使用的是最新版本的 iReport-5.6.0,MySQL是 5.5.56版本),遇到一些问题,在安装完成后,创建了数据库,配置了MySQL数据库连接信息,新建报 ...
- SQL to JSON Data Modeling with Hackolade
Review: SQL to JSON data modeling First, let’s review, the main way to represent relations in a rela ...
- 【hbase】Unable to read additional data from client sessionid 0x15c92bd1fca0003, likely client has closed socket
启动hbase ,验证出错 Master is initializing 查看zk日志,发现Unable to read additional data from client sessionid 0 ...
- Azure SQL 数据库仓库Data Warehouse (3) DWU
<Windows Azure Platform 系列文章目录> 在笔者的上一篇文章中:Azure SQL 数据库仓库Data Warehouse (2) 架构 介绍了SQL DW的工作节点 ...
随机推荐
- HDU_2042——递归反推
Problem Description 你活的不容易,我活的不容易,他活的也不容易.不过,如果你看了下面的故事,就会知道,有位老汉比你还不容易.重庆市郊黄泥板村的徐老汉(大号徐东海,简称XDH)这两年 ...
- 黑马程序员_<<IO流基本操作(Writer,Reader)>>
--------------------ASP.Net+Android+IOS开发..Net培训.期待与您交流! -------------------- 1.概述 硬盘之间的文件的传输,硬盘中文件的 ...
- 基准测试之netperf
使用 server端 [root@jiangyi01.sqa.zmf /home/ahao.mah/ALIOS_QA/tools/netperf] #netserver -p 10001 Starti ...
- Android笔记(一):从this关键字发散
this指的是直接包含它的类的实例. 例如: public class MyClass{ int num; public MyClass(int num){ this.num = num; } } 这 ...
- Sea.js
SeaJS与RequireJS最大的区别 执行模块的机制大不一样-----------------------------------由于 RequireJS 是执行的 AMD 规范, 因此所有的 ...
- Android学习笔记(二)之异步加载图片
最近在android开发中碰到比较棘手的问题,就是加载图片内存溢出.我开发的是一个新闻应用,应用中用到大量的图片,一个界面中可能会有上百张图片.开发android应用的朋友可能或多或少碰到加载图片内存 ...
- c\c++复习基础要点08--c++单例模式
单例模式有许多种实现方法,在c++中,甚至可以直接用一个全局变量做到这一点,但是这样的代码显得不优雅.使用全局对象能够保证方便地访问实例,但是不能保证只声明一个对象——也就是说除了一个全局实例外,仍然 ...
- Nuget找不到服务器
Nuget的新地址 http://nuget-prod-v2gallery.trafficmanager.net/api/v2/
- android SlidingTabLayout实现ViewPager页卡滑动效果
先来张效果图(能够滑动切换页卡) watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvcGVuZ2t2/font/5a6L5L2T/fontsize/400/fi ...
- c# 操作PPT
前段时间要做一个把指定图片放到新建的ppt的东西,在网上找了点资料看了一下,发现用C#做好像是最简单的一个,一下是在网上找的一段代码,直接贴进去就能够执行,可是在执行之前一定要加入dll支持: 项目 ...