Nginx 服务器,正常运行过程中:
思考:
request:Nginx 中 http 请求。
基本的 HTTP Web Server 工作模式:
Nginx 也是这个套路,整体流程一致。
nginx的模块根据其功能基本上可以分为以下几种类型:
Nginx vs. Apache
网络 IO 模型:
场景:
处理多个请求时,可以采用:IO 多路复用 或者 阻塞 IO +多线程
思考:IO 多路复用 和 多线程 的适用场景?
基础背景:
因此,Nginx 的最大连接数:
思考:
每打开一个 socket 占用一个 fd
为什么,一个进程能够打开的 fd 数量有限制?
场景:
处理多个请求时,可以采用:IO 多路复用 或者 阻塞 IO +多线程
思考:IO 多路复用 和 多线程 的适用场景?
详细内容,参考:
select/poll 系统调用:
// select 系统调用 int select(int maxfdp,fd_set *readfds,fd_set *writefds,fd_set *errorfds,struct timeval *timeout); // poll 系统调用 int poll(struct pollfd fds[], nfds_t nfds, int timeout);
select:
poll:
epoll:event 事件驱动
select,poll,epoll:
关于 Nginx 的并发处理能力:
领取专属 10元无门槛券
私享最新 技术干货