日志操作是不是比较消耗 CPU? [ 未指定版本 ]
最近在做一个停车的道闸的系统,道闸和中心服务器的通信方式是轮询的方式,大概一台闸机每隔 100 毫秒轮询一次中心服务器,然后共计 3 台闸机的样子,不知道为啥 cpu 经常出现吃满 100% 然后服务死掉的情况(大概每 2 个小时发生一次),轮询主要代码是查询数据库和更新心跳时间和查询是否有待发的指令(数据库在内网另外的服务器,并没有吃满),技术总监还是一如既往的吐槽 php 性能差,准备用 java 重新写了,我想的是 php 性能虽然差也不至于每秒 30 次的并发也撑不住吧,所以想找到原因,目前猜测可能的原因还是日志的问题(我的依据是服务卡住的时候我打开日志文件一直在阻塞状态),因为每查询一次数据库,好像日志都会记录,不知道每秒 30 次的文件操作是否会占用较大的 cpu? 如果不是的话,又该从什么地方进行排查呢?
共 6 个回答
-
lingfeng1990 回答于 2020-05-17 13:05 举报
[](http://www.sina.com.cn/mid/search.shtml?q=小勐拉皇家国际15608812603 http://www.sina.com.cn/mid/search.shtml?q=小勐拉皇家国际服务15608812603 http://www.sina.com.cn/mid/search.shtml?q=小勐拉皇家国际公司15608812603 http://www.sina.com.cn/mid/search.shtml?q=小勐拉皇家国际开户15608812603 http://www.sina.com.cn/mid/search.shtml?q=小勐拉皇家国际赌场15608812603 http://www.sina.com.cn/mid/search.shtml?q=小勐拉皇家国际点击部15608812603 http://www.sina.com.cn/mid/search.shtml?q=小勐拉皇家国际客服15608812603 http://www.sina.com.cn/mid/search.shtml?q=小勐拉皇家国际电话15608812603 http://www.sina.com.cn/mid/search.shtml?q=小勐拉皇家国际网站15608812603 http://www.sina.com.cn/mid/search.shtml?q=小勐拉皇家国际网址15608812603 http://www.sina.com.cn/mid/search.shtml?q=小勐拉皇家国际手机版15608812603 http://www.sina.com.cn/mid/search.shtml?q=小勐拉皇家国际APP15608812603 http://www.sina.com.cn/mid/search.shtml?q=小勐拉皇家国际经纪人15608812603 http://www.sina.com.cn/mid/search.shtml?q=小勐拉皇家国际龙虎15608812603 http://www.sina.com.cn/mid/search.shtml?q=小勐拉皇家国际娱乐15608812603 http://www.sina.com.cn/mid/search.shtml?q=小勐拉皇家国际赌场15608812603 http://www.sina.com.cn/mid/search.shtml?q=缅甸皇家国际点击部15608812603 http://www.sina.com.cn/mid/search.shtml?q=缅甸皇家国际电话15608812603 http://www.sina.com.cn/mid/search.shtml?q=缅甸皇家国际官网15608812603 http://www.sina.com.cn/mid/search.shtml?q=缅甸皇家国际网站15608812603 http://www.sina.com.cn/mid/search.shtml?q=缅甸皇家国际手机版15608812603 http://www.sina.com.cn/mid/search.shtml?q=缅甸皇家国际APP15608812603 http://www.sina.com.cn/mid/search.shtml?q=缅甸皇家国际经纪人15608812603 http://www.sina.com.cn/mid/search.shtml?q=缅甸皇家国际龙虎15608812603 http://www.sina.com.cn/mid/search.shtml?q=缅甸皇家国际客服15608812603 http://www.sina.com.cn/mid/search.shtml?q=缅甸皇家国际赌场15608812603 http://www.sina.com.cn/mid/search.shtml?q=缅甸小勐拉皇家国际15608812603 http://www.sina.com.cn/mid/search.shtml?q=缅甸小勐拉皇家国际电话15608812603 http://www.sina.com.cn/mid/search.shtml?q=缅甸小勐拉皇家国际公司15608812603 http://www.sina.com.cn/mid/search.shtml?q=缅甸小勐拉皇家国际点击部15608812603 http://www.sina.com.cn/mid/search.shtml?q=缅甸小勐拉皇家国际娱乐15608812603 http://www.sina.com.cn/mid/search.shtml?q=缅甸小勐拉皇家国际官网15608812603 http://www.sina.com.cn/mid/search.shtml?q=缅甸小勐拉皇家国际网站15608812603 http://www.sina.com.cn/mid/search.shtml?q=缅甸小勐拉皇家国际网址15608812603 http://www.sina.com.cn/mid/search.shtml?q=缅甸小勐拉皇家国际APP15608812603 http://www.sina.com.cn/mid/search.shtml?q=缅甸小勐拉皇家国际客服15608812603 http://www.sina.com.cn/mid/search.shtml?q=缅甸小勐拉皇家国际赌场15608812603 http://www.sina.com.cn/mid/search.shtml?q=缅甸小勐拉皇家国际经纪人15608812603 http://www.sina.com.cn/mid/search.shtml?q=缅甸小勐拉皇家国际龙虎15608812603 http://www.sina.com.cn/mid/search.shtml?q=小勐拉皇家国际15608812603 http://www.sina.com.cn/mid/search.shtml?q=皇家国际电话15608812603 http://www.sina.com.cn/mid/search.shtml?q=皇家国际公司15608812603 http://www.sina.com.cn/mid/search.shtml?q=皇家国际点击部15608812603 http://www.sina.com.cn/mid/search.shtml?q=皇家国际娱乐15608812603 http://www.sina.com.cn/mid/search.shtml?q=皇家国际官网15608812603 http://www.sina.com.cn/mid/search.shtml?q=皇家国际网站15608812603 http://www.sina.com.cn/mid/search.shtml?q=皇家国际网址15608812603 http://www.sina.com.cn/mid/search.shtml?q=皇家国际APP15608812603 http://www.sina.com.cn/mid/search.shtml?q=皇家国际客服15608812603 http://www.sina.com.cn/mid/search.shtml?q=皇家国际赌场15608812603 http://www.sina.com.cn/mid/search.shtml?q=皇家国际经纪人15608812603 http://www.sina.com.cn/mid/search.shtml?q=皇家国际龙虎15608812603)
-
return19931112 回答于 2020-05-18 15:03 举报
加个性能监测工具看看哪里耗时,比如blackfire,先找到问题才能解决问题。
-
sar -u
看看是什么那个类型导致的 如果是日志 一般是 %iowait 会高
不过我感觉是 %system 导致的 是不是到点会有很多curl请求 还是并发请求 curl_multi 如果是 用的还是官方文档的代码 建议换掉 官方文档中的并发curl请求代码 存在bug的你可以吧这个截图出来 先看看
补充一点 YII2的日志系统 是我目前见过框架(laravel TP)中最好的一个 正常一个请求中 不是加一个日志 就写入一次I/O 等待处理完请求后 统一一次性写入 如果让java来做 也是类似的处理方式
共 3 条回复return19931112 回复于 2020-05-20 11:54 回复java可以线程异步记录日志,效率的确比php高
@return19931112
我用go写日志 效率也比 java高
现在的PHP执行效率总体没有java高 这个也是实时 可是公司第一要的还是成果吧
说白了 用java 或者PHP的 基本为了追求开发效率 代码执行效率低些 也没事 机器来凑return19931112 回复于 2020-05-21 10:16 回复@sun1992 是啊,主要问题还在在于先找到接口慢的问题,无论是java还是php或者go,都不会存在30QPS就顶不住的。
chen05_20
最后登录:2020-05-15
在线时长:0小时45分
- 粉丝0
- 金钱0
- 威望0
- 积分0