美文网首页
Nginx实现高并发及原理

Nginx实现高并发及原理

作者: Jeff_9021 | 来源:发表于2020-07-17 22:15 被阅读0次
关键词:nginx

1、nginx基本介绍

1.nginx高并发原理(多进程(单线程)+epoll实现高并发)

1.Nginx 在启动后,会有一个 master 进程和多个相互独立的 worker 进程

2.每个子进程只有一个线程,采用的 IO多路复用模型epoll,实现高并发

2、epoll能实现高并发原理

1.epoll() 中内核则维护一个链表,epoll_wait 方法可以获取到链表长度,不为0就知道文件描述符准备好了

2.在内核实现中 epoll 是根据每个 sockfd 上面的与设备驱动程序建立起来的回调函数实现的

3.某个 sockfd 上的事件发生时,与它对应的回调函数就会被调用,来把这个 sockfd 加入链表,其他处于“空闲的”状态的则不会

4.epoll上面链表中获取文件描述,这里使用内存映射(mmap)技术, 避免了复制大量文件描述符带来的开销

内存映射(mmap):内存映射文件,是由一个文件到一块内存的映射,将不必再对文件执行I/O操作

3、nginx和apache比较

(1)nginx相对于apache的优点

1.轻量级,同样起web 服务,比apache 占用更少的内存及资源

2.抗并发,nginx 处理请求是异步非阻塞的,而apache 则是阻塞型的,在高并发下nginx 能保持低资源低消耗高性能

3.高度模块化的设计,编写模块相对简单,社区活跃,各种高性能模块出品迅速啊

(2)apache相对于nginx的优点

1.apache 更为成熟,少 bug ,稳定性好

2.rewrite ,比nginx 的rewrite 强大

3.模块超多,基本想到的都可以找到

相关文章

  • Nginx实现高并发及原理

    关键词:nginx 1、nginx基本介绍 1.nginx高并发原理(多进程(单线程)+epoll实现高并发) 1...

  • 对高并发的思考

    近期很长的一段时间,都在学习总结,什么是高并发,怎么样实现高并发,接触了解的内容包括Nginx工作原理,Tomca...

  • Nginx实现高并发的原理

    如何提高Web服务器的并发连接处理能力 大概有几个基本条件: 基于线程,即一个进程生成多个线程,每个线程响应用户的...

  • nginx实现高并发的原理

    Nginx 采用的是多进程(单线程) & 多路IO复用模型。使用了 I/O 多路复用技术的 Nginx,就成了”并...

  • java并发

    1.并发编程中的锁 并发编程中的各种锁java高并发锁的3种实现Java并发机制及锁的实现原理 2.线程池核心线程...

  • Nginx 实现高并发

    面试题: Nginx 是如何实现并发的?为什么 Nginx 不使用多线程?Nginx常见的优化手段有哪些?502错...

  • java 高并发中volatile的实现原理

    java 高并发中volatile的实现原理 摘要: 在多线程并发编程中synchronized和Volatile...

  • Nginx

    Nginx 入门简述 工作原理及安装配置 常用命令管理及升级 入门简述 Nginx("engine x")是一个高...

  • 【Nginx源码研究】Nginx的事件模块介绍

    运营研发团队 谭淼 一、nginx模块介绍 高并发是nginx最大的优势之一,而高并发的原因就是nginx强大的...

  • Android 技能图谱学习路线

    Java基础 Java Object类方法 HashMap原理,Hash冲突,并发集合,线程安全集合及实现原理 H...

网友评论

      本文标题:Nginx实现高并发及原理

      本文链接:https://www.haomeiwen.com/subject/mnanhktx.html