物联网工程运维原理(实验四)

1.Apache的请求响应
三种模式:
Prework、Worker、Event
(1)Prefork模式:
预先生成子进程,等待用户请求。
好处:
防止并发突增——临时产生子进程耗资源
例如:饭店门口不能只站一个服务员,防止客人突然增多。
进程间互不干扰
缺点:
占资源:消耗cpu资源(进程的创立、进程间的切换、删除进程)、内存
Apache没有多线程的概念,所以一个主进程生成多个子进程,每个子进程生成一个线程。

(2)Worker模式:
预生成多个子进程和多个线程
好处:
开销小
并发优

坏处:
线程崩溃->进程遭殃;线程抖动
keep-alive(保证存活状态)空闲到超时都没人管
可以由子进程生成多个线程

(3)Event模式:
专线程管理keep-alive(特例:https)
引入EPoll事件通知:
1、apache 2.2.9+(以后的版本)
2、LInux kernel 2.6+

2.Apache的I/O方式
I/O方式:同步、阻塞

3.Apache如何拿结果:
Select:遍历
并发数量:
posix_types.h
FD_SETSIZE 1024
EPoll:事件通知

4.Apache为何不能高并发
(1)请求响应:多线程/多线程
(2)I/O方式:同步、阻塞
(3)拿结果:
select
poll
epoll+callback

5.Nginx为何能高并发
(1)请求响应:单线程I/O复用
(2)I/O方式:异步、非阻塞
(3)拿结果:Epoll
6、Apache的优势
(1)稳定:多线程、bug少
(2)模块多、使用方便
(3)rewrite功能比Nginx强大
(4)对动态请求友好
(5)对PHP友好
(6)计算密集能力比Nginx强
7.Nginx+Apache
Nginx作为反向代理在前
Apache作为WebServer在后
动态请求交给Tomcat或者PHP等

发布了4 篇原创文章 · 获赞 3 · 访问量 100

猜你喜欢

转载自blog.csdn.net/qq_41490629/article/details/104992399