可能重复:
Apache 还是 NGINX 适用于 PHP?
你好,
我已经在网上搜索过这个问题,但找不到我的问题的正确答案。
基本上,我想知道使用 nginx 是否可以获得比使用 apache 更好的性能(在 php 应用程序中),并且我不涉及静态内容(我知道 nginx 更好)。
这些站点广泛收集了带有大量变量的脚本,使用旧的非面向 OOP 的代码,而新的网站则使用类和 smarty。这些站点非常动态,每次请求都会更改部分内容。
我想避免因为静态内容而起诉 nginx,因为 php 而起诉 apache,因此我想问一下,从性能角度来看,转换是否值得。
我的主要困惑在于,我曾见过使用 wordpress 和 wp-supercache 插件的基准测试,这些测试可能使 nginx 比具有我已经描述过的功能的自定义网站更好。我还见过其他基准测试,它们之间并没有显示出很大的差异(大约 5%)
提前感谢你的帮助:D
此致敬礼,Shadow。
答案1
您所说的“性能”是什么意思?是指非常繁忙的服务器上的最大吞吐量,还是指单个页面的快速加载?
Apache 很少是限制因素(某些设置可能会提高性能)。通常真正的负载在于 php 或 mysql,然后通常是构造不良的查询或无用的工作。
与 apache 1 和 2 相比,nginx 的优势在于能够处理许多并发连接(空闲或繁忙)。它还使其他 Web 服务器无法实现的服务器范例成为可能。它不会奇迹般地提高 PHP/MySQL 的性能。
比 nginx 更值得花时间的权宜之计可能是 php 操作码缓存器 (apc) 和 mysql 查询缓存。除此之外,我会开始分析和修复代码。
为了加快页面加载速度,修改网站的工作方式将带来最大的好处,例如参阅雅虎性能博客。
答案2
考虑到 PHP 以及任何其他 Web 服务脚本语言的应用范围,每个网站的行为可能非常不同。我强烈建议您创建两个不同的服务器并比较它们的统计数据以供自己使用。因为不同的网站对其技术的用途可能不同。