CPU使用不高,但是就是应用速度慢
我们开发了一个采集数据的server,
目前每天有1亿的量,高峰每分钟13W请求;
使用top观察CPU,CPU的占用率也不高,四核CPU空闲其中三个都在80左右,另外一个在40%;内存控制上也没有发现问题,%wa值一直在1%以下,但是其中一个CPU的SI值很高,怀疑Select操作是在这个CPU上运行
使用netstat命令查看网络连接处理ESTABLISHED状态的链接居然有1100,SYN_RECV状态也有600多;
在前端使用客户端访问,有时耗时200MS左右,但是偶尔(10%几率)会在2S左右;
我们使用HTTP服务,自己开发的web server,当初性能压力测试,在webserver上挂空应用,10台压力服务器全上,压倒每秒2W能没有到web server瓶颈,因此瓶颈应该不在webserver上。但是当初只压应用,也在几W的量上。所以我怀疑是不是在线程调度上哪儿不合适,目前我开的50线程(也尝试过将线程减少或增大,影响不大)
请问导致前端应用慢的原因可能是什么,还有SI代表软件中断,请问这个是什么意思,怎么优化