热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Nginx与Apache性能测试对比

之前一直研究nginx的源代码,最近有时间也做了下nginx与apache的性能对比,希望能够够对大家有所帮助!nginx动态文件处理能力差?这是我最困惑的地方,在google了nginx之后发现它的评价并没有想象中那么差劲,并且很多公司已经开始用nginx+php(fast-cgi)作

之前一直研究nginx的源代码,最近有时间也做了下nginx与apache的性能对比,希望能够够对大家有所帮助!

nginx动态文件处理能力差?

这是我最困惑的地方,在google了nginx之后发现它的评价并没有想象中那么差劲,并且很多公司已经开始用nginx+php(fast-cgi)作为主流web服务器,于是我决定亲自试一试。

测试环境:

web服务器:192.168.0.235双核(Intel(R) Xeon(TM) CPU 3.00GHz)

测试客户端:192.168.30.149双核(Pentium(R) Dual-Core CPU      E5200  @ 2.50GHz)

测试工具:

webbench-1.5 ,这里为何不用ab命令,因为测试时发现,在高并发下,ab命令可能会失败,在任务没有完成时,强制终止。所以我们要有一个容错的工具来进行测试。

直接进入主题:

a、首先来看一下静态文件的处理性能比较:

①处理数据量比较 

x轴:并发量

y轴:每秒钟的数据处理量(byte/sec)

这里不过多解释,nginx的静态处理能力完胜apache。

  ②出错率比较

x轴:并发量

y轴:出错率(%)

nginx 出错率一直保持在%1左右,而apache表现处理不稳定性。

b、下面是我们最关心的动态文件处理性能比较:

   ①同样来看一下数据处理量比较

可以看出nginx的动态文件处理能力并不比apache差!!!

②  出错率比较

根据出错率来看,nginx明显低于apache,总的观察看来nginx无论是动态处理能力还是静态处理能力,都比apahce要强劲很多。

也许你有以下问题:

1.有人说nginx+fast-cgi不够稳定?

这个事实可以证实,目前新浪博客、新浪播客、网易新闻、腾讯网、搜狐博客等门户网站频道,六间房、56.com等视频分享网站,Discuz!官方论坛、水木社区等知名论坛,盛大在线、金山逍遥网等网络游戏网站,豆瓣、人人网、YUPOO相册、金山爱词霸、迅雷在线等新兴Web 2.0网站均用nginx做web服务器。

2.我们的系统已经很稳定了,为什么还要冒风险来用nginx做动态处理?

网站的系统架构犹如逆水行舟,不进则退。随着业务增长,谁不希望更多的消费者呢?怎样创造一个满意的环境给消费者?之前的测试完全是在nginx没有优化的前提下完成的,而在优化后Nginx 0.8.46 + PHP 5.2.14 (FastCGI)可以承受3万以上的并发连接数,相当于同等环境下Apache的10倍。这点每一个加班监控系统的兄弟们都会有感触吧。

最后附上一些数据:

这里就不全部展示,如果需要全部数据请留下电子邮箱!


推荐阅读
  • 手机上编写和运行PHP代码的最佳软件推荐 ... [详细]
  • Linux学习精华:程序管理、终端种类与命令帮助获取方法综述 ... [详细]
  • 在Linux环境下,本文详细探讨了Apache服务器中CGI技术的应用与实现。首先,通过使用yum包管理器安装了必要的软件,如PHP。安装完成后,对Apache服务器进行了配置,确保CGI功能正常运行。此外,还介绍了如何编写和调试CGI脚本,以及如何在实际环境中部署这些脚本以提供动态网页内容。实验结果表明,通过合理的配置和优化,Apache服务器能够高效地支持CGI应用程序,为用户提供丰富的交互体验。 ... [详细]
  • 本文深入解析了 Apache 配置文件 `httpd.conf` 和 `.htaccess` 的优化方法,探讨了如何通过合理配置提升服务器性能和安全性。文章详细介绍了这两个文件的关键参数及其作用,并提供了实际应用中的最佳实践,帮助读者更好地理解和运用 Apache 配置。 ... [详细]
  • 如何利用Apache与Nginx高效实现动静态内容分离
    如何利用Apache与Nginx高效实现动静态内容分离 ... [详细]
  • 本文深入探讨了IO复用技术的原理与实现,重点分析了其在解决C10K问题中的关键作用。IO复用技术允许单个进程同时管理多个IO对象,如文件、套接字和管道等,通过系统调用如`select`、`poll`和`epoll`,高效地处理大量并发连接。文章详细介绍了这些技术的工作机制,并结合实际案例,展示了它们在高并发场景下的应用效果。 ... [详细]
  • ActiveMQ是由Apache开发的一款广受欢迎且功能强大的开源消息中间件。作为完全符合JMS 1.1和J2EE 1.4规范的JMS Provider实现,尽管JMS规范已问世多年,但ActiveMQ依然保持了其在消息队列领域的领先地位。本文将带你初步了解ActiveMQ的核心概念及其应用场景,帮助你快速入门这一重要的消息传递技术。 ... [详细]
  • NoSQL数据库,即非关系型数据库,有时也被称作Not Only SQL,是一种区别于传统关系型数据库的管理系统。这类数据库设计用于处理大规模、高并发的数据存储与查询需求,特别适用于需要快速读写大量非结构化或半结构化数据的应用场景。NoSQL数据库通过牺牲部分一致性来换取更高的可扩展性和性能,支持分布式部署,能够有效应对互联网时代的海量数据挑战。 ... [详细]
  • 构建顶级PHP博客系统:实践与洞见
    构建顶级PHP博客系统不仅需要扎实的技术基础,还需深入理解实际应用需求。本文以Zend Studio为开发环境,MySQL作为数据存储,Apache服务器为运行平台,结合jQuery脚本语言,详细阐述了从环境搭建到功能实现的全过程,分享了开发PHP博客管理系统的宝贵经验和实用技巧。 ... [详细]
  • Apache Maven 3.5.0 版本的发布带来了多项重要特性和性能优化。该版本不仅改进了构建过程的效率,还增强了对复杂项目结构的支持。通过引入新的依赖解析机制和优化的插件系统,Maven 3.5.0 在提升用户体验的同时,也确保了更高的稳定性和兼容性。此外,该版本还修复了多个已知问题,进一步提升了整体的可靠性和安全性。 ... [详细]
  • 如何在主服务器响应变慢时,自动切换至备用服务器地址以确保服务连续性
    在主服务器响应速度下降时,如何通过编程实现自动切换至备用服务器地址,以确保服务的连续性和稳定性。本文将介绍一种基于PHP和MySQL的解决方案,通过监测主服务器的响应时间,当检测到延迟过高时,自动切换至备用服务器接口,从而保障系统的高可用性。 ... [详细]
  • 深入浅出解析HTTP协议的核心功能与应用
    前言——协议是指预先设定的通信规则,确保双方能够按照既定标准进行有效沟通,从而实现准确的信息交换。例如,驯兽师通过拍手使动物坐下,这实际上是一种预设的协议。本文将详细探讨HTTP协议的核心功能及其广泛应用,解析其在现代网络通信中的重要作用。 ... [详细]
  • Nginx入门指南:从零开始掌握基础配置与优化技巧
    Nginx入门指南:从零开始掌握基础配置与优化技巧 ... [详细]
  • 比尔·盖茨最新个人网站出人意料地选择Linux服务器,背后有何深意?
    nsitionalENhttp:www.w3.orgTRxhtml1DTDxhtml1-transitional.dtd ... [详细]
  • 一、index.php中:?phpechoahrefprocess.php?filenamehalo.mp3下载a?process.php中:?phph ... [详细]
author-avatar
尹子
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有