1.大并发服务器架构Part1

image
image
image
image
image
image
image
image
image
image
image
image
image
image

要提升服务器性能,就要有服务器高性能编程技术,就需要自己编码实现。
另外服务器性能的几个性能杀手:
1 数据拷贝,数据从内核态copy到用户态,或者在用户态之间copy会造成性能损失,尽量采用缓存的方式解决(APP服务器内部地数据缓存)。
2 环境切换,要尽可能减少多线程的环境切换造成的开销。
首先要考虑应不应该使用多线程?
如果服务器是单核的,那么采用状态机方式单线程效果最佳。
因为单核服务器是不能并行地处理任务的,有大量的任务提交到服务器,这些任务即使使用了多线程来处理大量任务,
在单核CPU上,这些线程也不能并行处理,又使用了多线程,就会增加线程间的切换开销,效率反而不高。
如果是多核的,合理采用多线程(并不是线程越多越好),可以提升性能。
3 内存分配,可以采用内存池,减少向OS申请内存,做到提前分配。
4 锁竞争,加锁解锁会造成一定的效率衰减。有时应该通过逻辑来避免锁的使用,尽可能减少锁的竞争。
posted @   nullptrException  阅读(29)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· 易语言 —— 开山篇
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
点击右上角即可分享
微信分享提示