最新 最热

只改了五行代码吞吐量提升了10多倍!爽!

公司的一个ToB系统,因为客户使用的也不多,没啥并发要求,就一直没有经过压测。这两天来了一个“大客户”,对并发量提出了要求:核心接口与几个重点使用场景单节点吞吐量要满足最低500/s的要求。...

2023-11-02
1

听GPT 讲Rust源代码--library/std(10)

在Rust源代码的rust/library/std/src/sys/windows/c.rs文件中,主要定义了Rust对于Windows操作系统的系统调用接口。该文件定义了各种Windows特定的结构体、枚举和常量,以支持与操作系统的交互。...

2023-11-02
1

线程同步----相互等待处理

业务不重叠的情况下,多线程同步只需2个互斥体+条件变量实现,在不同线程中使用不同的互斥体wait,避免两个线程中调用同一个互斥体wait导致死锁。

2023-11-02
1

两种基于时间窗口的限流器的简单实现

之前开发的一款基于OpenTelemetry的Tracing组件需要使用基于速率限制(Rate Limiting)的跟踪采样策略,本想使用现有的解决方案,比如System.Threading.RateLimiting命名空间下的RateLimiter。大体看了RateLimiter的三种实现...

2023-11-02
1

CPU缓存伪共享

CPU缓存什么东西?当然这个问题很多人有可能觉得比较傻,CPU缓存什么,肯定是缓存数据(代码)啊,要不然还能缓存啥,这个确实没问题,但是CPU到底缓存什么样的数据呢?因为对CPU来说,无论是指令,还是数据,都是数据,他如果要缓存,缓存的单位...

2023-11-02
1

事与愿违:可变类出现了线程安全问题

作者:冰河星球:http://m6z.cn/6aeFbs博客:https://binghe.gitcode.host文章汇总:https://binghe.gitcode.host/md/all/all.html源码获取地址:https://t.zsxq.com/0dhvFs5oR

2023-11-01
1

TSA方法:基于线程时间分布分析性能瓶颈

在分析性能问题时,我们有两种简单而又行之有效的分析方法。第一种是基于资源视角的USE方法,通过一系列的检查清单来帮助发现瓶颈和错误;第二种方法就是本文要介绍的基于线程视角的TSA方法。和USE方法一样,TSA方法提供了分...

2023-11-01
1

四种火焰图,快速定位Off-CPU性能问题

On-CPU性能问题可以借助On-CPU火焰图解决,但是无法了解进程和线程不在CPU上运行所花费的时间。如果有很多的时间花在同步请求上,也会很容易影响性能表现。...

2023-11-01
1

Off-CPU分析:窥见冰山下的性能瓶颈

遇到CPU性能问题时,我们常常通过perf来了解CPU上到底在执行什么,以及通过On-CPU火焰图来帮助我们寻找性能瓶颈。但是,这种方式并不能让我们知道不在CPU上运行的进程和线程到底在做什么。在一些场景中,我们会发现CPU的使用...

2023-11-01
1

原来进程是这么创建的

大家好,我是程栩,一个专注于性能的大厂程序员,分享包括但不限于计算机体系结构、性能优化、云原生的知识。

2023-11-01
1