nginx优点
1.IO多路复用epoll
IO多路复用:多个描述符的I/O操作都能在一个线程内并发交替地顺序完成,这里的"复用" 指的是复用同一个线程
epoll
IO多路复用的实现方式 select,poll,epoll

select缺点
1)能够监视文件描述符的数量存在最大限制 (1024)
2)线性扫描效率低下

epoll模型
2.6内核之后
每当FD就绪,采用系统的回调函数直接将fd放入,效率更高
无最大连接数的限制

2.轻量级
功能模块少
代码模块化
3.CPU亲和(affinity)
为什么需要cpu亲和

cpu亲和是一种把cpu核心和Nginx工作进程绑定方式,把每个worker进程固定在一个cpu上执行,减少切换cpu的cahce miss(cpu高速缓存),获得更好的性能
4.nginx的sendfile
传统的server服务

使用nginx sendfile on


请求一个文件要经过操作系统的内核空间->用户空间最终到达socket,socket再response给用户
linux2.2以后的零拷贝
只通过内核空间到socket,不通过用户空间的复杂逻辑运算

HTTP协议版本

连接关系

1.0

TCP不能复用

1.1

顺序性TCP复用

2.0

多路复用TCP复用

转载于:https://www.cnblogs.com/HKUI/p/7638502.html

nginx 网络模型,cpu亲和等优点相关推荐

  1. nginx调优-cpu亲和

    什么是cpu亲和 首先进程是由cpu去计算执行的,系统上所有的进程的执行都是cpu上进行的 可以试想一下, 情况1:有8个进程,由一个cpu去运行 情况2:同样有8个进程,由8个cpu去运行 是不是情 ...

  2. Nginx运行CPU亲和力

    Nginx运行CPU亲和力 1.Nginx运行工作进程数量 Nginx运行工作进程个数一般设置CPU的核心或者核心数x2.如果不了解cpu的核数,可以top命令之后按1看出来,也可以查看/proc/c ...

  3. Apache与Nginx网络模型

    Nginx的高并发得益于其采用了epoll模型,与传统的服务器程序架构不同,epoll是linux内核2.6以后才出现的.下面通过比较Apache和Nginx工作原理来比较. 传统Apache都是多进 ...

  4. nginx的 CPU参数worker_processes和worker_cpu_affinity使用说明

    官方说明: http://wiki.nginx.org/NginxChsHttpMainModule#worker_cpu_affinity http://wiki.nginx.org/NginxCh ...

  5. php worker processes,[转]nginx的 CPU参数worker_processes和worker_cpu_affi...

    申明,转自http://justinyao.iteye.com/blog/1705006 官方说明: http://wiki.nginx.org/NginxChsHttpMainModule#work ...

  6. 使用分层网络模型的两个优点是什么_从零开始学网络|搞懂OSI参考模型和TCP/IP分层模型,看这篇文章就够了...

    从零开始学网络|搞懂OSI参考模型和TCP/IP分层模型,看这篇文章就够了​mp.weixin.qq.com 前言 今天和大家一起谈谈"网络",之前写的文章可能不太通俗易懂,有人就 ...

  7. 使用分层网络模型的两个优点是什么_分级网络设计

    在商业化的今天,对中小企业来说,能够使数据.语音和视频通信数字化关系到企业的生死存亡.一个好的局域网离不开好的设计和合适的网络设备.一般来说,网络是按照分层体系架构设计的,如下图即为一种分层体系架构: ...

  8. linux设置进程CPU亲和力函数sched_setaffinity()简介

    在多CPU系统中,通过sched_setaffinity()可以设置进程的CPU亲和力,使进程绑定在某一个或几个CPU上运行,避免在CPU之间来回切换,从而提高该进程的实时性能. 一.CPU MASK ...

  9. 优化绑定不同的Nginx进程到不同CPU上

    参考资料 [1]. 跟老男孩学Linux运维:Web集群实战,老男孩 安装过程 默认情况Nginx的多个进程有可能跑在某一个或某一核的CPU上,导致Nginx进程使用硬件的资源不均.可以分配不同的Ng ...

最新文章

  1. 如何在MFC中调用CUDA
  2. php 怎么查看原生方法源码_怎么看电脑内存频率?这里有3种方法可以查看,新手分享...
  3. 计算机一级b类论理,计算机一级B论理参考题.doc
  4. VTK:图片之DrawShapes
  5. dataguru北京线下沙龙-第二部 《Oracle 索引优化思路--案例分享 -- 刘盛》
  6. 表单校验---struts2
  7. 小熊派IoT开发板系列教程正式发布——免费学习
  8. html5 字母单词拖拽,HTML5拖拽
  9. http的response遇到illegalstateexception解决办法
  10. 分布式技术追踪 2017年第四十二期
  11. Spring-data ElasticSearch的使用
  12. 吸尘器上亚马逊要求UL1017测试报告怎么办
  13. PMP干货教你一秒选对PMP考试答案!
  14. python按综合、销量排序抓取100页的淘宝商品列表信息
  15. WSUS环境下客户端常用命令
  16. 测试高考体育成绩的软件,高考体育考试项目内容及成绩评定标准
  17. kubeedge V1.12.1(当前最新版)云边端安装部署
  18. 【hdu 5512】【 2015ACM/ICPC亚洲区沈阳站】Pagodas 题意&题解&代码(C++)
  19. 微雪电子7寸hdmi-lcd(C)在树莓派的使用
  20. uni app 安装 vconsole

热门文章

  1. javascript字符串相关的面试题总结
  2. 用jQuery实现页面遮罩弹出框
  3. 【Vue】全局过滤器和局部过滤器
  4. JNI开发笔记(一)--Android Studio安装与环境搭建
  5. java线程创建销毁_c++多线程的创建挂起执行与销毁
  6. 力扣209-长度最小的子数组(Java,双指针解法)
  7. 蓝桥杯基础练习之杨辉三角
  8. java程序嵌入地图_java – 使用JPA存储地图
  9. 【css】适配iphoneX
  10. 51nod1134最长递增子序列(dp)