缘起,在人群中,我看见你。缘灭,我看见你,在人群中。
像电脑CPU占用过高一般可以直接到任务管理器中停用较高的应用进程或者是扫描查杀电脑是否中了病毒或者是禁用一些不必要的启动项或者是降一下操作系统然而如果是服务器的CPU占用过高那么解决方法就不会这么简单一般而言分这几部走
一般可以根据数据的流向进行性能各部件的分析以我现在使用的系统来说数据流向为用户网络应用服务器(tomacat)后台数据库数据落地(数据是否写入到数据库或者查询到)
其他用户网络-nginx(中间件)应用服务器(tomacat)后台数据库数据落地(数据是否写入到数据库)
在进行性能分析时可以一点一点的排查
此处仅学习如何定位CPU占用过高的进程并进行定位
一准备工作
1高并发的压测脚本(用户登录查询)
2可以连接的应用服务器(用户名密码)
3稳定的网络环境
二脚本调试
1使用jmeter录制完成脚本进行一次基准测试保证脚本可用
2未进行加测前先查看空闲时的系统利用率top 命令直接查看
3配置测试环境使施压机一直对服务器进行压测在查看服务器的运行状况
4查看程序中占用资源最大的线程ID
5将PID=26403转换成16进制printf%x\ 26403,也可以使用其他外部的装换方式
6使用命令 jstack + (3)中进程 | grep + tid 【-C=线程前后行数-A =线程后行数 -B=线程之前行数】 +数字