Neo's Blog

不抽象就无法深入思考
不还原就看不到本来面目!

0%

高性能服务器设计-总览

池化技术
核心思想:用空间换时间,期望使用预先创建好的对象来减少频繁创建对象的性能开销,同时还统一管理了对象,降低了对象的使用成本。
例子:
(1)数据库连接池-最小数量、最大数量、如果超过最大则等待
(2)线程池-最小数量、最大数量、有界队列(监控队列中元素的个数)
线程池大小:区分IO密集、CPU密集
(3)内存池

超时事件管理

IO模型

线程模型,一般会综合考虑IO模型、超时事件如何管理、线程池、消息队列等


topic 高性能服务设计

设计思想

内存池

资源管理

对于服务器框架而言,有哪些需要管理的资源?

  1. 内存
    1. 内存池的设计关键
  2. 客户端连接
    1.
  3. Request & Response
  4. 线程

同步 OR 异步

阻塞 OR 非阻塞

线程 OR 进程

谁来接收client连接

某一个固定的线程(进程) 还是 几个线程(进程)轮着来?

接收到连接之后,如何处理?

自己处理 还是 交给其他人处理?

accept —> recv ——> send —->

你的支持是我坚持的最大动力!