楼主: xteitxu

[性能调整] 对user i/o的疑惑

[复制链接]
论坛徽章:
11
2012新春纪念徽章
日期:2012-01-04 11:56:442015年新春福章
日期:2015-03-06 11:58:39暖羊羊
日期:2015-03-04 14:53:002014年新春福章
日期:2014-02-18 16:44:08问答徽章
日期:2014-01-02 15:42:02优秀写手
日期:2013-12-18 09:29:11ITPUB社区12周年站庆徽章
日期:2013-08-20 11:30:112013年新春福章
日期:2013-02-25 14:51:24复活蛋
日期:2013-01-25 13:54:43奥运纪念徽章
日期:2012-12-06 09:21:40
21#
 楼主| 发表于 2021-4-22 12:55 | 只看该作者
lfree 发表于 2021-4-22 11:48
我给的建议是设置sga小一些,少20G,采用hugepages,这样可以定住数据库使用的内存不在交换。也许性能会好 ...

现在把ES与ORACLE放在一起,是为了减少网络的延迟。之前分开两台机器,因为ES从ORACLE要读很大量的数据,网络带宽基本被吃满。所以这次放到一台机器做了测试。还有ES刷数据的表都比较大,如果SGA小了,可能会有严重的free buffer waits或相关的等待吧。

使用道具 举报

回复
论坛徽章:
8
2009新春纪念徽章
日期:2009-01-04 14:52:28祖国60周年纪念徽章
日期:2009-10-09 08:28:002010新春纪念徽章
日期:2010-03-01 11:07:24ITPUB9周年纪念徽章
日期:2010-10-08 09:32:25ITPUB十周年纪念徽章
日期:2011-11-01 16:23:262013年新春福章
日期:2013-02-25 14:51:24沸羊羊
日期:2015-03-04 14:51:522015年新春福章
日期:2015-03-06 11:57:31
22#
发表于 2021-4-22 13:42 来自手机 | 只看该作者
xteitxu 发表于 2021-4-22 12:55
现在把ES与ORACLE放在一起,是为了减少网络的延迟。之前分开两台机器,因为ES从ORACLE要读很大量的数据,网 ...

说实话,这种持续大量读写数据的话,调整SGA解决不了根本问题,想办法增加存储性能,换快盘(高速盘或SSD)或加盘(raid)。瓶颈很清楚,就在存储层面。

使用道具 举报

回复
论坛徽章:
8
2009新春纪念徽章
日期:2009-01-04 14:52:28祖国60周年纪念徽章
日期:2009-10-09 08:28:002010新春纪念徽章
日期:2010-03-01 11:07:24ITPUB9周年纪念徽章
日期:2010-10-08 09:32:25ITPUB十周年纪念徽章
日期:2011-11-01 16:23:262013年新春福章
日期:2013-02-25 14:51:24沸羊羊
日期:2015-03-04 14:51:522015年新春福章
日期:2015-03-06 11:57:31
23#
发表于 2021-4-22 14:18 | 只看该作者
刚才看了下楼主提供的awr,确认瓶颈就在IO,又看了下SQL部分,看看是否能优化这些SQL,主要是看看这些SQL的条件列上是否存在索引,再就是,看看SQL语句的执行计划是否走了这些索引。

无标题.png (49.48 KB, 下载次数: 35)

无标题.png

使用道具 举报

回复
论坛徽章:
11
2012新春纪念徽章
日期:2012-01-04 11:56:442015年新春福章
日期:2015-03-06 11:58:39暖羊羊
日期:2015-03-04 14:53:002014年新春福章
日期:2014-02-18 16:44:08问答徽章
日期:2014-01-02 15:42:02优秀写手
日期:2013-12-18 09:29:11ITPUB社区12周年站庆徽章
日期:2013-08-20 11:30:112013年新春福章
日期:2013-02-25 14:51:24复活蛋
日期:2013-01-25 13:54:43奥运纪念徽章
日期:2012-12-06 09:21:40
24#
 楼主| 发表于 2021-4-22 14:57 | 只看该作者
sqysl 发表于 2021-4-22 14:18
刚才看了下楼主提供的awr,确认瓶颈就在IO,又看了下SQL部分,看看是否能优化这些SQL,主要是看看这些SQL的 ...

SQL上我感觉无能为力了。这些SQL中where 字段都有索引。都能正常走索引。IN值基本都在1000,但是IN值不唯一。也就是一条SQL可能跑出来上万行的数据。逻辑读也较大。

使用道具 举报

回复
论坛徽章:
8
2009新春纪念徽章
日期:2009-01-04 14:52:28祖国60周年纪念徽章
日期:2009-10-09 08:28:002010新春纪念徽章
日期:2010-03-01 11:07:24ITPUB9周年纪念徽章
日期:2010-10-08 09:32:25ITPUB十周年纪念徽章
日期:2011-11-01 16:23:262013年新春福章
日期:2013-02-25 14:51:24沸羊羊
日期:2015-03-04 14:51:522015年新春福章
日期:2015-03-06 11:57:31
25#
发表于 2021-4-22 15:45 | 只看该作者
xteitxu 发表于 2021-4-22 14:57
SQL上我感觉无能为力了。这些SQL中where 字段都有索引。都能正常走索引。IN值基本都在1000,但是IN值不唯一 ...

嗯,我贴出的是按照物理读排序的,如果不能通过优化减少物理读,那么,只能增强存储层面的性能了。其实,这个物理读量也不是太大,只是就一块低速盘,跑满了。

使用道具 举报

回复
论坛徽章:
0
26#
发表于 2021-4-22 17:44 | 只看该作者
lfree 发表于 2021-4-22 11:26
AnonHugePages:  68372480/1024/1024 = 65.205078125G内存都被它消耗掉了。

它这个根本就没有使用大内存页啊

使用道具 举报

回复
论坛徽章:
0
27#
发表于 2021-4-22 17:44 | 只看该作者
本帖最后由 cqiwen 于 2021-4-22 17:48 编辑
lfree 发表于 2021-4-22 11:28
》这台服务器上有es服务。es将oracle的数据读到es里。什么叫es,我不懂,能给一些链接之类的吗?

ElasticSearch简称ES。建议还是分批次导入数据至ES。另外就是检查下数据库的IO设置参数,是否开启缓存。

使用道具 举报

回复
论坛徽章:
11
2012新春纪念徽章
日期:2012-01-04 11:56:442015年新春福章
日期:2015-03-06 11:58:39暖羊羊
日期:2015-03-04 14:53:002014年新春福章
日期:2014-02-18 16:44:08问答徽章
日期:2014-01-02 15:42:02优秀写手
日期:2013-12-18 09:29:11ITPUB社区12周年站庆徽章
日期:2013-08-20 11:30:112013年新春福章
日期:2013-02-25 14:51:24复活蛋
日期:2013-01-25 13:54:43奥运纪念徽章
日期:2012-12-06 09:21:40
28#
 楼主| 发表于 2021-4-22 18:49 | 只看该作者
cqiwen 发表于 2021-4-22 17:44
ElasticSearch简称ES。建议还是分批次导入数据至ES。另外就是检查下数据库的IO设置参数,是否开启缓存。

之前做过测试,in 200值,整体速度还没有in 1000的快,就一直延用了in1000。另外你说的IO参数是下面的设置吗?如若不是,请指教。
SQL> show parameter system

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
filesystemio_options                 string      ASYNCH
SQL> show parameter disk

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
asm_diskgroups                       string
asm_diskstring                       string
disk_asynch_io                       boolean     TRUE

使用道具 举报

回复
论坛徽章:
194
红宝石
日期:2014-05-09 08:24:37萤石
日期:2014-01-03 10:25:39奥运会纪念徽章:羽毛球
日期:2008-07-01 10:46:06奥运会纪念徽章:马术
日期:2008-07-07 17:43:24奥运会纪念徽章:射箭
日期:2008-07-25 18:07:39奥运会纪念徽章:皮划艇激流回旋
日期:2008-07-30 10:02:57奥运会纪念徽章:花样游泳
日期:2008-09-26 13:02:43奥运会纪念徽章:排球
日期:2008-12-03 11:23:272010新春纪念徽章
日期:2010-01-04 08:33:082010年世界杯参赛球队:澳大利亚
日期:2010-02-26 11:08:44
29#
发表于 2021-4-22 20:50 | 只看该作者
能查询AnonHugePages是那些地方在用吗?

使用道具 举报

回复
论坛徽章:
0
30#
发表于 2021-4-23 14:19 | 只看该作者
xteitxu 发表于 2021-4-22 18:49
之前做过测试,in 200值,整体速度还没有in 1000的快,就一直延用了in1000。另外你说的IO参数是下面的设置 ...

可以看下这几个IO参数,另外,本来你的硬盘IO是瓶颈,那边建议给ES单独加一块硬盘,不要两套系统都放一块硬盘上。
SQL> show parameter db_writer

NAME                                     TYPE         VALUE
------------------------------------ ----------- ------------------------------
db_writer_processes                     integer         1
SQL> show parameter disk_async

NAME                                     TYPE         VALUE
------------------------------------ ----------- ------------------------------
disk_asynch_io                             boolean         TRUE

SQL> show parameter io_slave

NAME                                     TYPE         VALUE
------------------------------------ ----------- ------------------------------
backup_tape_io_slaves                     boolean         FALSE
dbwr_io_slaves                             integer         0

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表