常用性能参数检查方法图示

linux批量处理

系统级

CPU、中断、上下文切换、页换出换入

可用物理内存

网络丢包情况

域名IP映射

可用磁盘

可编写如下脚本获取host.txt

#!/bin/sh

vmstat 1 10 > host.txt
free | awk 'NR==2{print $7}' >> host.txt
netstat -in  |awk '$1=="ens192"{print $0}' >> host.txt
cat /etc/hosts  >> host.txt
cat /etc/hostname >> host.txt
df -h >> host.txt

应用级

端口队列

进程文件描述符

JVM启动参数(非JVM中间件无)

JVM堆内存使用情况(非JVM中间件无)

可编写如下脚本获取host.txt,其中ports.txt文件每行为一个Web端口号,对应一个进程,如

在这里插入图片描述

#!/bin/sh

for port in `cat ports.txt`
do
   echo $port
   echo '获取进程号'
   netstat -nlp |grep :$port |awk '{print $7}' |   awk -F '/' '{print $1}'  >$pid'_'$port.txt
   pid=$(cat $pid'_'$port.txt)
   echo $pid
   echo '获取backlog队列'
   ss -ltnp  |grep -w :$port  |  awk '{print $2" "$3}' > backlog$pid'_'$port.txt
   echo '获取socket描述符'
   echo 'ls /proc/$pid/fd | sort -r -n -k1 | awk "NR==1"'     
   ls /proc/$pid/fd  | sort -r -n -k1 | awk 'NR==1' >limit$pid'_'$port.txt
   echo "cat /proc/$pid/limits | awk '/^Max open files/ {print $4}'"
   cat /proc/$pid/limits | awk '/^Max open files/ {print $4}' >> limit$pid'_'$port.txt
   echo '获取启动参数'
   jcmd $pid VM.flags > vmstart$pid'_'$port.txt
  
   echo '获取堆信息'
   jmap -heap $pid  | awk '{if($1=="MaxHeapSize"||$1=="OldSize"  ) print $3}'   >>vmrun$pid'_'$port.txt  
   jmap -heap $pid  | tail -n 3  | awk -F"%" 'NR==1{print $1}'  >>vmrun$pid'_'$port.txt 
done 

常规检查项

### JDK位数
检查建议

64位

检查方法

1.定位进程使用的java路径(启动时weblogic或tomcat域日志中会打印路径)
2.在java路径下,执行java -version,返回结果有64表示64位,无则表示32位。

在这里插入图片描述

### Weblogic位数
检查建议

64位

检查方法

​ 打开自己的weblogic安装目录,C:\Oracle\Middleware\wlserver_10.3\server\native,在native下有个文件夹。 如果为windows系统则为win/32,则为32位的系统, 如果为Linux系统则为 Linux/,如果有x86_64、64则为64位,如无则为32位。

在这里插入图片描述

### weblogic反向域名解析
检查建议

禁止

检查方法

​ 域路径/config/config.xml文件查看“false”, 不存在则加上此行

在这里插入图片描述

### Tomcat位数检查
检查建议

64位

检查方法

命令行执行TOMCAT目录/bin/version.bat(Linux version.sh),查看“Architecture”值

### Tomcat反向域名解析
检查建议

禁止

检查方法

​ OMCAT目录/conf/server.xml,enableLookups设置为false

在这里插入图片描述

### CPU占用情况
检查建议

总体使用量<70%

检查方法

​ 1.在windows系统,打开任务管理器->“性能”,可获知CPU利用率,其次点击CPU图右键,选择“逻辑处理器”,可看见每个CPU即核数;

​ 2.在Linux系统,执行Top命令,见%CPU列,使用率=100%-id百分比;其次按1可看见CPU个数即核数。

在这里插入图片描述

在这里插入图片描述

### 物理内存
检查建议

可用内存>4G ,预留文件处理、socket网络连接、硬件缓存等。

检查方法

​ 1.在windows系统,打开任务管理器->“性能”,可获知内存使用情况;
​ 2.在Linux系统,执行free -m ,查看Mem行,其中可用内存free+buffers+cached。

在这里插入图片描述

### 磁盘
检查建议

每个分区可用大于30%

检查方法

​ 1.在windows系统,查看我的电脑,可获知磁盘使用情况;

​ 2.在Linux系统,执行df -h,可获知磁盘使用情况;也使用 df -i监控文件原数据使用情况。

在这里插入图片描述

### JVM内存
检查建议

单机所有-Xmx之和不超过物理内存-4G,

检查方法

​ 通常主机中任务管理看到是物理内存,JVM内存分配的是虚拟内存。理论上虚拟内存大于等于物理内存,每个进程都有一个虚拟内存,一台主机上的所有进程可使用虚拟内存总和=物理内存+交换内存,交换内存使用额外压缩的物理内存或磁盘做存储,当应用虚拟内存使用不够时,会使用交换内存,交换内存使用会降低应用程序性能,所以生产上要求JVM最大内存<=操作物理内存-4G,其中-4G指的是为操作系统保留4G的文件缓存和网络缓存。32位程序虚拟内存一般限制在1.5G~2G,64位操作系统对虚拟内存可认为无限制(也跟总线有关)。在Windows Server 2003 系统测试下,3.5G物理内存,JDK 5.0下测试,最大JVM内存可设置为1478m。所以要求应用服务器、JVM、操作系统等软件必须为64位。
可内存配置多大没有统一的标准,跟系统复杂度、系统压力都有关,在业务高峰期执行 jstat(参考文档中的章节“7.1.1.1,7.1.2.1”),持续查看一段时间或在windows系统上使用JDK路径/bin/console.exe连接查看。以确定峰值使用情况。

在这里插入图片描述

##### jdk<=1.6

​ jstat -gcutil pid 3000 5 表示每3秒执行一次查看来年代内存O和垃圾回收次数FGC,若有明显增加,则进行第二步。

在JDK1.6版本中无jmap -heap命令,也可以通过jps -lmv观察-Xmx值,再使用jstat命令观察oldsize,计算占比。

在这里插入图片描述

jdk>1.6

jmap -heap pid 查看老年代Old Generation。
jmap -histo:live pid 强制执行垃圾回收。
再次执行jstat或jmap -heap ,观察老年代占比是否明显降低至<30%,没降低基本可以确定内存占用过多未释放。

在这里插入图片描述

### window cmd控制台
检查建议

屏幕宽度,高度500以下。

检查方法

​ windows环境下,查看域cmd窗口,点击头部空白处,属性->布局,查看屏幕缓冲区设置,宽度和高度调整至500以下。

在这里插入图片描述

mysql检查项

### 慢SQL
检查建议

​ SQL执行时间>5秒。

检查方法

​ 按平均时间降序排列,按秒输出,调优的标准可以是>5秒的SQL

use `performance_schema`;

SELECT DIGEST_TEXT,AVG_TIMER_WAIT/1000/1000/1000/1000 FROM events_statements_summary_by_digest order by AVG_TIMER_WAIT desc
### 连接数量
检查建议

​ 不小于5,不大于200,过小可能说明是否客户端存在问题或网络存在问题,过大说明压力大,要关注优化。

检查方法

​ 查看在线连接数。

SHOW GLOBAL STATUS LIKE 'Threads_connected';
### 错误情况
检查建议

​ 判断是否存在出错的SQL,或出错的SQL是否可接受。

检查方法
select * from events_statements_history h where h.errors >0   order by h.TIMER_END desc;

其他

化。

检查方法

​ 查看在线连接数。

SHOW GLOBAL STATUS LIKE 'Threads_connected';
### 错误情况
检查建议

​ 判断是否存在出错的SQL,或出错的SQL是否可接受。

检查方法
select * from events_statements_history h where h.errors >0   order by h.TIMER_END desc;

其他

参考https://www.modb.pro/db/624580

  • 11
    点赞
  • 22
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值