熟悉LNMP后必知知识

一、Nginx 如何实现高并发?

1、什么叫做并发,什么叫做并行?

举例:

现有搬砖和砍柴两件事情,只有你一个人,搬砖砍柴各 10min;

可以先去搬砖,搬完后再去砍柴;或者将搬砖和砍柴两个任务划分开,搬一会砖,砍一会柴,只要换的够快,就是砖也搬了,柴也砍了,这种叫做批处理。

类比到计算机,把电脑当作人,进程(或线程,都一样)当作搬砖砍柴,共需 20min

!多个任务在一个核心上交替去运行,这个叫做并发。

若是两个小伙伴,一个砍柴,一个搬砖,那么这两个任务是真正意义上的同时运行了,这种叫做并行,只需 10min。

高并发(交替快,非阻塞):让交替的过程怎么达到更快(越快效率越高),但这个过程会受到阻塞的影响(阻塞、非阻塞,同步和异步)。

阻塞: 某些进程的运行需要等待或受其他进程影响。

非阻塞:某些进程的运行不需要等待或受其他进程影响。

同步:进程和进程之间具有依赖性一件事情需要等待另一件事情的完成,但与阻塞不同(如:做饭->吃饭)。

异步:进程和进程之间相互独立(eg:发消息,一方需要等另一方回复)。

2、Nginx进程结构:

master(监听)--->worker(响应)

Apache:来一个请求--->就直接分配一个线程【多进程/多线程(线程效率高只是相对于进程而言,而不是对于整体的架构)】

3、事件驱动或I/O多路复用

sellect/poll/epoll

4、epoll 事件驱动

底层优化内存管理

采用内存池,避免频繁分存与释放

5、资源缓存------>加快响应速度

6、负载均衡+反向代理 (Apache也可以实现,但Nginx更好)

二、Apache VS Nginx

功能:Nginx强

静态文件:Nginx强

动态文件:Apache强

性能:Nginx > Apache

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值