发布了文章2023-02-09
01 “妄言”10分钟内调优CPU利用率绝大部分开发在面试时都会被面试官问到一个问题:“请举一个在以前工作过程中你觉得自己做的非常不错的事例”换言之:“请吹一个牛”一般人呢,这个牛他会悠着点吹,大多数符合“28定律”,8分实话2分润色但是有一位不愿透露姓名的初级开发...
发布了文章2023-02-07
01 问题背景自建机房,生产环境上某接口耗时超过2s,接口实现逻辑包含:数据库读写下游api调用数据统计开发本地自测,接口耗时却只有106ms。于是开发问运维:“生产环境的网络确定没问题吗?”运维:“不可能,监控大盘显示网络指标正常,不然为什么就你这个接口慢,其...
发布了文章2023-02-01
某接口在测试环境耗时600~700ms左右,但在生产环境耗时在1.4s以上,接口实现逻辑包含数据库操作、文件操作、下游微服务调用和其他业务逻辑计算代码,该如何快速排查?
发布了文章2022-12-14
“ 本文作者是曾有4年开发经验,期间担任过多个项目团队的开发leader,现任Kindling开源团队的产品经理。作者曾因一次愚蠢的操作引发了线上P0故障,导致月工资扣了10%,年底绩效-1,连带上级leader也被扣钱,全公司邮件通报批评,大型社死现场。作者想通过自己这次悲...
发布了文章2022-12-06
uprobe是一种用户空间探针,uprobe探针允许在用户空间程序中动态插桩,插桩位置包括:函数入口、特定偏移处,以及函数返回处。当我们定义uprobe时,内核会在附加的指令上创建快速断点指令(x86机器上为int3指令),当程序执行到该指令时,内核将触发事件,程序陷入到...
发布了文章2022-11-29
“ Trace-Profiling通过eBPF技术将程序代码执行过程转换成操作系统资源消耗过程,并融合tracing、logging、metrics等多种可观测性技术,形成一个类似光学摄像头的程序摄像头。主要可以帮助开发者了解程序执行过程当中每一毫秒在干什么。”
发布了文章2022-11-22
“ 微服务熔断,是当微服务中某个子服务,发生异常不可用,其他服务在进行远程调用时不能正常访问而一直占用资源,导致正常的服务也发生资源不能释放而崩溃,这时为了不造成整个微服务群瘫痪,进行的保护机制”
发布了文章2022-11-15
根据Splunk的可观测性全球调研报告,可观测性当前主流技术Tracing、Logging、Metrics已经在更多机构广泛的被使用起来了, 并取得了不错的效果。但是机构可观测性的成熟度仍然面临着以下的挑战:
发布了文章2022-11-10
ForkJoin是一种专为CPU密集型任务而生的线程池(比如计算1~100亿的和),它能充分利用CPU资源,把大任务拆分成众多小的子任务,多线程并行。但是你知道:子任务的计算量拆分到多少才算合理吗?为什么你用了ForkJoin反而降低性能?大量线程并行,如何规避线程阻塞?...
发布了文章2022-10-31
Tomcat的主要工作是:监听用户通过浏览器发送的网络请求,然后把请求连接上你的应用程序,做信息交换。在这个过程中,Tomcat里有acceptor、poller、 exec等等这些线程在做这个工作。不过网上很多朋友都认为poller是Tomcat里做socket请求数据读写的线程,但是事实真的...
发布了文章2022-08-03
系统调用是内核提供给用户的功能接口,在我们的系统中,通常会运行许多系统调用,其中有很多系统调用是由我们的用户程序来触发的(比如C语言中的printf()函数,实际会触发底层的write()系统调用)。在绝大多数情况下,系统调用可以在很短的时间内执行完成并且返回,但...
发布了文章2022-07-05
Kindling通过eBPF技术实现了无侵入性的容器环境监控,在调用拓扑图上展示了黄金指标:请求量、请求延时、请求错误率、发送和接收的网络流量,帮助了解集群中不同节点的基本性能情况。当需要进一步排查问题时,还需要通过其他面板来定位具体的问题边界,本期给大家介...
发布了文章2022-06-17
在Linux内核中,每一个进程都有一个独立的虚拟地址空间,而进程本身感知不到真正的物理内存的存在(比如某进程感知到的内存是连续的,但是实际上它被分配的内存是物理内存中分散的空间)。MMU(内存管理单元)负责完成对于这种虚拟地址-物理内存地址的转换工作。Linu...
发布了文章2022-06-09
Kindling collector项目作为Go端分析器,使用类似opentelmetry的pinpeline进行数据分析。其中涉及5个组件:
发布了文章2022-06-01
CCF GitLink 编程夏令营(GitLink Code Camp,简称GLCC)是在 CCF 中国计算机学会指导下,由 GitLink 社区联合 CCF 开源发展委员会(CCF ODC)共同举办的面向全国高校学生的暑期开源项目实习计划。Kindling社区共申报了3个课题,目前学生报名正在火热进行中。CCF Git...
发布了文章2022-05-27
在本周进行的Kindling研讨会上,Kindling团队的小伙伴给大家分享了多语言微服务环境下的监控问题以及解决对策,并对相关指标进行了解读。本次研讨会也云集了云可观测领域的各路大神:观测云的CEO蒋总、云杉的向阳总以及其他可观测领域的大佬。在后面的交流环节,就当...
发布了文章2022-05-25
eBPF技术正以令人难以置信的速度发展,作为一项新兴技术,它具备改变容器网络、安全、可观测性生态的潜力。eBPF作为更加现代化的内核技术,相较于内核模块,它的编写难度已经有了较大的降低,但是不可否认对于普通开发者还是有一定门槛。因此,很多云原生软件会在eBP...
发布了文章2022-05-17
最近在协助用户做业务的容器化迁移时,对业务做压力测试,发现ui服务的/homepage接口出现了偶发性的响应请求超时。给大家分享下排查问题过程。
发布了文章2022-05-13
Kindling-agent是基于eBPF的云原生可观测性开源工具Kindling中采集端的组件,能够通过采集和分析内核事件,获取运行于同一宿主机上的其他服务的业务、网络等指标。其工作模式是在主机上以独立进程的方式收集所需数据,所以只需要我们在应用所在主机部署Kindling-agen...
发布了文章2022-04-29
真正意义上的eBPF技术虽然诞生还不到十年时间(2014年首次提出eBPF概念),但已经发展成为当下炙手可热的技术。去年8月,由微软、谷歌、Facebook(已更名为meta) 等公司联合成立了eBPF基金会,大力发展eBPF技术。最近几年,eBPF技术在国内也得到了广泛应用,很多大厂也...