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 @ 2023-02-09 18:00  nullptrException  阅读(45)  评论(0)    收藏  举报