日志操作是不是比较消耗 CPU?
最近在做一个停车的道闸的系统,道闸和中心服务器的通信方式是轮询的方式,大概一台闸机每隔100毫秒轮询一次中心服务器,然后共计3台闸机的样子,不知道为啥cpu经常出现吃满100%然后服务死掉的情况(大概每2个小时发生一次),轮询主要代码是查询数据库和更新心跳时间和查询是否有待发的指令(数据库在内网另外的服务器,并没有吃满),技术总监还是一如既往的吐槽php性能差,准备用java重新写了,我想的是php性能虽然差也不至于每秒30次的并发也撑不住吧,所以想找到原因,目前猜测可能的原因还是日志的问题(我的依据是服务卡住的时候我打开日志文件一直在阻塞状态),因为每查询一次数据库,好像日志都会记录,不知道每秒30次的文件操作是否会占用较大的cpu? 如果不是的话,又该从什么地方进行排查呢?
:see_no_evil:php不背这个锅,我有一个项目也是对设备的,不过不是轮训的形式,是长链接,我基本每一个消息都做了写入文件的日志操作,用的也是原生的形式,没有发现有100%的情况.我认为你应该用strace 来查看你的进程在做些什么才导致100%