自己整理的一些性能问题诊断的排查思路
2016-04-21 15:53
260 查看
1、线上线下用户效率低:
1.1、应用服务器资源高
1.1.1、应用服务器CPU高
1.1.1.1、看windows中的process queue length或linux的avg load,确认是否硬件资源不足;
1.1.1.2、取线程dump,查看runnable状态的工作线程和jvm的gc线程;
1.1.1.3、取GC日志,查看是否gc操作频繁;
1.1.2、应用服务器磁盘IO高
1.1.2.1、确认程序是否不断生成新的html静态页面;
1.1.2.2、内存使用,是否用到了虚拟内存;
1.1.2.3、日志写入频繁;
1.1.3、应用服务器内存使用高
1.1.3.1、确认JVM堆内存、栈内存、线程数大小;
1.1.3.2、确认应用是否是虚拟机;
1.2、数据库服务器资源高
1.2.1、数据库服务器CPU高
1.2.1.1、看windows中的process queue length或linux的avg load,确认是否硬件资源不足;
1.2.1.2、取ASH查看top sql;
1.2.1.3、取AWR报告;
1.2.2、数据库服务器磁盘IO高
1.2.2.1、确认磁盘配置、转数、是否raid、raid几;
1.2.2.2、确认SWAP使用
1.2.3、数据库服务器内存使用高
1.2.3.1、数据库的内存配置
1.2.3.2、
1.2、资源使用低
1.2.1、取线程dump,查看block状态的工作线程和jvm的gc线程
1.2.2、取awr报告,查看等待事件
2、线上用户使用正常,线下效率低;
多为某类资源达到上限导致:
检查连接数(是否有线程池)、前端连接数、应用服务连接数、操作系统文件句柄数、TCP连接数(默认一般最大2000)、可用内存等。
1.1、应用服务器资源高
1.1.1、应用服务器CPU高
1.1.1.1、看windows中的process queue length或linux的avg load,确认是否硬件资源不足;
1.1.1.2、取线程dump,查看runnable状态的工作线程和jvm的gc线程;
1.1.1.3、取GC日志,查看是否gc操作频繁;
1.1.2、应用服务器磁盘IO高
1.1.2.1、确认程序是否不断生成新的html静态页面;
1.1.2.2、内存使用,是否用到了虚拟内存;
1.1.2.3、日志写入频繁;
1.1.3、应用服务器内存使用高
1.1.3.1、确认JVM堆内存、栈内存、线程数大小;
1.1.3.2、确认应用是否是虚拟机;
1.2、数据库服务器资源高
1.2.1、数据库服务器CPU高
1.2.1.1、看windows中的process queue length或linux的avg load,确认是否硬件资源不足;
1.2.1.2、取ASH查看top sql;
1.2.1.3、取AWR报告;
1.2.2、数据库服务器磁盘IO高
1.2.2.1、确认磁盘配置、转数、是否raid、raid几;
1.2.2.2、确认SWAP使用
1.2.3、数据库服务器内存使用高
1.2.3.1、数据库的内存配置
1.2.3.2、
1.2、资源使用低
1.2.1、取线程dump,查看block状态的工作线程和jvm的gc线程
1.2.2、取awr报告,查看等待事件
2、线上用户使用正常,线下效率低;
多为某类资源达到上限导致:
检查连接数(是否有线程池)、前端连接数、应用服务连接数、操作系统文件句柄数、TCP连接数(默认一般最大2000)、可用内存等。
相关文章推荐
- Android之获取手机上的图片和视频缩略图thumbnails
- 如何在 Ubuntu 和其他 Linux 发行版中启动、停止和重启服务
- 数据库链接字符串查询网站
- DB2实例管理
- DB2实例管理
- linux
- 保障MySQL数据安全的14个最佳方法
- mysql问答汇集
- 第三章 数据库备份和还原
- 安全帐户管理器初始化失败:目录服务无法启动,错误状态 0xc00002e1 lsass.exe
- 创建一个空的IBM DB2 ECO数据库的方法
- Access 2000 数据库 80 万记录通用快速分页类
- 开通一个数据库失败的原因的和解决办法
- 一个简单的asp数据库操作类
- 将批处理文件注册成服务在系统启动的时候自动调用
- CentOS下DB2数据库安装过程详解
- EasyASP v1.5发布(包含数据库操作类,原clsDbCtrl.asp)第1/2页
- 全球路由DNS服务器
- sql2008 还原数据库解决方案