免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 13798 | 回复: 11
打印 上一主题 下一主题

[FastDFS] FastDFS 5.04之IO读事件空转导致CPU狂飙(BUG) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-11-19 17:37 |只看该作者 |倒序浏览
在与同事测试FastDFS过程中发现CPU有异常波动的情况,八核心CPU在系统使用同时达到%60以上,不免诧异,遂对代码进行排查,发现storage有如下两个问题:
1)CPU短暂地飙升
2)特定的情况下,可以导致CPU永久飙升,直到停止程序
这两个问题都是由于IO读事件空转导致。
IO读事件空转也就是epoll触发了一个读事件,调用相应地处理函数,而该处理函数什么事情也不干就返回了,由于事件触发条件还在,因此调用epoll_wait后再次触发,如此反复,CPU消耗在了系统调用上。

具体的分析过程,请看我的csdn博客:http://blog.csdn.net/hfty290/article/details/41257555

1)关于第一个问题,我们目前没有做修改
2)关于第二个问题,我们的修改是在初始化的时候,分配所有的connection内存,而不是分配256个,避免连接数增加时重分配内存,导致IO任务丢失,CPU空转。


请鱼大多多指教,希望能够尽快修复。

论坛徽章:
4
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:56:11IT运维版块每日发帖之星
日期:2016-08-11 06:20:00IT运维版块每日发帖之星
日期:2016-08-15 06:20:00
2 [报告]
发表于 2014-11-20 14:35 |只看该作者

你的博客写得非常详尽,非常感谢你的反馈!
第二个问题是一个比较严重的隐患,近期实现task buffer增量分配引入的,我今天下午已经修复了。
再次感谢楼主的钻研和回馈精神,赞!

论坛徽章:
0
3 [报告]
发表于 2014-11-20 15:11 |只看该作者
@happy_fish100,你好,你刚修复好的版本,更新上去了吗?

论坛徽章:
4
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:56:11IT运维版块每日发帖之星
日期:2016-08-11 06:20:00IT运维版块每日发帖之星
日期:2016-08-15 06:20:00
4 [报告]
发表于 2014-11-20 15:24 |只看该作者
回复 3# skybob

已经更新了,github地址:https://github.com/happyfish100/libfastcommon

论坛徽章:
0
5 [报告]
发表于 2014-11-20 15:35 |只看该作者
楼主这个情况是怎么场景下复现的昵,我刚好在用这个版本

论坛徽章:
0
6 [报告]
发表于 2014-11-20 15:35 |只看该作者
是超过256个并发就会出现么

论坛徽章:
0
7 [报告]
发表于 2014-11-20 16:24 |只看该作者
回复 4# happy_fish100

非常感谢
是不是就把 fast_task_queue.c这个文件,覆盖到服务器上,然后重新安装下libfastcommon就好了?
   

论坛徽章:
4
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:56:11IT运维版块每日发帖之星
日期:2016-08-11 06:20:00IT运维版块每日发帖之星
日期:2016-08-15 06:20:00
8 [报告]
发表于 2014-11-20 16:24 |只看该作者
未必一定出现异常吧。我们这边线上并发超过了1K,上线大约两周还没有发现异常。
隐患就是隐患,说不定那天爆发,还是尽快修复为好。

论坛徽章:
4
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:56:11IT运维版块每日发帖之星
日期:2016-08-11 06:20:00IT运维版块每日发帖之星
日期:2016-08-15 06:20:00
9 [报告]
发表于 2014-11-20 16:26 |只看该作者
回复 7# skybob

恩,对的。
简单起见,可以整体git pull下来。

论坛徽章:
0
10 [报告]
发表于 2014-11-20 16:33 |只看该作者
回复 9# happy_fish100


    好的,谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP