部分性能数据分析的思路
2016-03-01 16:33
183 查看
数据库调优重点:
1、SGA 、PGA 调整
2 redo.log的大小和路径
3.数据文件的自增长
数据库一般建议SGA大小为应用服务器内存的40%,PGA的大小与数据库的连接有关,
数据操作频繁但数据量不大的情况下,每个用户大约占3M-4M.
应用服务器调优重点:
1.线程池
2.连接池
3.JVM参数,中间价参数
4.日志
定位分析方法:
1.数据库CPU高
A.找出消耗PCU的进程<pid> TOP
B.查询问题进程的信息 ps -ef | grep <pid>
C.进入数据库查询进程使用的SQL
SELECT /*+ ORDERED */
sql_text FROM v$sqltext a
WHERE (a.hash_value, a.address) IN
( SELECT DECODE (sql_hash_value, 0, prev_hash_value, sql_hash_value ),
DECODE (sql_hash_value, 0, prev_sql_addr, sql_address) FROM v$session b
WHERE b.paddr = (SELECT addr FROM v$process c WHERE c.spid = '&pid'))
数据库查询可能缺少索引 ,数据库可能配置不对
应对方式:抓快照
2.应用服务器CPU不高
可能有线程锁,看看JVM线程在干什么?
应对方式: kill -3<pid>
可能有异常,大量错误信息输出到NOHUP.OUT文件中,有问题
3.TPS抖动得厉害,一会为0,一会很高,网络占用非常高
有可能是线程锁,也有可能是网络瓶颈
4.TPS稳定下跌,看走势随着时间拉长有可能会跌倒0,
有可能是内存溢出,建议把内存调小,间隔时间打印DUMP,通过工具分析找到瓶颈
5.看线程堆栈,
A.当前大量的线程在忙什么?有没有线程等待?
B.通过JCONSOLE 查看JVM中调用最多的方法,进行性能优化,会对整体性能有比较大的帮助。
可以通过JPOFILE ,FINDBUGS来检验代码性能~~~
1、SGA 、PGA 调整
2 redo.log的大小和路径
3.数据文件的自增长
数据库一般建议SGA大小为应用服务器内存的40%,PGA的大小与数据库的连接有关,
数据操作频繁但数据量不大的情况下,每个用户大约占3M-4M.
应用服务器调优重点:
1.线程池
2.连接池
3.JVM参数,中间价参数
4.日志
定位分析方法:
1.数据库CPU高
A.找出消耗PCU的进程<pid> TOP
B.查询问题进程的信息 ps -ef | grep <pid>
C.进入数据库查询进程使用的SQL
SELECT /*+ ORDERED */
sql_text FROM v$sqltext a
WHERE (a.hash_value, a.address) IN
( SELECT DECODE (sql_hash_value, 0, prev_hash_value, sql_hash_value ),
DECODE (sql_hash_value, 0, prev_sql_addr, sql_address) FROM v$session b
WHERE b.paddr = (SELECT addr FROM v$process c WHERE c.spid = '&pid'))
数据库查询可能缺少索引 ,数据库可能配置不对
应对方式:抓快照
2.应用服务器CPU不高
可能有线程锁,看看JVM线程在干什么?
应对方式: kill -3<pid>
可能有异常,大量错误信息输出到NOHUP.OUT文件中,有问题
3.TPS抖动得厉害,一会为0,一会很高,网络占用非常高
有可能是线程锁,也有可能是网络瓶颈
4.TPS稳定下跌,看走势随着时间拉长有可能会跌倒0,
有可能是内存溢出,建议把内存调小,间隔时间打印DUMP,通过工具分析找到瓶颈
5.看线程堆栈,
A.当前大量的线程在忙什么?有没有线程等待?
B.通过JCONSOLE 查看JVM中调用最多的方法,进行性能优化,会对整体性能有比较大的帮助。
可以通过JPOFILE ,FINDBUGS来检验代码性能~~~
相关文章推荐
- Java 依赖注入标准 JSR-330 简介
- NSDitionary基本用法
- Android fragment的简单使用
- Filter 验证当前访问用户是否登录
- 性能测试培训:WebSocket协议的接口性能之Jmeter
- 树莓派,使用opencv调用自带的摄像头
- 数据库字符串截取函数substr、substring以及 case when函数使用
- Floyd判圈
- VOS3000-2.1.2.0安装 以及linux注册机、相关环境包
- 3Sum Closest
- MyBatis(3.2.3) - Handling enumeration types
- 应用底部栏之Fragment
- Statement、PreparedStatement和CallableStatement异同
- 2月书讯:终究还是来了
- 性能测试分享:Jmeter的api监控工具解决方案
- 第二次作为面试官
- hadoop错误-YarnException: Unauthorized request to start container
- IOS设计模式之工厂模式
- fatal error C1083: 无法打开类型库文件:“msxmld2.dll”: No such file or directory
- postgresql自动提交的问题