要提高服务端处理的绝对性能和伸缩性,通常分析以下几点:
1. 数据拷贝:减少不必要的内存数据拷贝,对不变数据尽可能考虑复用(引用、指针)。
2. 上下文切换: (CPU来回在多个线程空间切换,考虑减少不必要的工作线程数且上下文相关的工作内容尽可能在同一线程内完成)。
3. 内存分配:分配频繁的地方考虑利用内存池、预分配等技术。
4. 锁的争用:分析多线程处理的同步模型和代码减少代码处理的交集和锁的范围。
要提高服务端处理的绝对性能和伸缩性,通常分析以下几点:
1. 数据拷贝:减少不必要的内存数据拷贝,对不变数据尽可能考虑复用(引用、指针)。
2. 上下文切换: (CPU来回在多个线程空间切换,考虑减少不必要的工作线程数且上下文相关的工作内容尽可能在同一线程内完成)。
3. 内存分配:分配频繁的地方考虑利用内存池、预分配等技术。
4. 锁的争用:分析多线程处理的同步模型和代码减少代码处理的交集和锁的范围。