笔者最近对负责项目做了一些服务性能优化的工作,主要优化了项目中的一些不合理设计,例如:服务间使用 json 传输数据;监控上报处理逻辑在主流程中;重复数据每次都请求下游服务;多个耗时操作串行请求等。取得了 A 服务平均耗时跟 p99 耗时均下降 80% 、事件底层服务平均耗时下降 50% 的业务收益。 本文总结了在服务架构设计时,提升服务性能的 9 大常用办法,相信可以有效帮到你的日常工作。期待你的点赞转发收藏一键三连!
受内核调度控制周期(cfs_period)影响,容器的 CPU 利用率往往具有一定的欺骗性,下图展示了某容器一段时间的 CPU 使用情况(单位为0.01核),可以看到在 1s 级别的粒度下(图中紫色折线),容器的 CPU 用量较为稳定,平均在 2.5 核左右。根据经验,管理员会将 CPU Limit设置为 4 核。本以为这已经保留了充足的弹性空间,然而若我们将观察粒度放大到 100ms 级别(图中绿色折线),容器的 CPU 用量呈现出了严重的毛刺现象,峰值达到 4 核以上。此时容器会产生频繁的 CPU Throttle,进而导致应用性能下降、RT 抖动,但我们从常用的 CPU 利用率指标中竟然完全无法发现!
2024 年 7 月 2 日 10:04,我站机房 A 公网物理光缆中断,导致机房 A 公网无法访问。本文将从 DCDN 架构及多活治理的视角,分析本次故障中我们发现的问题和治理优化措施。
很多人都把人际交往看成一件麻烦事。对他们来说,社交是在他们要找工作、寻求职业建议、提升学历或想获取其他有用信息时才不得不做的一件事。在构思本书的过程中,我告诉了一些人我正在写这本书,几乎每个人都对我说了类似的话:“我讨厌社交,我喜欢任何能让我回避社交的东西。”当我在社交媒体上向朋友们询问他们最不喜欢人际交往的哪部分的时候,回复纷至沓来。
「迷思」是指经由人们口口相传,但又难以证明证伪的现象。由于 GPU 硬件实现、驱动实现是一个黑盒,我们只能通过厂商提供的 API、经过抽象的架构来了解并猜测其原理。因此坊间流传着各种关于与 GPU 打交道时的性能迷思。比如「移动端的瓶颈是带宽」、「移动端不需要太在意 Overdraw」、「植被需要做 PrePass」等等。这些优化手段,有时候我们对后面的原理一知半解,有时候又会随着硬件的发展而逐渐变得不适用,逐渐会变成一种神秘主义。
广告检索系统的性能长尾影响KPI,间接影响收入,极致优化成本和性能一直是检索端工程团队的重要工作。随着基于SSD分级存储在商业场景规模应用,在部分访盘量高的场景,为控制性能长尾退化,我们尝试引入缓存对标系统PageCache来解决。在引入过程,我们对业界经典的缓存算法,进行了针对性测评,将测评效果与大家分享,诚邀对存储和缓存技术有兴趣的伙伴们一起探讨。