zoukankan      html  css  js  c++  java
  • Nginx服务器的Web请求处理机制

    今天学习一下Nginx的优势,肯定了解一下其他服务器特性,做一下对比

    1.多进程方式

      每次接收到客户端时,都会生成一个子进程去处理,客户端断开,子进程会被回收

     优点:相互独立,实现简单,保证服务器的稳定性

     缺点:每次生成一个子进程,对资源和时间会有一定的开销,处理大量并发请求,会导致系统性能下降

    apache对其进行了改进,当客户端没有连接时就会生成一个子进程去等待,客户端断开后也不销毁而是等待下一个,但不能从根本解决问题

    2.多线程方式

      每当接收到一个客户端时,服务器的进程生成出一个线程来和客户端进行交互

      优点:线程的开销要比进程的开销小很多,有利于协作

      缺点:多个线程位于同一个进程,彼此之间相互影响,在增加了出错的风险

    IIS使用多线程方式提供服务,通常要定期检查和重启服务器,防止意外

    3.异步方式

      需要了解同步,异步,阻塞和非阻塞的概念

     1.同步:发送方发送请求后,等待接收方响应结果,接受请求后才能发送下一次请求

     2.异步:发送方发送请求后,不需要等待响应结果,直接发送下一次请求

     3.阻塞: 当没有得到响应结果时,进程会被挂起,知道接收到响应结果才会继续工作

     4.非阻塞:没有得到响应结果,进程回立即返回执行下一个调用

    阻塞和同步不能混淆,异步和非阻塞也不能混淆

      目前有四种方式

        同步阻塞方式

        同步非阻塞方式[不使用]

        异步阻塞方式[不使用]

        异步非阻塞方式[该方式效率最高]

          举个例子,比如用户在付款之后,收款员要操作收款机,期间收款员可以聊天,打电话等操作,等何时出款机得出结果再反馈给用户

    目前Nginx使用都是异步机制和多进程机制结合

  • 相关阅读:
    网络编程_UDP协议_发送端与接收端
    网络编程_IP对象_InetAddress
    Java对XML文件解析方式之一_SAX
    GUI练习3
    GUI_菜单练习
    GUI_文件管理器(练习)
    HTTP数据组织方式
    web前端面试题
    19-字符串匹配(kmp || substr,find)
    17-逆序数(树状数组+离散)
  • 原文地址:https://www.cnblogs.com/wangheng669/p/8191905.html
Copyright © 2011-2022 走看看