美文网首页数据分析和架构设计
Apache和Nginx的服务器模型对比分析

Apache和Nginx的服务器模型对比分析

作者: 阿休 | 来源:发表于2018-06-29 21:49 被阅读36次

    Apache是多进程/多线程模型,它在启动的时候会启动一大批进程作为进程池,当用户请求到来的时候,从进程池中分配处理进程给具体的用户请求,这样可以节省多进程/线程的创建和销毁开销,但是如果同时有大量的请求过来的时候,需要消耗比较高的进程/线程切换。而Nginx则是采用epoll技术,这种非阻塞的做法,可以让一个进程同时处理大量的并发请求,而无需反复切换。对于大量的用户访问场景下,apache会存在大量的进程,而nginx则可以仅用有限的进程(比如按CPU核心数来启动),这样就会比apache节省了不少“进程切换”的消耗,所以其并发性能会更好。

    Nginx的固定多进程,一个进程异步处理多个客户端   Apache的多态多进程,一个进程处理一个客户  

    在现代服务器端软件中,nginx这种模型的运维管理会更简单,性能消耗也会稍微更小一点,所以成为最流行的进程架构。但是这种好处,也会付出一些另外的代价:非阻塞代码在编程的复杂度变大

    相关文章

      网友评论

        本文标题:Apache和Nginx的服务器模型对比分析

        本文链接:https://www.haomeiwen.com/subject/ugrzyftx.html