传统的单服务器高性能模式:

ppc(Process per  Connection) :针对每个连接都新建一个线程去处理连接中的请求

缺点:

1 从操作系统的角度来说,创建一个进程的代价很高

    需要分配很多内核资源

    需要将父进程中的内存映像从父进程复制到子进程

2 父子进程间通信复杂

3 支持的并发连接数量有限


tpc  ( Thread   per  Connection) :针对每个连接都新建一个进程去处理连接中的请求

针对ppc中出现的问题1,2 。出现了tpc,但tpc也会引起的两个重要问题

1 线程间会出现互斥和死锁问题

2 多线程相互影响的问题,某个线程出现问题,可能导致整个进程退出


除了引入的新问题,tpc还是存在cpu的线程调度和切换代价问题。因此tpc方案本质上和ppc方案基本类似。在并发几百连接场景下,反而更多的采用ppc的方案,因为ppc方案不会有死锁的风险,也不会有多线程相互影响,稳定性更高

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容