[20160112]存储还是应用问题.txt

简介: [20160112]存储还是应用问题.txt --上个星期在ITPUB论坛里遇到几个关于磁盘性能地下的问题. --主要链接如下: http://www.itpub.

[20160112]存储还是应用问题.txt

--上个星期在ITPUB论坛里遇到几个关于磁盘性能地下的问题.
--主要链接如下:
http://www.itpub.net/thread-2050157-1-1.html
http://www.itpub.net/thread-2050439-1-1.html
http://www.itpub.net/thread-2050601-1-1.html

--都是表现为磁盘IO相关的等待时间比较大.论坛讨论大部分认为是存储出现问题.
--而其中链接:http://www.itpub.net/thread-2050439-1-1.html
--因为我们旧系统使用的就是该公司的产品,他们的连接数比我们小,而应用出现这个严重的性能问题.
--log file sync单次8354毫秒.

--如果仔细检查可以发现大量索引没有建立,而且看AWR报表发现:

Segments by Physical Reads

    Total Physical Reads: 5,752,157
    Captured Segments account for 94.1% of Total

Owner        Tablespace Name    Object Name        Subobject Name   Obj. Type   Physical Reads        %Total
PHARMACY     TSP_PHARMACY       DRUG_DISPENSE_REC                   TABLE            4,233,164        73.59
OUTPBILL     TSP_OUTPBILL       INVOICE_INFO                        TABLE              763,679        13.28
OUTPBILL     TSP_OUTPBILL       OUTP_BILL_ITEMS                     TABLE              371,704         6.46
OUTPDOCT     TSP_OUTPADM        OUTP_PRESC                          TABLE               18,007         0.31
INPBILL      TSP_INPBILL        INP_BILL_DETAIL                     TABLE                8,609         0.15

Back to Segment Statistics
Back to Top

Segments by Direct Physical Reads

    Total Direct Physical Reads: 5,599,810
    Captured Segments account for 95.8% of Total

Owner        Tablespace Name    Object Name        Subobject Name   Obj. Type   Direct Reads        %Total
PHARMACY     TSP_PHARMACY       DRUG_DISPENSE_REC                   TABLE          4,231,626        75.57
OUTPBILL     TSP_OUTPBILL       INVOICE_INFO                        TABLE            763,584        13.64
OUTPBILL     TSP_OUTPBILL       OUTP_BILL_ITEMS                     TABLE            371,366        6.63

--上下对比问题就很清楚了.
单独拿DRUG_DISPENSE_REC来看:
Direct Physical Reads =4,231,626
Physical Reads = 4,233,164
-- 4233164-4231626=1538 ,真正的物理读仅仅1538.

两者基本相等.我认为Direct Physical Reads算作Physical Reads的一部分.

--看看前面的file IO统计:
Tablespace        Filename                                        Reads        Av Reads/s   Av Rd(ms)     Av Blks/Rd  Writes    Av Writes/s  Buffer Waits  Av Buf Wt(ms)
TSP_PHARMACY      /data/oracle/oradata/orcl/appharmacy.dbf        11,533       3            1593.96        123.35        356              0            2           0.00
TSP_PHARMACY      /data/oracle/oradata/orcl/appharmacy_1.dbf      11,292       3            1563.75        124.17        78               0            9         574.44
TSP_PHARMACY      /data/oracle/oradata/orcl/appharmacy_2.dbf      10,078       3            1519.08        125.44        103              0            3           0.00
TSP_PHARMACY      /data/oracle/oradata/orcl/appharmacy_3.dbf      1,326        0            3546.55        111.28        42               0          141         761.42

--因为文件系统有缓存,这里相对很多.更觉得奇怪的是这么点读(在1个小时内对于服务器就是PC机都不算什么),很明显这里记数的读是真正的物理读.

--从以上来看就是直接路径读造成的问题.而选择直接路径读主要问题是相关语句没有优化或者建立合适的索引.

--我的建议:关闭直接路径读,自己google网上有许多帖子.alter system set "_serial_direct_read"=never scope=memory;

--可惜过去有一段时间,对方也没有回复,希望我的判断是正确的,也许他使用的存储也有问题,cache没打开,电池没电等等因素.

目录
相关文章
|
1月前
|
C++
C++学习系列---读取文件名存入txt和从txt读取每行信息
C++学习系列---读取文件名存入txt和从txt读取每行信息
|
7月前
使用FILE结构操作文本文件
使用FILE结构操作文本文件
|
存储 SQL JSON
csv 文件的读取与存储| 学习笔记
快速学习 csv 文件的读取与存储
177 0
ReadMe2.txt 文件内容拷贝 到 新的ReadMe.txt 分析 : 拷贝: 从ReadMe2.txt读取 写入到ReadMe.txt 1.创建两个文
ReadMe2.txt 文件内容拷贝 到 新的ReadMe.txt 分析 : 拷贝: 从ReadMe2.txt读取 写入到ReadMe.txt 1.创建两个文
使用FileStream向txt格式的文本文件 "追加" 新内容并读取
原文:使用FileStream向txt格式的文本文件 "追加" 新内容并读取 1 //得到文件路径。 2 static string filePath = AppDomain.CurrentDomain.BaseDirectory+"\\TxtFile.txt"; 3 static void Main(string[] args) 4 { 5   //调用写入方法。
906 0
|
关系型数据库 Oracle Linux
[20180415]如何取出这几行数据.txt
[20180415]如何取出这几行数据.txt --//链接http://www.itpub.net/thread-2101289-1-1.html的讨论,测试看看. 1.
865 0
|
C# 数据库管理 Windows
[20170611]关于数据块地址的计算.txt
[20170611]关于数据块地址的计算.txt --//如果数据库出现一些问题,会在alert或者跟踪文件,或者屏幕出现一些错误提示.例如: ORA-00600: internal error code, arguments: [266...
995 0
|
Oracle 关系型数据库 数据库管理
[20170209]索引范围访问2.txt
[20170209]索引范围访问2.txt --ITPUB网友问的问题: http://www.itpub.net/thread-2083504-1-1.html --索引范围扫描是如何访问数据块的? 1 FOR  (根节点-> 分支节点->叶节点->...
687 0
|
SQL Shell 测试技术
[20161023]为什么以前可以这样的表.txt
[20161023]为什么以前可以这样的表.txt --上午看https://oracleblog.org/working-case/ora-01401-impdp-same-character/ CREATE TABLE ASS_ACC...
774 0