基于多进程服务器的优点:

1.由操作系统进行调度,运行比较稳定强壮

2.能够方便地通过操作系统进行监控和管理

例如对每个进程的内存变化状况,甚至某个进程处理什么web请求进行监控.同时可以通过给进程发送信号量,实现对应用的各种管理

3.隔离性好

一个进程出现问题只有杀掉它重启就可以,不影响整体服务的可用性

很容易实现在线热部署和无缝升级

不需要考虑线程安全问题

4.充分利用多核cpu,实现并行处理

基于多进程服务器的缺点:

1.内存消耗比较大,每个进程都独立加载完整的应用环境

2.cpu消耗偏高,高并发下,进程之间频繁进行上下文切换,需要大量的内存换页操作

3.很低的io并发处理能力,只适合处理短请求,不适合处理长请求

基于多线程服务器的优点:

1.对内存的消耗小

线程之间共享整个应用环境,每个线程栈都比较小,一般不到1M

2.cpu上下文切换比较快

3.io的并发能力强

javaVM可以轻松维护几百个并发线程切换开销,远高于多进程几十个并发进程的处理能力

4.有效利用多核cpu进行并行计算

基于多线程服务器的缺点:

1.不方便操作系统的管理

2.VM对内存的管理要求非常高,GC的策略会影响多线程并发能力和系统吞吐量

3.由于存在对共享资源操作,一旦出现线程"死锁"和线程阻塞,很容易使整个应用失去可用性

nginx的重启过程:

1.主进程重新加载应用环境

2.启动新的woker进程,同时向老的woker进程发送消息

3.老的woker进程收到消息后不再处理新的请求,将之前收到的请求处理完毕后退出

4.主进程收到新的请求后就交给新的woker进程处理

基于多进程和基于多线程服务器的优缺点及nginx服务器的启动过程相关推荐

  1. 发布react项目到linux服务器,react项目部署nginx服务器

    1.打包好你的react本地项目,dist中具有打包好的文件 2.使用shell等工具登录你的linux服务器 3.安装nginx,网上教程一大堆 4.进入/usr/local/nginx/conf/ ...

  2. 教你如何在云服务器上安装并配置web服务器(这里以nginx服务器为例,操作系统linux)

    前言: 这里以git bash 工具为例,当然你可以直接用puTTY或者Xshell链接到服务器,用FileZilla 上传文件. 一.连接服务器 ssh root@你的远程ip地址. 二.查看版本 ...

  3. 酒店直播服务器系统,用ffmpeg+nginx服务器实现类似酒店视频直播系统

    最近EasyDarwin群里有朋友是做酒店视频直播系统的,大概需求是这样的:从网络电视平台那里购买了一个直播源,直播源是按并发数收费的,如果能够只用一路客户端将这个直播源获取到酒店的内网,然后再在酒店 ...

  4. nginx服务器查看日志文件,nginx服务器中access_log日志分析与配置详解

    前言 nginx的log日志分为:access log 和 error log 其中access log 记录了哪些用户,哪些页面以及用户浏览器.ip和其他的访问信息 error log 则是记录服务 ...

  5. 在阿里云服务器(ECS)上从零开始搭建nginx服务器

    本文介绍了如何在阿里云服务器上从零开始搭建nginx服务器.阿里云服务器(ECS)相信大家都不陌生,感兴趣的同学可以到http://www.aliyun.com/product/ecs去购买,或到体验 ...

  6. Linux服务器下安装配置Nginx的教程

    这篇文章主要介绍了Linux服务器下安装配置Nginx服务器的教程,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下 Nginx("engine x")是一款 ...

  7. 如何搭建nginx服务器?

    本文介绍了如何在阿里云服务器上从零开始搭建nginx服务器.阿里云服务器(ECS)相信大家都不陌生,感兴趣的同学可以去购买,或到体验馆去体验(半个月有效期).至于如何注册.管理ECS这里就不详细介绍了 ...

  8. 服务器搭建--Linux安装nginx

    安装所需环境 Nginx 是 C语言 开发,建议在 Linux 上运行,当然,也可以安装 Windows 版本,本篇则使用 CentOS 7 作为安装环境. 一. gcc 安装 安装 nginx 需要 ...

  9. Nginx - 服务器架构

    Nginx服务器启动后,产生一个主进程(master process),主进程执行一系列工作后产生一个或者多个工作进程(worker processes).主进程主要进行Nginx配置文件解析.数据结 ...

最新文章

  1. 单片机读tf卡c语言程序,单片机读写SD卡,MMC卡,MiniSD,TF卡,MicroSD卡
  2. java将图片变成圆角_android图片处理之让图片变成圆形
  3. .NET6之MiniAPI(十二):引入EntityFramewor
  4. 灰色预测法 —— matlab
  5. WEB测试总结 (架构,设计)精华部分(转)
  6. mysql join 循环_MySQL的JOIN(三):JOIN优化实践之内循环的次数
  7. VS2010 error LNK2019: 无法解析的外部符号
  8. Python教你找到最心仪的对象
  9. 2010年广州市公务员考试行测真题及答案解析
  10. 【组合数学 】 推广牛顿二项式 ( 牛顿二项式推广 | 推导流程 | 题目解析 )
  11. 如何使用腾讯云轻量服务器以及WooCommerce 应用镜像搭建跨境电商独立站!
  12. git分支代码提交主干
  13. libnet发包java语言_Net-speeder多倍发包脚本
  14. 创建oracle数据库到达梦数据库的dblink
  15. 计算机考证需要多少钱
  16. matlab分段函数的表达_使用matlab表示“段数不确定”的分段函数
  17. 摄像头网络直播方案LiveGBS部署问题 使GB28181实现无插件web直播
  18. 操作系统实验二——时间片轮转调度算法(RR算法)(新进程放队首和队尾两种C++实现)
  19. mysql中常用的三种插入数据的语句
  20. using 用法拾忆

热门文章

  1. 2021-11-13SystemStringBuliding
  2. 第五天学习Java的笔记(if,switch顺序结构)
  3. 【OpenCV入门学习笔记2】:Mat对象
  4. JavaSE(四)——方法重写、多态、接口
  5. 面向连接和无连接的套接字到底有什么区别?
  6. 位数不足前面补0mysql语句_MySQL查询添加0到少于9位数字?
  7. 怎么给linux分区,如何合理地给你的Linux分区
  8. 电脑和服务器ip作用是什么意思,分配ip地址的服务器-服务器IP地址和客户端IP地址有什么区别? – 手机爱问...
  9. mysql sshd_制作Docker镜像之mysqlkeepalivedsshd
  10. gulp修改服务器端口,2.用gulp建立一个服务器