前言 网络后端业务,经常会遇到延迟抖动的问题。那么问题来了,如何排除出来是网络的问题呢,还是业务的逻辑问题呢,或者是其他的调度问题呢? 分析 SRTT 在TCP的连接中,有一个指标叫做SRTT(smoothed round trip time),关于SRTT的计算方法,可以参考linux/net/ipv4/tcp_probe.c,具体的计算逻辑可以参考代码,以及注释中的论文,不在这里展开(主要是作者看不懂)。 所以,能够dump出来的TCP连接的srtt,生成柱状图观察出来延迟的区间变化,我们就可以知道网络连接的srtt是否抖动。如果业务延迟发生了抖动,srtt很稳定,就可以说明大概率不是网络的问题,可能是业务的问题,或者调度的问题等等; 反之,如果srtt页发生了抖动,那么可以先检查一下网络连接。 和tcp probe的关系 tcp probe是内核提供的debug模块,也可以完成类似的功能,不过在高版本的内核上,已经移除掉了。 从原理上来看,都是基于kprobe原理,hook住tcp_rcv_established函数,来dump出来必要的数据。 但是,在使用性上没有bcc方便。需要说明的是,基于kprobe原理的工具都有overhead,在特别频繁调用到的路径上,需要谨慎使用。 tcprtt使用方法和例子
对于控制系统的时间准确度有严格要求。为此,采用搭建高精度NTP服务器的方法实现系统校时。基本思路是从NMEA018 3数据中提取时间信息,通过PPS信号来保证高精度。具体实现方法是采用GPS接收模块G591来构造硬件电路,软件部分需要NTP服务器软件和GPS的正确安装和配置。对照实验表明,基于GPS的NTP服务器校时精度可以达到微秒量级,工作性能稳定而可靠。 引言 准确的时间是天文观测所必需的。天文望远镜在特定时间内的准确指向、CCD曝光时间的控制以及不同波段观测数据所进行的高精度同步比对等应用需要系统至少有亚毫秒的时间准确度。然而就目前来看,一般的计算机和嵌入式设备所使用的晶体振荡器的精度为几个或者几十个ppm(百万分之一秒),并且会受温度漂移的影响,使得每天的误差能够达到秒级,若再考虑元器件的老化或外界干扰等因素,误差可能会超过10 s,如果不及时校正,其误差积累将不可忽视。 网络时间协议NTP(Network Time Protocol)是美国特拉华大学的MILLS David L.教授在1982年提出的,其设计目的是利用互联网资源传递统一和标准的时间。目前,使用GPS信号实现校时的研究工作很多,大多只是通过读取GPS模块解码出的串行数据,提取其中的时间信息来纠正系统时钟,该过程并不涉及NTP的使用,精度较低,一般为几十到几百毫秒。对此,本文充分利用了NTP服务器软件对GPS时钟源的支持,采用串行数据和秒脉冲相结合的方式来校准时间,校时精度大为提高。
基于专家知识库形成运维工具,提升操作系统底层运维能力,具备高效自动化运维能力:通过监控、诊断、维护等达到全过程自动化运维。
前言: Linux的很多监控组件,主要针对IOPS和IO带宽进行监控。很多业务场景下,希望对IO的延迟做监控。单纯的await并不能反映出来IO的延迟具体情况。 例如,ETCD的QPS偏高的时候,latency发生了抖动,长尾效应比较明显。第一反映是IO抖动?还是GC导致? 如果有监控组件,这段时间内,IO latency的抖动和QPS的抖动基本一致,那就比较容易判断是不是IO导致的问题。 分析: 1,QEMU IO 图片选自前文《[linux][storage]Linux存储栈 》
某核心JAVA长连接服务使用MongoDB作为主要存储,客户端数百台机器连接同一MongoDB集群,短期内出现多次性能抖动问题,此外,还出现一次“雪崩”故障,同时流量瞬间跌零,无法自动恢复。本文分析这两次故障的根本原因,包括客户端配置使用不合理、MongoDB内核链接认证不合理、代理配置不全等一系列问题,最终经过多方努力确定问题根源。
(2)可以用在路由器接口使用,只是用于限速,配置接口速率百分比,必须结合队列使用才能生效;
在做MHA测试的时候,有一个重要的环节就是测试MHA Manager节点和Master节点的网络情况,如果产生了抖动,那么MHA本身提供了一个参数secondary_check来保证,但是如果你的部署环境中是一主一从的话,这个参数就不会起作用了,因为latest slave和oldest slave是同一个库,简单来说,连不上就是连不上了,至于切还是不切,这个还不好说。我们测试的场景下,有时候切,有时候不切。所以我们原本测试的MHA0.57版本就降级为了0.56,仔细测试发现,其实也存在这样的问题,综合再三
KVM forum 2019上,作者和同事的演讲主题是《How KVM-based Hybrid Deployment Powers Bytedance’s Biggest Day Ever》。 在这里详细展开一下,介绍一下基于KVM虚拟化的混合部署。下文的脉络大约是: 1,业务背景 2,为什么使用KVM虚拟化方案 3,在使用KVM虚拟化方案的过程中,我们做了那些改进 4,基于KVM虚拟化的混合部署方案取得了怎样的效果
Linux 服务器一键测试脚本,支持speedtest国内外测速(显示上行、下行、抖动和丢包率)、Geekbench v5单核、多核性能测试,Netflix、YOuTube Premium、BiliBili和iQIYI等流媒体解锁测试,以及中国大陆方向路由测试等集成多项常用linux测试项目。
当下的局势,移动办公已经成为主流,远程控制工具也成为了我们日常办公不可或缺的软件。
(1)双桶双速是有两个速度的(cir和pir),系统使用cir(承诺信息速率)朝着cbs(承诺突发尺寸)注入令牌;使用pir(峰值信息速率)朝pbs(峰值突发尺寸),当有数据经过这两个桶时,先检查pbs再检查cbs:
Ping是Linux系统常用的网络命令,它通常用来测试与目标主机的连通性,我们经常会说“ping一下某机器,看是不是开着。它是通过发送ICMP ECHO_REQUEST数据包到网络主机,并显示响应情况,这样我们就可以根据它输出的信息来确定目标主机是否可访问(但这不是绝对的)。
上面两个图片想必大家都见过也用过,那就是QQ的窗口抖动功能,今天给大家带来的就是用C来实现类似QQ窗口抖动的小知识,其实窗口的抖动的原理就是让它在不同的几个位置停顿一小下然后再来回移动,我们先来看代码,稍后再进行解释。
Smokeping 网络链路状态和稳定性监控 环境 centos 7 apache smokeping 安装部署 apache yum -y install httpd httpd-devel gcc make curl wget 安装依赖库 yum -y install libxml2-devel li
不进入这个行当,很少会知道,人们对低延时的渴求。专业人士为了低延时,做过各种各样的努力。以往我们将数据库的某些SQL从秒级优化到毫秒级,至少会在心底里欢呼一下,百倍提升!但在这个行业,人们为了减少1毫秒,可以做出什么疯狂的事情呢?
云聚通(多网聚合加速)能够让手机和各类行业终端可同时使用多运营商蜂窝网络/WiFi网络/卫星网络上网,通过硬件的多物理链路冗余,实现移动网络的增强。云聚通在终端侧提供了支持Android/iOS/Linux的SDK,在对终端业务流量进行拦截后,会按照算法策略分发在多个物理链路上。而云端的聚合网关则会对分散在各个物理链路上的数据包进行重组及去重,还原为原始的业务流量,通过NET网关,从公网或专线出口至业务服务器。
有时你可能需要终端输出许多图片,那么现在就让我们在Linux终端打开一个新窗口显示图片。
iperf 是一款基于命令行模式的网络性能测试工具,提供横跨 windows,linux,mac 的全平台支持。除了能够测试 TCP 以及 UDP 协议的最大带宽外,还能够报告网络延迟,抖动以及丢包率。相比于老牌测试软件 IxChariot 而言,iperf 使用更方便,更容易上手。除此之外 iperf 全程使用内存作为发送/接收缓冲区,不受磁盘性能的影响,对于机器配置要求很低。不过由于是命令行工具, iperf 不支持输出测试图形。下面我们来看看如何使用 iperf 测试网络性能。
SUSE Labs 团队探索了 Kernel CPU 隔离及其核心组件之一:Full Dynticks(或 Nohz Full),并撰写了本系列文章:
对于云上的用户来说,业务日志里面报超时问题处理起来往往比价棘手,因为1) 问题点可能在云基础设施层,也有可能在业务软件层,需要排查的范围非常广;2) 这类问题往往是不可复现问题,抓到现场比较难。在本文里就分析下如何来分辨和排查这类问题的根本原因。
偶然看到一个前端小伙伴写了篇“防抖与节流”,我就想啊,咱后端不也有些喜欢抖来抖去的嘛,我就总结一下吧。 想到几个写几个啊,如果还想看别的抖,可以在评论区留言哦,虽然评论不少,但是我每条都会去看,看到我就加。
线上某集群峰值TPS超过100万/秒左右(主要为写流量,读流量很低),峰值tps几乎已经到达集群上限,同时平均时延也超过100ms,随着读写流量的进一步增加,时延抖动严重影响业务可用性。该集群采用mongodb天然的分片模式架构,数据均衡的分布于各个分片中,添加片键启用分片功能后实现完美的负载均衡。集群每个节点流量监控如下图所示:
作者Liam,海外老码农,对应用密码学、CPU微架构、高速网络通信等领域都有所涉猎。
之前我们和大家分享过EasyDSS开发的Dash版本,EasyDSS新增Dash版本后,可允许客户端根据网络带宽情况自动选择合适的码流进行播放,便于适应网络带宽抖动,同时最大程度上为终端用户提供最好的服务质量,此外,拥有Dash技术的EasyDSS还在CDN分发方面有着更大的优势。
本文档主要说明TL335x-EVM-S评估板基于德国Acontis公司EtherCAT主站协议栈控制伺服电机的方法,内容包含有EC-Master、EC-Engineer简介、EtherCAT主站开发案例测试、EtherCAT主站开发案例编译、EC-Engineer配置ENI文件方法等。
类似云游戏这一类场景是实时视频传输领域中最难的场景,今天主要分享一下我们这两年云游戏场景上做的一些工作和思考,也会提到一些我们不同于行业的观点。
本文主要描述Linux Page Cache优化的背景、Page Cache的基本概念、列举之前针对Kafka的 IO 性能瓶颈采取的一些解决方案、如何进行Page Cache相关参数调整以及性能优化前后效果对比。
该系统属于长连接消息推送业务,某节假日推送消息的流量突增几倍,顺时出现比平日多出几倍的消息量等待下推。事后,发现生产消息的业务服务端因为某 bug ,把大量消息堆积在内存里,在一段时间后,突发性的发送大量消息到推送系统。但由于流量保护器的上限较高,当前未触发熔断和限流,所以消息依然进行流转。消息系统不能简单的进行削峰填谷式的排队处理,因为很容易造成消息的耗时长尾,所以在不触发流量保护器的前提下,需要进行的并发并行的去流转消息。
本文由腾讯云资深云架构师“陈一苇”在【全球边缘计算大会 · 深圳站】的大会上,关于 “打造SuperEdge开源边缘云生态” 主题演讲整理而成。 讲师简介 陈一苇,腾讯云资深云架构师,SuperEdge边缘容器开源项目发起人之一,拥有多年云原生架构设计经验。同时作为Linux基金会开源布道师,热衷于推广开源文化,协助对开源感兴趣的小伙伴们参与开源、学习技术,共同打造活跃的开源技术社区。 概述 SuperEdge是一个基于原生Kubernetes的边缘容器开源项目。以无侵入的方式,将云原生的容器管
“eBPF 是我见过的 Linux 中最神奇的技术,没有之一,已成为 Linux 内核中顶级子模块,从 tcpdump 中用作网络包过滤的经典 cbpf,到成为通用 Linux 内核技术的 eBPF,已经完成华丽蜕变,为应用与神奇的内核打造了一座桥梁,在系统跟踪、观测、性能调优、安全和网络等领域发挥重要的角色。为 Service Mesh 打造了具备 API 感知和安全高效的容器网络方案 Cilium,其底层正是基于 eBPF 技术”
随着AI和5G的到来,音视频应用将变得越来越广泛,人们对音视频的品质需求也越来越高,视频分辨率已经从高清发展为超高清、VR,视频帧率也已出现60fps、120fps等应用,交互式的应用对端到端延时也提出了更高的要求。与此同时,设备的硬件性能也突飞猛进。可以预见,随着5G的到来网络中传输的数据将会呈现爆发式增长,大量数据将会给网络传输带来巨大的挑战。因此,如何保证用户高品质的音视频体验?传输将会是一个重要环节。
今年2月,由光环新网运营的AWS 中国(北京)区域和由西云数据运营的 AWS 中国(宁夏)区域发布新的实例类型,新的实例类型包括C5、C5d、R5、R5d。除了这四种之外,在AWS国外部分区域还上线了最新的C5n。
基于「丢包反馈」的协议是一种 被动式 的拥塞控制机制,其依据网络中的 丢包事件 来做网络拥塞判断。即便网络中的负载很高时,只要没有产生拥塞丢包,协议就不会主动降低自己的发送速度。
还记得上次的文章提到技术经理离职了,目前为止,我在代理技术经理的工作,包括评审,周会等,最头疼的是要面对老板开周会,自己一个人面对需求的评审,技术设计,发版,解决方案,线上问题排查,疑难问题解决方案设计,这让我应接不暇。
快直播传输层SDK自推出来,凭借其便捷接入方式和优异性能,得到快直播客户的肯定。经过2年多的技术积累、迭代、调优和打磨,开播成功率、首帧耗时、卡顿率等指标提升到了一个新的台阶,指标业界领先。越来越多的客户通过传输层SDK接入原有播放器,实现了直播业务的低延时升级。近期快直播传输层SDK2.0版本发布,推出了内部播控模式,进一步降低了接入门槛,增强低延时播放性能。本文延续《基于ijkplayer的快直播传输层SDK应用实践》,详细介绍2.0版本支持的SDK内部播控模式,及其框架和接入方式。
就是【服务Consumer】以【注册中心】中的数据为准,当服务端节点有变更时,【注册中心】会把变更通知给【服务Consumer】,【服务Consumer】就调用【注册中心】拉取最新的节点信息。
本文主要讨论在高实时要求、高效能计算、DPDK等领域,Linux如何让某一个线程排他性独占CPU;独占CPU涉及的线程、中断隔离原理;以及如何在排他性独占的情况下,甚至让系统的timer tick也不打断独占任务,从而实现最低的延迟抖动。
架构 整理分为两层: 应用层、核心层 绿色部分是核心部分, 是WebRTC提供的核心功能; 紫色部分是浏览器提供的JS的API层; 即 浏览器对WebRTC核心层的C++ API 做了一层封装
在上个系列专栏前端音视频的那些名词中,我们对比特率、帧率、分辨率、容器格式以及编码格式有所了解,如果还没看过的同学请点击上方链接自行跳转。
这几年,我们对接了太多有RTSP或RTMP直播播放器诉求的开发者,他们当中除了寻求完整的解决方案的,还有些是技术探讨,希望能借鉴我们播放端的开发思路或功能特性,完善自己的产品。
iperf3是一个网络带宽测试工具,iperf3可以测试TCP和UDP带宽质量。iperf3可以测量最大TCP带宽,具有多种参数和UDP特性,iperf3可以报告带宽、延迟抖动和数据包丢失。利用iperf3这一特性,可以用来测试一些网络设备如路由器,防火墙,交换机等的性能。 使用iperf3,你可以调整与时序、缓冲区和协议(如TCP、UDP、SCTP)相关的几个参数。它对网络性能调优操作很方便,为了获得最大或相当改善的网络性能,你需要增加吞吐量以及网络接收个发送功能的延迟。但是在进行实际调整之前,你需要执行一些测试以收集整体网络性能统计信息,以指导你的调优过程。其结果包括以秒为单位的时间间隔,数据传输,带宽(传输速率),丢失和其他有用的网络性能参数,它主要用于协助调整特定路径上的TCP连接。
理想状况是:按下、松开按键,各产生一次中断,也只产生一次中断。 但是对于机械开关,它的金属弹片会反复震动。GPIO电平会反复变化,最后才稳定。一般是几十毫秒才会稳定。 如果不处理抖动的话,用户只操作一次按键,会发生多次中断,驱动程序可能会上报多个数据。
之前的文章分别讲了优雅上线 和 优雅下线,实际工作中做了优雅上下线后,服务发布后还是会有短暂的“抖动”,接口的响应时间急剧升高后又恢复正常,就和下面的监控图一样,图片来源于 得物 的InfoQ技术文档服务发布时网络“抖动”
上一篇翻译了思科SDwan设计架构--应用性能优化方案提到应用感知路由功能,本文翻译《思科应用感知路由部署指南》中部分内容,已了解其实现细节及技术参数。
时延敏感网络(TSN, Time Sensitive Network)是指能保证时延敏感流的服务质量,实现低时延、低抖动和零丢包率的网络。
导读 | 一场突如其来的疫情,让数以亿计的白领只能居家办公,云视频会议系统突然成为最重要的办公软件。腾讯会议在2019年12月25日正式上线后,短短两个月时间内积累千万日活。除了时机,腾讯会议产品又为什么能脱颖而出呢?产品力是个不得不提的因素,腾讯多媒体实验室高级研究员王晓海在【腾讯技术开放日·云视频会议专场】中,对腾讯会议在复杂网络情况下如何保证高清音质进行了分享。 点击视频,查看直播回放 一、VoIP和PSTN的前世今生 PSTN(PublicSwitch Telephone Network公共交
最近工作中在研究网络应用加速优化方法,在思科SDwan架构设计文档中有应用性能优化实现方案。本文就翻译部分章节内容,具体如下:
领取专属 10元无门槛券
手把手带您无忧上云