Linux下,实际的增量并不大,但英方数据同步产生大量缓存数据的原因探究
发表于 2019-03-22
点击数 4342

症状:


下图为使用英方6.0-12790保护数据的实时流量图案例,其文件是某第三方开发的软件(Tomcat+Java)处理而来的。由图中右上角可见,磁盘缓存为 1.02GB,单实际同样的时间点,监控目录下只有一个12Mb大小的文件产生,差别太大。



问题:

使用i2Coopy保护第三方软件写入的数据时,实际新增文件大小与英方软件看到的大小不一致,应该如何解释?


解决方案:


一、解释说明
英方软件属于内核态,捕获到的数据是应用程序与操作系统之间交互的所有I/O写入,对于频繁的小I/O,英方的处理方式是,每一个I/O处理为4KB数据包进行传输。因此,当英方看到的大小与源端实际增量差别较大时,一般与第三方软件写数据的方式有直接关系,如果是大量小I/O的写入设计,会出现传输量与文件增量不一致的情况。

二、排查方法
在生产端,执行如下检查操作:
1、查看磁盘挂载情况
             df -h
2、查看目前磁盘数据量
             iostat -m 
3、查看变化的是哪些文件
             lsof | grep 复制路径  
4、再次查看当前磁盘数据量,结合步骤1、对比步骤2得出变化的文件大小
             iostat -m 


 分析方法举例:


5、查看文件准确的变化量
              repset -Q perdbg
              debugctl work task 规则uuid


如上图所示,增量数据产生后,不传输,直接写缓存。

6、CDP辅助
还可以针对监控目录,在控制台对应的规则中勾选开启CDP,使用CDP功能进行辅助排查,更加清楚和明了捕获到的每一次I/O操作是什么,大小是多大,从而判断是什么原因导致的产生不正常的缓存。如下图所示,可见所举案例的每次 I/O只有1字节 写入,即使一个很小的文件,也会产生大量的I/O。这样的写入方式,不用英方时,机器的负载就已经非常吃力,系统性能被拉得很低。
综上所述,应用程序开发得好与不好,英方还能作为一个很好的验证工具。


三、处理办法

1、可自行修改文件处理软件的文件写入方式;

2、若没有条件或能力修改软件代码,可使用英方的一致性比较工具做定时备份,可达到分钟级容灾备份;
3、待英方后续版本对小I/O捕获的处理方式进行优化。


相关文章
上一篇:
下一篇:

及时响应,快速服务,为您保驾续航

立即注册

请先完成图形验证

验  证  码:

英方官网验证码
第三方二维码 第三方二维码
请先完成图形验证

验  证  码:

英方用户注册验证码
隐私声明
当您在本网站进行合作伙伴注册登记,本网站将收集您的相关信息,并保存记录。本网站收集的个人信息包括但不限于:姓名、地址、公司、所在地区、电话号码以及电子邮件地址等。您主动提供的信息越多及越准确,我们就能够更好地为您提供有关服务。
英方公告铃铛图标
英方公告铃铛图标

公告

英方侧边栏向右箭头
英方高亮提示圆点
英方软件 2026 年端午节放假通知
尊敬的各位客户、合作伙伴:
根据国家法定节假日安排,我司2026 年端午节放假时间为 6 月 19 日(周五)—6 月 21 日(周日),共 3 天,6 月 22 日(周一)恢复正常办公。
假期期间,日常业务咨询、工单处理、技术支持等服务将相应顺延。如有紧急事务,可联系专属对接人员。
由此带来的不便,敬请谅解。祝愿大家端午安康,万事顺遂!
英方软件
2026 年 6 月 9 日
英方邮件咨询图标
英方邮件咨询图标

邮件

英方销售支持图标
英方销售支持图标

销售

英方侧边栏向右箭头
联系销售:400-0078-655 转 1
英方社交分享图标
英方社交分享图标

分享

英方侧边栏向右箭头
英方微信公众号图标
微信二维码1 微信二维码2
英方新浪微博图标 英方知乎官方账号图标 英方今日头条图标