忘记密码   免费注册 查看新帖 | 论坛精华区

ChinaUnix.net

  平台 论坛 博客 认证专区 大话IT HPC论坛 徽章 文库 沙龙 自测 下载 频道自动化运维 虚拟化 储存备份 C/C++ PHP MySQL 嵌入式 Linux系统
12下一页
最近访问板块 发新帖
查看: 2708 | 回复: 14

[Linux] linux环境下write怪现象(写入500M耗时20S) [复制链接]

论坛徽章:
0
发表于 2016-05-11 19:38 |显示全部楼层
本帖最后由 cp3alai 于 2016-05-11 19:40 编辑

今天遇到了一个怪现象,因为我最后没有排查到原因,只能尽力描述,希望遇到类似情况的大牛们提供一个思路.
我所作的是一个频繁文件写入的系统,之前都好好的,但是今天突然各种丢包,最后定位到,系统调用write的时候,仅仅写入500M,竟然会卡住10s ~ 20s.
我的环境是CentOS6.5, 文件系统是xfs, 3个2T盘做的raid0,通过dd测试,磁盘写入性能可以达到380M/s .
就像问下各位大神,有没有遇到过类似情况的,你们是怎么处理的?
谢谢!!!
也希望即使没有遇到过类似问题的同学,也能过来发表一下自己的见解,不胜感激.

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
发表于 2016-05-11 21:38 |显示全部楼层
回复 1# cp3alai


    你是怎么写的?

曾经碰到一个问题,程序一旦打开log,就变得剧慢无比,最后发现是写log的时候频繁 flush,导致系统调用不但量大增多了,而且耗时也增加了。

论坛徽章:
0
发表于 2016-05-12 10:27 |显示全部楼层
我自己弄了两个500M的缓冲区,有数据的时候就往其中一个放,放满以后就调用write去同步文件,没有什么特别的地方,然后write就会卡顿20s左右,无论是xfs还是ext4都试过了,都会有这个问题.回复 2# MMMIX


   

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
发表于 2016-05-12 22:43 |显示全部楼层
回复 3# cp3alai


    用 dd 测试一下存储写入速度呢?

论坛徽章:
0
发表于 2016-05-13 16:05 |显示全部楼层
测过的,写入速度384M/s,单独写了一個测试程序:往文件里面写500M,仅用0.4s.回复 4# MMMIX


   

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
发表于 2016-05-13 18:09 |显示全部楼层
回复 5# cp3alai


    那估计就只能跟下程序看看是为什么停住了。

论坛徽章:
2
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:57:09
发表于 2016-05-13 18:12 |显示全部楼层
本帖最后由 lolizeppelin 于 2016-05-13 18:15 编辑

上代码  打log

500M是什么样子的500M

一次性写入500M 还是一次写一写很多个文件加起来500M

有没有并发写

论坛徽章:
0
发表于 2016-05-23 12:13 |显示全部楼层
我试着单步调试过,一次写500M程序很配合的就停在了write这里20s左右,着实怪异.
MMMIX 发表于 2016-05-13 18:09
回复 5# cp3alai

论坛徽章:
0
发表于 2016-05-23 12:25 |显示全部楼层
我单步调试过的,程序就是卡在write调用这里.的确存在并发写的情况.三个写文件线程,线程A,一次写入500M,线程B,C一次写入300M,磁盘IO 300M/S, 即使是这三个线程同时并发执行写操作,这个现象也太过怪异.没有理由write会卡顿20S左右的时间.
lolizeppelin 发表于 2016-05-13 18:12
上代码  打log

500M是什么样子的500M

论坛徽章:
95
程序设计版块每日发帖之星
日期:2015-09-05 06:20:00程序设计版块每日发帖之星
日期:2015-09-17 06:20:00程序设计版块每日发帖之星
日期:2015-09-18 06:20:002015亚冠之阿尔艾因
日期:2015-09-18 10:35:08月度论坛发贴之星
日期:2015-09-30 22:25:002015亚冠之阿尔沙巴布
日期:2015-10-03 08:57:39程序设计版块每日发帖之星
日期:2015-10-05 06:20:00每日论坛发贴之星
日期:2015-10-05 06:20:002015年亚冠纪念徽章
日期:2015-10-06 10:06:482015亚冠之塔什干棉农
日期:2015-10-19 19:43:35程序设计版块每日发帖之星
日期:2015-10-21 06:20:00每日论坛发贴之星
日期:2015-09-14 06:20:00
发表于 2016-05-23 14:30 |显示全部楼层
cp3alai 发表于 2016-05-23 12:25
我单步调试过的,程序就是卡在write调用这里.的确存在并发写的情况.三个写文件线程,线程A,一次写入500M,线程 ...


涉及并发就不好说了。如果可以的话,最好是先把并发停掉/去掉,然后再看看,估计就正常了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

SACC2017购票8.8折优惠进行时

2017中国系统架构师大会(SACC2017)将于10月19-21日在北京新云南皇冠假日酒店震撼来袭。今年,大会以“云智未来”为主题,云集国内外顶级专家,围绕云计算、人工智能、大数据、移动互联网、产业应用等热点领域展开技术探讨与交流。本届大会共设置2大主会场,18个技术专场;邀请来自互联网、金融、制造业、电商等多个领域,100余位技术专家及行业领袖来分享他们的经验;并将吸引4000+人次的系统运维、架构师及IT决策人士参会,为他们提供最具价值的交流平台。
----------------------------------------
优惠时间:2017年8月2日前

活动链接>>
  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号 北京市公安局海淀分局网监中心备案编号:11010802020122
广播电视节目制作经营许可证(京) 字第1234号 中国互联网协会会员  联系我们:
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP