现象:
100并发压测时,发现cpu的sy值,loadaverage值比较高

备注:
load average(负载):
一段时间内,cpu正在处理 + 等待cpu处理 的进程数之和
可以使用top命令查看
1分钟、5分钟、10分钟
一般关注5分钟、10分钟
更多请参考:https://blog.51cto.com/11009785/2406359

分析:
sy高,一般是系统内部调用导致,磁盘读写,日志读写等造成的

根据猜想去验证问题----->

一般关注的就是cpu、内存、IO

验证IO等:
性能测试调优案例_第1张图片

发现 IO基本没问题

-------------------------------->

再验证内存:
性能测试调优案例_第2张图片

注意:上图中的数据只是为了演示
这里,假设内存占用也正常

-------------------------------------->

使用strace命令跟踪进程,查看什么操作导致的sy比较高
需要先安装 yum install strace

参考这里使用strace跟踪系统调用
https://www.cnblogs.com/kongzhongqijing/articles/4913192.html

---------------------------------------->

可以查看一下文件句柄数的大小,ulimit -n
尽量调大一些,并让开发尽量减少代码中打开文件的数量

--------------------------------------->

使用netstat命令查看tcp的连接情况,看是否有大量的time-wait
修改/etc/sysctl.conf

-------------------------------------->

从架构上看看哪一个点还没有想到

--------------------------------------->

怀疑代码问题

--------------------------------------->

框架本身的问题?