1.大并发服务器架构Part1
要提升服务器性能,就要有服务器高性能编程技术,就需要自己编码实现。 另外服务器性能的几个性能杀手: 1 数据拷贝,数据从内核态copy到用户态,或者在用户态之间copy会造成性能损失,尽量采用缓存的方式解决(APP服务器内部地数据缓存)。 2 环境切换,要尽可能减少多线程的环境切换造成的开销。 首先要考虑应不应该使用多线程? 如果服务器是单核的,那么采用状态机方式单线程效果最佳。 因为单核服务器是不能并行地处理任务的,有大量的任务提交到服务器,这些任务即使使用了多线程来处理大量任务, 在单核CPU上,这些线程也不能并行处理,又使用了多线程,就会增加线程间的切换开销,效率反而不高。 如果是多核的,合理采用多线程(并不是线程越多越好),可以提升性能。 3 内存分配,可以采用内存池,减少向OS申请内存,做到提前分配。 4 锁竞争,加锁解锁会造成一定的效率衰减。有时应该通过逻辑来避免锁的使用,尽可能减少锁的竞争。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· 易语言 —— 开山篇
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比