Qui*_*Par 32 nginx web-server apache-2.2
像 rambler 这样的网站如何如此快速地提供动态内容?甚至比雅虎(它在我的国家 - 东南亚有一个服务器;漫步者没有)还要快。
这纯粹是 Nginx 的能力吗?我应该去哪里了解这些功能?
这里几乎是一个新手,我相信如果从 Nginx 提供 serverfault.com 将比 IIS 7 快得多(假设这两种情况下的数据库访问时间相同)。这是一个公平的假设吗?
编辑:
Jes*_*r M 21
像 rambler 这样的网站如何如此快速地提供动态内容?……这纯粹是Nginx的能力吗?我应该去哪里了解这些功能?
这与使用的 Web 服务器几乎没有任何关系——nginx、IIS 和 Apache 都“足够快”,通常可以在几毫秒内完成工作。nginx 比 Apache 快得多,但这仅仅意味着站点所有者将需要更少的服务器用于 Web 服务部分——nginx 不会更快地向您传输数据。
不太重要的部分是服务器端速度,即创建 HTML 所需的时间。更重要的部分是“前端”性能,我指的是 HTML、CSS、Javascript 和图像、这些的数量、这些的大小以及这些的正确交付(HTTP 压缩、缓存)。
当然,服务器端的速度还是很重要的,我并不是说它应该被忽略或无关紧要。但通常它是最终用户速度感知的最小部分——服务器端工作通常在不到 500 毫秒内完成,但页面在 3,000 - 5,000 毫秒过去之前还没有准备好。大部分时间用于下载前端资源(CSS、Javascript、图像)。
史蒂夫苏德斯在雅虎工作时完成了最初的工作,他现在在谷歌工作。他的第一本书“高性能网站”是学习更多关于制作快速网站的最佳起点。在这个视频演讲中可以找到他书中的相同材料,以及这些设计规则。然而,我发现这本书读起来很快,而且更容易理解。
您可以通过WebPageTest.org 的测试器运行这些站点——这会让您对这些站点的前端部分有很好的感觉,以及为什么它们更快或更慢。
我相信如果从 Nginx 提供 serverfault.com 将比 IIS 7 快得多(假设这两种情况下的数据库访问时间相同)。这是一个公平的假设吗?
不,那是误会。:-)
Dav*_*ett 18
Nginx 更常用于负载平衡其他应用程序/服务器和提供静态内容,而不是用作完整的服务器。
例如,您可以使用众多 python 框架之一编写应用程序,并让 nginx 作为其许多实例的前端(可能分布在多台机器上)。在这种情况下,nginx 服务器有两个目的:它直接处理对图像和样式表等静态内容的请求(并且由于其设计,它可以非常快速地完成此操作),并将动态请求传递给应用程序,在它知道的所有实例之间分散负载. 这也是 Ruby on Rails 社区中非常流行的配置。
对您而言,Rambler 可能比本地 Yahoo 服务更快的原因还有另外两个可能的原因。首先,本地 Yahoo PoP 可能没有足够的可用资源来处理它获得的更快的请求数量,因此也许只需添加更多硬件(假设软件以这种方式扩展良好)就可以加快速度(但是,大概,差异不是值得维护额外套件的成本,否则雅虎会这样做)。另一个很大的区别可能在于后端而不是 Web 服务器——这两个服务无疑会有非常不同的数据库安排,即使不是,它们也不太可能运行完全相同的查询种类(以及查询的数量)专用于数据库架构的硬件也会产生显着影响)。
分析为什么一个服务比另一个更快(通常或在特定情况下)通常不会得出一个简单的答案 - 有很多方法可以设计一个旨在扩展到成千上万用户的应用程序,每个用户都有自己的自己的好处、问题和妥协,即使您将所有这些差异都排除在外,每个站点也会有不同的用户群动态,此外还有设计人员无法控制的网络问题。
归档时间: |
|
查看次数: |
14503 次 |
最近记录: |