标签:数据 img src gre 控制 image 时间 数据量 文件
背景:使用 netstat -ano | grep ESTABLISH | grep 11883 监控 send_Q 和 recv_Q 的值,由于单次推送数据量在1w条以上,导致falcon-agent处理不过来,造成数据丢失,图形断点.
有如下两条原因:
也就是每分钟我们会推送 1w~2w 条数据到 falcon,
单线程执行总花费时间 37s 左右,
多线程执行总花费时间为 0s
一开始我们怀疑是单线程执行慢的原因,担心数据未完成插入,被丢弃,所以采用了拉长推送时间,改为每2/3/5分钟尝试,结果都是失败。
后来尝试改为多线程,但是问题依旧,后来经过讨论以及请教其它同事,怀疑是不是因为短时间内推送数据过多(根据同事提供历史单次推送在2000条,没有数据丢失问题),导致 falcon-agent 处理不过来,所以丢弃了部分数据。
于是在原基础上,对数据推送进行切割,分批次推送(500/List)+ 延时(20ms,避免多进程执行过快),控制数据推送总花费时间在 15s 以内,完美解决了此次数据丢失问题。
原因: 短时间内推送数据量过大
解决办法: 分批次推送数据 + 延时
1??send_Q与recv_Q代表什么?
https://stackoverflow.com/questions/36466744/use-of-recv-q-and-send-q?noredirect=1&lq=1
https://milestone-of-se.nesuke.com/sv-basic/linux-basic/ss-netstat/
2??什么是tcp三次握手?
https://github.com/jawil/blog/issues/14
标签:数据 img src gre 控制 image 时间 数据量 文件
原文地址:https://www.cnblogs.com/jonnyan/p/11445389.html