原创  关于高并发高性能的几点思考 收藏

最近对一个系统作了些优化, 发现关于高并发系统的性能影响最大的几点, 写出来与大家分享一下:

1.Lock

2.Context Switch

3.Memory Allocation

4.Data Copies

 

1.Lock

频繁的加锁/解锁对系统的性能可想而已,本来多个CPU(核心)跑得十分欢快, 结果因为锁,而导致CPU不得得停停等等, 效率能高吗?即便不需要等待, 进程内用临界区来同步, 同步的开销也是不小的, 一次EnterCritialSection和一次LeaveCriticalSection比一百次++开销肯定要大吧?

2.Context Switch

Context Switch的开销很多时间并不那么直观, 但如果一个线程的Context Switch一秒钟数以万计的话,用Process Explorer看一下系统的内核时间消耗就明白了。很多时间Context Switch也是Lock 相关的.

3.4

不说了

 

其它的:

为了追求性能, 可能采取一些策略,比如说以空间换时间(内存比较富足时?)? 反正是有代码的,关键看什么更重要了。但这些都必须在线程安全的前提下。程序老崩溃,性能高有何用?

 

发表于 @ 2009年01月09日 17:08:00 | 评论( loading... ) | 编辑| 举报| 收藏

旧一篇:用mmio系列API函数来读写WAV文件

  • 发表评论
  • 评论内容:
  •  
Copyright © DentistryDoctor
Powered by CSDN Blog