2025年8月29日

从HPACK到多路复用,揭秘HTTP/2如何终结网络拥堵

摘要: 头部压缩 (HPACK) 在HTTP/1中,每个请求和响应都会发送大量重复的头部信息,比如 Cookie、User Agent、Accept 等,会使得大量带宽被这些冗余的数据占用。为了解决这个问题,HTTP/2引入了HPACK算法来压缩头部信息。HPACK算法有两个主要的特性。 1)静态表(Sta 阅读全文

posted @ 2025-08-29 00:54 poemyang 阅读(186) 评论(0) 推荐(1)

2025年8月28日

从文本到二进制:HTTP/2不止于性能,更是对HTTP/1核心语义的传承与革新

摘要: 云原生计算基金会(Cloud Native Computing Foundation,CNCF)是一个非盈利的开源组织,专注于推动云原生计算的发展和标准化。而gRPC(Google Remote Procedure Call)是由Google发起并开源的高性能、跨语言RPC框架。2017年,Goog 阅读全文

posted @ 2025-08-28 00:13 poemyang 阅读(367) 评论(0) 推荐(0)

2025年8月27日

RPC的三大问题:跨语言、跨平台通信的终极解决方案是如何炼成的?

摘要: 服务间通信的效率与可靠性是系统性能和稳定性的关键。远程过程调用(RPC)作为跨进程、跨机器交互的核心机制,其传输协议的设计至关重要。一个优秀的RPC传输协议需要应对三大挑战:1)跨语言、跨平台的数据表示与解析;2)保障网络传输的完整性、顺序性与效率;3)在服务间建立清晰统一的调用约定。 本文将从 H 阅读全文

posted @ 2025-08-27 11:09 poemyang 阅读(275) 评论(0) 推荐(1)

2025年8月22日

千亿消息“过眼云烟”?Kafka把硬盘当内存用的性能魔法,全靠这一手!

摘要: Kafka 消息队列 Apache Kafka是一个开源的分布式消息队列,由LinkedIn公司开发并于2011年贡献给Apache软件基金会。Kafka被设计用来处理千亿量级的实时数据,被广泛应用于互联网大规模数据处理平台中。 Kafka强大的数据吞吐量,其中最重要部分在于它的消息日志格式的设计, 阅读全文

posted @ 2025-08-22 11:50 poemyang 阅读(624) 评论(0) 推荐(2)

2025年8月21日

Facebook内部都在用的存储引擎,LSM凭什么能硬扛亿级写入流量?

摘要: RocksDB LSM树 RocksDB是Meta (Facebook) 开源的高性能持久化键值存储库,源于Google的LevelDB,并针对SSD和服务器工作负载进行了深度优化。它广泛应用于需要处理海量数据(亿级甚至更高)并要求高写入吞吐的场景。 RocksDB 以 kv 对集合的形式存储数据, 阅读全文

posted @ 2025-08-21 11:46 poemyang 阅读(361) 评论(0) 推荐(0)

2025年8月18日

十年大厂员工终明白:MySQL性能优化的尽头,是对B+树的极致理解

摘要: 存储引擎 存储引擎是数据库管理系统(DBMS)或键值存储系统的核心组件,它定义了数据在持久化存储介质上如何组织、存储、检索和管理。不同的存储引擎针对特定负载(如读密集型、写密集型、混合型)和数据模型(如关系型、键值型、文档型)进行优化。 目前常见的存储引擎使用的存储数据结构有如下几种。 1)哈希表( 阅读全文

posted @ 2025-08-18 00:21 poemyang 阅读(1861) 评论(1) 推荐(2)

2025年8月14日

硬盘性能提升100倍的秘密:看懂顺序I/O的魔力

摘要: I/O缓存 局部性原理 局部性原理(Principle of Locality)指在程序执行过程中,倾向于访问某些局部特定的数据或指令,而不是随机地访问整个内存空间。这是缓存技术得以有效的根本原因。 1)时间局部性(Temporal Locality):如果一个数据项被访问,那么在不久的将来它很可能 阅读全文

posted @ 2025-08-14 23:02 poemyang 阅读(755) 评论(0) 推荐(2)

2025年8月12日

从纳秒到毫秒的“时空之旅”:CPU是如何看待内存与硬盘的?

摘要: 在数据暴涨时代,如何高效存储和管理海量数据已成为应用系统的核心挑战。这不仅关乎读写性能,更涉及并发场景下性能与持久化之间的平衡。要应对这一挑战,既需要理解不同存储介质的物理特性与性能边界,也需通过数据结构、存储模型与操作系统机制的协同设计,达成技术上的最优平衡。 本文将从计算机系统的分层存储体系这一 阅读全文

posted @ 2025-08-12 08:19 poemyang 阅读(581) 评论(0) 推荐(2)

2025年8月11日

性能优化之母:为什么说“方法内联”是编译器优化中最关键的一步棋?

摘要: 方法内联 方法内联(Method Inlining)是编译器在进行优化时,将被调用方法的代码直接嵌入到调用点,以替代方法调用指令的过程。它不仅消除了方法调用的开销,还为后续的优化(如常量传播、死代码消除等)创造了条件。 Java程序的方法调用会涉及到如下步骤: 1)保存当前方法的程序计数器(返回地址 阅读全文

posted @ 2025-08-11 08:52 poemyang 阅读(443) 评论(0) 推荐(2)

2025年8月8日

new出来的对象,不一定在堆上?聊聊Java虚拟机的优化技术:逃逸分析

摘要: 逃逸分析(Escape Analysis)是一种静态程序分析技术,主要用于判定对象的可见范围(Visibility)与生命周期(Lifetime)。该技术是现代即时编译器实现局部化优化、提升内存使用效率、降低同步成本的基础。 通俗来说,逃逸分析的核心在于回答这样一个问题:某个对象是否可能“逃逸”出它 阅读全文

posted @ 2025-08-08 08:04 poemyang 阅读(296) 评论(0) 推荐(1)

导航