上下文切换为何如此昂贵?从寄存器保存到TLB失效的完整技术解析

一台拥有32个CPU核心的服务器,为什么在运行200个线程时性能反而不如运行32个线程?数据库连接池从100扩展到300,为什么吞吐量反而下降了40%? ...

11 min · 5248 words

伪共享:当你的多线程代码慢了100倍却找不到原因

2011年,LMAX交易平台的工程师们遇到一个奇怪的问题:他们的高性能消息队列在生产环境中表现不佳,但代码逻辑完全正确,线程安全措施也到位。经过深入排查,问题竟出在两个相邻的变量上——它们恰好落在同一个缓存行中。 ...

10 min · 4900 words