oracle性能调优之找出属于你的瓶颈!

无声寡人 2017-10-19 03:07:36


以下是我用awr生成的报告






请各位大佬帮忙看一下还有没有优化的空间
需要什么数据大佬尽管提
随时在线


对不起我是标题党
...全文
1565 36 打赏 收藏 转发到动态 举报
写回复
用AI写文章
36 条回复
切换为时间正序
请发表友善的回复…
发表回复
无声寡人 2017-10-19
  • 打赏
  • 举报
回复
引用 35 楼 minsic78 的回复:
[quote=引用 33 楼 qq_32686733 的回复:] [quote=引用 32 楼 minsic78 的回复:] [quote=引用 31 楼 qq_32686733 的回复:] [quote=引用 29 楼 minsic78 的回复:] [quote=引用 28 楼 qq_32686733 的回复:] [quote=引用 26 楼 minsic78 的回复:] [quote=引用 24 楼 qq_32686733 的回复:] [quote=引用 22 楼 minsic78 的回复:] 另外,如果要上生产,那么redo放在内存上是无论如何都不能接受的,如果想要减少redo相关等待,可以考虑上pcie ssd
我当前机器是机械硬盘 为了测试速度 所以才放到内存上的 到生产就放到固态上面了[/quote] 那么你的测试环境会比生产快,从现在日志量生成速度来看,25M/s,还是挺大的,如果涉及到多线程并行插入这张表,redo相关等待可能也会成问题,当然,如果真有并行插入的话,那么还有更多的东西需要优化了,如果你表上加了索引,那性能也会收到极大的负面影响……总之要考虑的东西可能还有很多很多……[/quote] 恩 没关系 目前也只是测一个最快速度而已 我测过固态的速度 100W在35S左右 但是很可惜 没有达到centos6上面11g的速度 100W在8S左右[/quote] 同样软硬件配置,除了11g和12c区别,差那么多?不太应该啊[/quote] 我也感觉不应该 两台服务器的区别是 11g -- cpu 32核 固态 12c cpu8核 机械 但是我把12c的数据和redo日志放到内存上了 感觉还是不应该[/quote] CPU频率不一样,型号不一样?[/quote] 不一样 下边是型号对比 左是12c 右是11g [/quote] 因为你的insert语句基本上都是花在CPU上了,我想也只有这个解释了。看来主频还是差的挺多的,差不多接近80%[/quote] 感谢解答
minsic78 2017-10-19
  • 打赏
  • 举报
回复
引用 33 楼 qq_32686733 的回复:
[quote=引用 32 楼 minsic78 的回复:] [quote=引用 31 楼 qq_32686733 的回复:] [quote=引用 29 楼 minsic78 的回复:] [quote=引用 28 楼 qq_32686733 的回复:] [quote=引用 26 楼 minsic78 的回复:] [quote=引用 24 楼 qq_32686733 的回复:] [quote=引用 22 楼 minsic78 的回复:] 另外,如果要上生产,那么redo放在内存上是无论如何都不能接受的,如果想要减少redo相关等待,可以考虑上pcie ssd
我当前机器是机械硬盘 为了测试速度 所以才放到内存上的 到生产就放到固态上面了[/quote] 那么你的测试环境会比生产快,从现在日志量生成速度来看,25M/s,还是挺大的,如果涉及到多线程并行插入这张表,redo相关等待可能也会成问题,当然,如果真有并行插入的话,那么还有更多的东西需要优化了,如果你表上加了索引,那性能也会收到极大的负面影响……总之要考虑的东西可能还有很多很多……[/quote] 恩 没关系 目前也只是测一个最快速度而已 我测过固态的速度 100W在35S左右 但是很可惜 没有达到centos6上面11g的速度 100W在8S左右[/quote] 同样软硬件配置,除了11g和12c区别,差那么多?不太应该啊[/quote] 我也感觉不应该 两台服务器的区别是 11g -- cpu 32核 固态 12c cpu8核 机械 但是我把12c的数据和redo日志放到内存上了 感觉还是不应该[/quote] CPU频率不一样,型号不一样?[/quote] 不一样 下边是型号对比 左是12c 右是11g [/quote] 因为你的insert语句基本上都是花在CPU上了,我想也只有这个解释了。看来主频还是差的挺多的,差不多接近80%
无声寡人 2017-10-19
  • 打赏
  • 举报
回复
忘了cpu型号的问题了 靠 差很多啊 我明天换一下试试
无声寡人 2017-10-19
  • 打赏
  • 举报
回复
引用 32 楼 minsic78 的回复:
[quote=引用 31 楼 qq_32686733 的回复:]
[quote=引用 29 楼 minsic78 的回复:]
[quote=引用 28 楼 qq_32686733 的回复:]
[quote=引用 26 楼 minsic78 的回复:]
[quote=引用 24 楼 qq_32686733 的回复:]
[quote=引用 22 楼 minsic78 的回复:]
另外,如果要上生产,那么redo放在内存上是无论如何都不能接受的,如果想要减少redo相关等待,可以考虑上pcie ssd


我当前机器是机械硬盘 为了测试速度 所以才放到内存上的 到生产就放到固态上面了[/quote]

那么你的测试环境会比生产快,从现在日志量生成速度来看,25M/s,还是挺大的,如果涉及到多线程并行插入这张表,redo相关等待可能也会成问题,当然,如果真有并行插入的话,那么还有更多的东西需要优化了,如果你表上加了索引,那性能也会收到极大的负面影响……总之要考虑的东西可能还有很多很多……[/quote]

恩 没关系 目前也只是测一个最快速度而已 我测过固态的速度 100W在35S左右 但是很可惜 没有达到centos6上面11g的速度 100W在8S左右[/quote]

同样软硬件配置,除了11g和12c区别,差那么多?不太应该啊[/quote]

我也感觉不应该 两台服务器的区别是 11g -- cpu 32核 固态 12c cpu8核 机械

但是我把12c的数据和redo日志放到内存上了 感觉还是不应该[/quote]

CPU频率不一样,型号不一样?[/quote]

不一样
下边是型号对比 左是12c 右是11g

minsic78 2017-10-19
  • 打赏
  • 举报
回复
引用 31 楼 qq_32686733 的回复:
[quote=引用 29 楼 minsic78 的回复:] [quote=引用 28 楼 qq_32686733 的回复:] [quote=引用 26 楼 minsic78 的回复:] [quote=引用 24 楼 qq_32686733 的回复:] [quote=引用 22 楼 minsic78 的回复:] 另外,如果要上生产,那么redo放在内存上是无论如何都不能接受的,如果想要减少redo相关等待,可以考虑上pcie ssd
我当前机器是机械硬盘 为了测试速度 所以才放到内存上的 到生产就放到固态上面了[/quote] 那么你的测试环境会比生产快,从现在日志量生成速度来看,25M/s,还是挺大的,如果涉及到多线程并行插入这张表,redo相关等待可能也会成问题,当然,如果真有并行插入的话,那么还有更多的东西需要优化了,如果你表上加了索引,那性能也会收到极大的负面影响……总之要考虑的东西可能还有很多很多……[/quote] 恩 没关系 目前也只是测一个最快速度而已 我测过固态的速度 100W在35S左右 但是很可惜 没有达到centos6上面11g的速度 100W在8S左右[/quote] 同样软硬件配置,除了11g和12c区别,差那么多?不太应该啊[/quote] 我也感觉不应该 两台服务器的区别是 11g -- cpu 32核 固态 12c cpu8核 机械 但是我把12c的数据和redo日志放到内存上了 感觉还是不应该[/quote] CPU频率不一样,型号不一样?
无声寡人 2017-10-19
  • 打赏
  • 举报
回复
引用 29 楼 minsic78 的回复:
[quote=引用 28 楼 qq_32686733 的回复:] [quote=引用 26 楼 minsic78 的回复:] [quote=引用 24 楼 qq_32686733 的回复:] [quote=引用 22 楼 minsic78 的回复:] 另外,如果要上生产,那么redo放在内存上是无论如何都不能接受的,如果想要减少redo相关等待,可以考虑上pcie ssd
我当前机器是机械硬盘 为了测试速度 所以才放到内存上的 到生产就放到固态上面了[/quote] 那么你的测试环境会比生产快,从现在日志量生成速度来看,25M/s,还是挺大的,如果涉及到多线程并行插入这张表,redo相关等待可能也会成问题,当然,如果真有并行插入的话,那么还有更多的东西需要优化了,如果你表上加了索引,那性能也会收到极大的负面影响……总之要考虑的东西可能还有很多很多……[/quote] 恩 没关系 目前也只是测一个最快速度而已 我测过固态的速度 100W在35S左右 但是很可惜 没有达到centos6上面11g的速度 100W在8S左右[/quote] 同样软硬件配置,除了11g和12c区别,差那么多?不太应该啊[/quote] 我也感觉不应该 两台服务器的区别是 11g -- cpu 32核 固态 12c cpu8核 机械 但是我把12c的数据和redo日志放到内存上了 感觉还是不应该
无声寡人 2017-10-19
  • 打赏
  • 举报
回复
引用 27 楼 minsic78 的回复:
那个append_values提示建议加上试试,或许会有惊喜
我目前采用的测试方式 是有对比的 所以暂时先不考虑这种方式 不过以后优化语句的时候可以考虑
minsic78 2017-10-19
  • 打赏
  • 举报
回复
引用 28 楼 qq_32686733 的回复:
[quote=引用 26 楼 minsic78 的回复:] [quote=引用 24 楼 qq_32686733 的回复:] [quote=引用 22 楼 minsic78 的回复:] 另外,如果要上生产,那么redo放在内存上是无论如何都不能接受的,如果想要减少redo相关等待,可以考虑上pcie ssd
我当前机器是机械硬盘 为了测试速度 所以才放到内存上的 到生产就放到固态上面了[/quote] 那么你的测试环境会比生产快,从现在日志量生成速度来看,25M/s,还是挺大的,如果涉及到多线程并行插入这张表,redo相关等待可能也会成问题,当然,如果真有并行插入的话,那么还有更多的东西需要优化了,如果你表上加了索引,那性能也会收到极大的负面影响……总之要考虑的东西可能还有很多很多……[/quote] 恩 没关系 目前也只是测一个最快速度而已 我测过固态的速度 100W在35S左右 但是很可惜 没有达到centos6上面11g的速度 100W在8S左右[/quote] 同样软硬件配置,除了11g和12c区别,差那么多?不太应该啊
无声寡人 2017-10-19
  • 打赏
  • 举报
回复
引用 26 楼 minsic78 的回复:
[quote=引用 24 楼 qq_32686733 的回复:] [quote=引用 22 楼 minsic78 的回复:] 另外,如果要上生产,那么redo放在内存上是无论如何都不能接受的,如果想要减少redo相关等待,可以考虑上pcie ssd
我当前机器是机械硬盘 为了测试速度 所以才放到内存上的 到生产就放到固态上面了[/quote] 那么你的测试环境会比生产快,从现在日志量生成速度来看,25M/s,还是挺大的,如果涉及到多线程并行插入这张表,redo相关等待可能也会成问题,当然,如果真有并行插入的话,那么还有更多的东西需要优化了,如果你表上加了索引,那性能也会收到极大的负面影响……总之要考虑的东西可能还有很多很多……[/quote] 恩 没关系 目前也只是测一个最快速度而已 我测过固态的速度 100W在35S左右 但是很可惜 没有达到centos6上面11g的速度 100W在8S左右
minsic78 2017-10-19
  • 打赏
  • 举报
回复
那个append_values提示建议加上试试,或许会有惊喜
minsic78 2017-10-19
  • 打赏
  • 举报
回复
引用 24 楼 qq_32686733 的回复:
[quote=引用 22 楼 minsic78 的回复:] 另外,如果要上生产,那么redo放在内存上是无论如何都不能接受的,如果想要减少redo相关等待,可以考虑上pcie ssd
我当前机器是机械硬盘 为了测试速度 所以才放到内存上的 到生产就放到固态上面了[/quote] 那么你的测试环境会比生产快,从现在日志量生成速度来看,25M/s,还是挺大的,如果涉及到多线程并行插入这张表,redo相关等待可能也会成问题,当然,如果真有并行插入的话,那么还有更多的东西需要优化了,如果你表上加了索引,那性能也会收到极大的负面影响……总之要考虑的东西可能还有很多很多……
minsic78 2017-10-19
  • 打赏
  • 举报
回复
引用 23 楼 qq_32686733 的回复:
[quote=引用 21 楼 minsic78 的回复:] [quote=引用 20 楼 qq_32686733 的回复:] [quote=引用 19 楼 minsic78 的回复:] [quote=引用 18 楼 qq_32686733 的回复:] [quote=引用 17 楼 minsic78 的回复:] 楼主,那个ASH也是有问题的,里面没有SQL,这可能是因为你跑的插入语句不在这段时间内导致的。 我看了你后面的AWR,就是insert语句的单条插入吧,可以加上APPEND_VALUES提示试试: INSERT /*+ APPEND_VALUES(PERTEST50B) */ into PERTEST50B ... 你可以考虑下用我9楼的方法拿下AWR报告,或者可以多跑些数据,重要的是,手快,在执行插入前后,尽量不要浪费时间,直接使用那个create_snap过程生成快照,或者你可以多插入些数据,可以让你手工快照的采集方便点。
我用你9楼的方式生成了一份报告 再看一下http://godimg.oss-cn-shanghai.aliyuncs.com/awr_203_204.html?Expires=1508430933&OSSAccessKeyId=TMP.AQHNLgCsedMl_cTf9VIJKWh4r7pry0Czdrx8p2pyVWAcJMrsyMRAR6CrawoNADAtAhQawxNCpTgEX7DiSTampl8JMARYQQIVAPlqnzKclHvueXh4kbvuwsCWqK_i&Signature=kLiZ53AIbnV4M3ejDEPwIg3ilyk%3D[/quote] 除了加上append_values提示外,没太多优化的空间了。[/quote] 恩恩 我还有一点疑惑 8核cpu VS 32核cpu 服务器安装的oracle centos7 vs centos6 以上两个性能的对比有区别吗?(在像我这样测试的情况下) [/quote] 看你AWR报告的话,CPU不需要那么多了,1核可能都差不多了。 7能不用还是不要用了,现在坑还比较多[/quote] 公司要求没办法 有没有办法提高利用CPU起到提速的作用呢?[/quote] CPU资源够用的啊,CPU利用率也就接近1/8的样子
无声寡人 2017-10-19
  • 打赏
  • 举报
回复
引用 22 楼 minsic78 的回复:
另外,如果要上生产,那么redo放在内存上是无论如何都不能接受的,如果想要减少redo相关等待,可以考虑上pcie ssd
我当前机器是机械硬盘 为了测试速度 所以才放到内存上的 到生产就放到固态上面了
无声寡人 2017-10-19
  • 打赏
  • 举报
回复
引用 21 楼 minsic78 的回复:
[quote=引用 20 楼 qq_32686733 的回复:] [quote=引用 19 楼 minsic78 的回复:] [quote=引用 18 楼 qq_32686733 的回复:] [quote=引用 17 楼 minsic78 的回复:] 楼主,那个ASH也是有问题的,里面没有SQL,这可能是因为你跑的插入语句不在这段时间内导致的。 我看了你后面的AWR,就是insert语句的单条插入吧,可以加上APPEND_VALUES提示试试: INSERT /*+ APPEND_VALUES(PERTEST50B) */ into PERTEST50B ... 你可以考虑下用我9楼的方法拿下AWR报告,或者可以多跑些数据,重要的是,手快,在执行插入前后,尽量不要浪费时间,直接使用那个create_snap过程生成快照,或者你可以多插入些数据,可以让你手工快照的采集方便点。
我用你9楼的方式生成了一份报告 再看一下http://godimg.oss-cn-shanghai.aliyuncs.com/awr_203_204.html?Expires=1508430933&OSSAccessKeyId=TMP.AQHNLgCsedMl_cTf9VIJKWh4r7pry0Czdrx8p2pyVWAcJMrsyMRAR6CrawoNADAtAhQawxNCpTgEX7DiSTampl8JMARYQQIVAPlqnzKclHvueXh4kbvuwsCWqK_i&Signature=kLiZ53AIbnV4M3ejDEPwIg3ilyk%3D[/quote] 除了加上append_values提示外,没太多优化的空间了。[/quote] 恩恩 我还有一点疑惑 8核cpu VS 32核cpu 服务器安装的oracle centos7 vs centos6 以上两个性能的对比有区别吗?(在像我这样测试的情况下) [/quote] 看你AWR报告的话,CPU不需要那么多了,1核可能都差不多了。 7能不用还是不要用了,现在坑还比较多[/quote] 公司要求没办法 有没有办法提高利用CPU起到提速的作用呢?
minsic78 2017-10-19
  • 打赏
  • 举报
回复
另外,如果要上生产,那么redo放在内存上是无论如何都不能接受的,如果想要减少redo相关等待,可以考虑上pcie ssd
minsic78 2017-10-19
  • 打赏
  • 举报
回复
引用 20 楼 qq_32686733 的回复:
[quote=引用 19 楼 minsic78 的回复:] [quote=引用 18 楼 qq_32686733 的回复:] [quote=引用 17 楼 minsic78 的回复:] 楼主,那个ASH也是有问题的,里面没有SQL,这可能是因为你跑的插入语句不在这段时间内导致的。 我看了你后面的AWR,就是insert语句的单条插入吧,可以加上APPEND_VALUES提示试试: INSERT /*+ APPEND_VALUES(PERTEST50B) */ into PERTEST50B ... 你可以考虑下用我9楼的方法拿下AWR报告,或者可以多跑些数据,重要的是,手快,在执行插入前后,尽量不要浪费时间,直接使用那个create_snap过程生成快照,或者你可以多插入些数据,可以让你手工快照的采集方便点。
我用你9楼的方式生成了一份报告 再看一下http://godimg.oss-cn-shanghai.aliyuncs.com/awr_203_204.html?Expires=1508430933&OSSAccessKeyId=TMP.AQHNLgCsedMl_cTf9VIJKWh4r7pry0Czdrx8p2pyVWAcJMrsyMRAR6CrawoNADAtAhQawxNCpTgEX7DiSTampl8JMARYQQIVAPlqnzKclHvueXh4kbvuwsCWqK_i&Signature=kLiZ53AIbnV4M3ejDEPwIg3ilyk%3D[/quote] 除了加上append_values提示外,没太多优化的空间了。[/quote] 恩恩 我还有一点疑惑 8核cpu VS 32核cpu 服务器安装的oracle centos7 vs centos6 以上两个性能的对比有区别吗?(在像我这样测试的情况下) [/quote] 看你AWR报告的话,CPU不需要那么多了,1核可能都差不多了。 7能不用还是不要用了,现在坑还比较多
无声寡人 2017-10-19
  • 打赏
  • 举报
回复
引用 19 楼 minsic78 的回复:
[quote=引用 18 楼 qq_32686733 的回复:] [quote=引用 17 楼 minsic78 的回复:] 楼主,那个ASH也是有问题的,里面没有SQL,这可能是因为你跑的插入语句不在这段时间内导致的。 我看了你后面的AWR,就是insert语句的单条插入吧,可以加上APPEND_VALUES提示试试: INSERT /*+ APPEND_VALUES(PERTEST50B) */ into PERTEST50B ... 你可以考虑下用我9楼的方法拿下AWR报告,或者可以多跑些数据,重要的是,手快,在执行插入前后,尽量不要浪费时间,直接使用那个create_snap过程生成快照,或者你可以多插入些数据,可以让你手工快照的采集方便点。
我用你9楼的方式生成了一份报告 再看一下http://godimg.oss-cn-shanghai.aliyuncs.com/awr_203_204.html?Expires=1508430933&OSSAccessKeyId=TMP.AQHNLgCsedMl_cTf9VIJKWh4r7pry0Czdrx8p2pyVWAcJMrsyMRAR6CrawoNADAtAhQawxNCpTgEX7DiSTampl8JMARYQQIVAPlqnzKclHvueXh4kbvuwsCWqK_i&Signature=kLiZ53AIbnV4M3ejDEPwIg3ilyk%3D[/quote] 除了加上append_values提示外,没太多优化的空间了。[/quote] 恩恩 我还有一点疑惑 8核cpu VS 32核cpu 服务器安装的oracle centos7 vs centos6 以上两个性能的对比有区别吗?(在像我这样测试的情况下)
minsic78 2017-10-19
  • 打赏
  • 举报
回复
引用 18 楼 qq_32686733 的回复:
[quote=引用 17 楼 minsic78 的回复:] 楼主,那个ASH也是有问题的,里面没有SQL,这可能是因为你跑的插入语句不在这段时间内导致的。 我看了你后面的AWR,就是insert语句的单条插入吧,可以加上APPEND_VALUES提示试试: INSERT /*+ APPEND_VALUES(PERTEST50B) */ into PERTEST50B ... 你可以考虑下用我9楼的方法拿下AWR报告,或者可以多跑些数据,重要的是,手快,在执行插入前后,尽量不要浪费时间,直接使用那个create_snap过程生成快照,或者你可以多插入些数据,可以让你手工快照的采集方便点。
我用你9楼的方式生成了一份报告 再看一下http://godimg.oss-cn-shanghai.aliyuncs.com/awr_203_204.html?Expires=1508430933&OSSAccessKeyId=TMP.AQHNLgCsedMl_cTf9VIJKWh4r7pry0Czdrx8p2pyVWAcJMrsyMRAR6CrawoNADAtAhQawxNCpTgEX7DiSTampl8JMARYQQIVAPlqnzKclHvueXh4kbvuwsCWqK_i&Signature=kLiZ53AIbnV4M3ejDEPwIg3ilyk%3D[/quote] 除了加上append_values提示外,没太多优化的空间了。
无声寡人 2017-10-19
  • 打赏
  • 举报
回复
引用 17 楼 minsic78 的回复:
楼主,那个ASH也是有问题的,里面没有SQL,这可能是因为你跑的插入语句不在这段时间内导致的。 我看了你后面的AWR,就是insert语句的单条插入吧,可以加上APPEND_VALUES提示试试: INSERT /*+ APPEND_VALUES(PERTEST50B) */ into PERTEST50B ... 你可以考虑下用我9楼的方法拿下AWR报告,或者可以多跑些数据,重要的是,手快,在执行插入前后,尽量不要浪费时间,直接使用那个create_snap过程生成快照,或者你可以多插入些数据,可以让你手工快照的采集方便点。
我用你9楼的方式生成了一份报告 再看一下http://godimg.oss-cn-shanghai.aliyuncs.com/awr_203_204.html?Expires=1508430933&OSSAccessKeyId=TMP.AQHNLgCsedMl_cTf9VIJKWh4r7pry0Czdrx8p2pyVWAcJMrsyMRAR6CrawoNADAtAhQawxNCpTgEX7DiSTampl8JMARYQQIVAPlqnzKclHvueXh4kbvuwsCWqK_i&Signature=kLiZ53AIbnV4M3ejDEPwIg3ilyk%3D
minsic78 2017-10-19
  • 打赏
  • 举报
回复
楼主,那个ASH也是有问题的,里面没有SQL,这可能是因为你跑的插入语句不在这段时间内导致的。 我看了你后面的AWR,就是insert语句的单条插入吧,可以加上APPEND_VALUES提示试试: INSERT /*+ APPEND_VALUES(PERTEST50B) */ into PERTEST50B ... 你可以考虑下用我9楼的方法拿下AWR报告,或者可以多跑些数据,重要的是,手快,在执行插入前后,尽量不要浪费时间,直接使用那个create_snap过程生成快照,或者你可以多插入些数据,可以让你手工快照的采集方便点。
加载更多回复(16)

3,490

社区成员

发帖
与我相关
我的任务
社区描述
Oracle 高级技术相关讨论专区
社区管理员
  • 高级技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧