高性能服务器架构设计主要集中在两方面:
- 尽量提升单服务器的性能,将单服务器的性能发挥到极致。
- 如果单服务器无法支撑性能,设计服务器集群方案。
除了以上两点,最终系统能否实现高性能,还和具体的实现及编码相关。
但架构设计是高性能的基础,如果架构设计没有做到高性能,则后面的具体实现和编码能提升的空间是有限的。
架构设计决定了系统性能的上限,实现细节决定了系统性能的下限。
1 单服务器高性能模式
关键:并发模型
并发模型有如下两个关键设计点:
- 服务器如何管理连接。
- 服务器如何处理请求。
以上两个设计点最终都和操作系统的 I/O 模型及进程模型相关。
- I/O 模型:阻塞、非阻塞、同步、异步。
- 进程模型:单进程、多进程、多线程。
2 PPC(Process Per Connection)
每次有新的连接就新建一个进程去专门处理这个连接的请求
使用了prefork,即提前创建进程
系统在启动的时候就预先创建好进程,然后才开始接受用户的请求,当有新的连接进来的时候,就可以省去 fork 进程的操作,让用户访问更快、体验更好。