nginx框架总结

1、高性能:

a、内存池的设计,为一个多级链表结构,本身不负责内存的回收,减少内存碎片,提高内存的利用率,将多次向操作系统申请内存压缩为一次,减少向操作系统申请内存的次数,提高cpu资源的利用;

 

 

 

b、基于事件的master-worker异步处理。处理事件的机制是由事件分发进程加载事件处理模块来完成与传统将事件提交给handle-thread来处理的方式相比,减少了进程(线程)间的切换,从而降低了请求响应延迟的时间;
c、进程间通信采用自选锁(spinlock)即非睡眠锁,减少进程的阻塞等待时间,每个进程的epoll上瞬间会有成千上万个tcp连接,进程不能随便阻塞让出cpu,即使没有获取到锁,他仍然可以去做其他的事情。

d、请求的多阶段异步处理,减少了进程的休眠时间,让进程全力运转,同时进程数目不是很大,减少了内核的开销,提高了网络性能。

2、高可靠性。

     worker进程一旦挂了,会向master进程发送CHILD信号,置ngx_reap标识,master进程会对worker进程监控,发现终止的进程会对其进行重启等操作。
3、高伸缩性.

     nginx中存在ngx_modules数组,该数组存放的是各个模块,nginx在启动时会加载这些模块,用户可以根据需要动态添加或删除这些模块。
4、高修改性.

     nginx提供了配置文件,对一些重要信息进行设置,如侦听端口号,worker进程的个数等,在执行过程中,ngx_reconfigure标志位进行重新生成工作进程。



 

根据提供的引用内容,可以了解到Nginx是一个高性能的Web服务器和反向代理服务器,它可以处理大量并发连接,并具有低内存消耗。Nginx的技术框架主要包括以下几个方面: 1. 服务器架构:Nginx采用了事件驱动的异步非阻塞架构,通过使用少量的线程和内存来处理大量的并发连接请求,提高了服务器的性能和吞吐量。 2. 反向代理:Nginx可以作为反向代理服务器,将客户端的请求转发给后端的多个服务器,实现负载均衡和高可用性。 3. 静态文件服务:Nginx可以直接提供静态文件的访问,通过配置合适的缓存策略和压缩算法,提高了静态文件的传输效率。 4. 动态请求处理:Nginx可以与各种动态语言应用(如PHP、Python、Java等)进行集成,通过FastCGI、uWSGI等协议与后端应用服务器进行通信,实现动态请求的处理。 5. 负载均衡:Nginx支持多种负载均衡算法,如轮询、IP哈希、最少连接等,可以根据实际需求将请求分发给后端的多个服务器,提高系统的可扩展性和稳定性。 6. 缓存和压缩:Nginx可以通过配置缓存策略和压缩算法,提高静态文件的传输效率,减少网络带宽的占用。 7. 安全性:Nginx提供了多种安全功能,如访问控制、SSL/TLS加密、防止DDoS攻击等,保护服务器和应用的安全。 8. 日志和监控:Nginx可以记录访问日志和错误日志,通过监控工具可以实时监控服务器的状态和性能指标,帮助管理员及时发现和解决问题。 9. 扩展性:Nginx支持模块化的架构,可以通过编写自定义模块来扩展功能,满足特定的需求。 总结起来,Nginx的技术框架包括了高性能的服务器架构、反向代理、静态文件服务、动态请求处理、负载均衡、缓存和压缩、安全性、日志和监控以及扩展性等方面的功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值