RPi 3 Web服务器的性能比较:Apache,Nginx和Lighttpd


11

有没有人在流行的Web服务器上对RPi 3做过任何真实的性能比较测试:

  1. Apache2-最流行的服务器
  2. Nginx-声称是性能最好的服务器
  3. Lighttpd-最轻巧的服务器
  4. 还是我没听说过的包裹

类似于RPi 2的4年历史帖子。按照那篇文章中的建议,我更广泛地研究了我的文章并找到了这篇文章,但是由于它是托管公司,因此认为它有点怀疑,因此我需要针对RPi 3的硬件量身定制的答案。


4
离题:我不明白为什么有人在不给出提示的情况下对问题投下反对票。
乔·普拉塔诺

2
我既不是消极的侵略者,也不是要您删除您的问题。当时我太忙了,无法发表评论来解释我的反对意见。第一个问题是您过早地进行了优化。您尚未明确定义用例(将需要哪些模块/功能等)。我可以再继续几段,但我会让你自己说的话自己说:“如果Nginx可以满足我的需要,那么它似乎确实是一个更好的即用型(或即席即用型) -get)解决方案,以便在性能调整开始之前将其放在一起。”
史蒂夫·罗比拉德

2
如果Nginx确实可以满足我的需要(因此您可以根据需求排除一台或多台服务器;因此使您的问题变得无关紧要。您将购物车摆在了前面。其次,要回答您的问题将取决于特定的工作量,请问对数据库的使用是重读还是重写?系统是与数据库绑定还是与IO绑定?如果数据库没有大量调整您的Web服务器的可能以帮助。
史蒂夫罗比拉德

2
再次引用您的话,“能够为他们提供所有服务而不会造成很大的滞后很重要。” 多少滞后?最后,“我已经看过其他有关如何调整Apache和Nginx以获得更好性能的文章,但这似乎是很多工作,只是为了建立一个测试配置来对这些选项进行基准测试。” 这难道不是您在问这个人为您做的事情吗?没有实际流量数据或问题的完整说明的好处。如果没有这些东西,他们可能会咨询一个水晶球。
史蒂夫·罗比拉德

考虑到PI的内存占用量和处理器限制,像基于节点的设置以及在非阻塞IO事件驱动的服务器中快速表达的东西会更有用吗?同样,取决于您的用例。您要提供静态文件还是动态文件。是您拥有一个Web应用程序或网站的平台。
CoderX

Answers:


5

这应该是一个评论,但是有点长。

尽管我尚未(尚未)在Pi上测试各种Web服务器,但以前我已经在x86服务器硬件上运行的Web服务器上进行了很多测试。我从那里知道的是:

  1. 大多数人对性能和容量之间的差异感到困惑-您会看到很多帖子声称nginx比(fork-forap)apache快,这是不正确的,除非负载很重。Nginx(和lighty)的容量都更好。这是最琐碎的分析级别。

  2. 很少有人用他们的Web服务器提供专门的静态内容(在这种情况下,tux和G-Wan使您提到的服务器陷入尘埃中)。性能配置文件高度依赖于逻辑层技术及其与Web服务器的集成。

  3. 性能(和容量)取决于设备上运行的所有其他功能。

数据中心服务器有很多功能,如果没有适当的群集级别冗余(双psu,双网络,远程控制台...),就非常容易使用,但是Raspberry PI作为Web并不具有最佳意义。磁盘I / O速度慢的服务平台-您确实需要通过SATA,[i] SCSI,AOE或与存储的infiniband连接进行连接。Pi没有SATA接口,只有一个以太网端口,我不知道infiniband或SCSI接口。

(有一些小型的单板计算机,它们是在上面建立Web服务功能的更明智的选择-并且这些服务器的群集具有良好的经济意义,但是在这种情况下,您正在寻找具有分层功能的多个节点,这些功能用于SSL终止,HTTP缓存,网络服务,应用逻辑和数据管理)。

最快的问题很难定义,每种情况都不尽相同,无法回答。

但是,我一次又一次在IT中看到的最大错误是,人们基于单一属性选择产品,而不是考虑技术和相关人员的广泛影响。


好点的。我担心这个项目会重新燃起。
桑多尔·多萨

2

我担心您需要自己找出答案。当我对RPi2提出这个问题时,我偶然发现了Siegehttperf。我按照此示例运行基准测试-而不是我请求php文件的纯HTML页面。Web服务器的性能还取决于您将选择的cgi模块。普通的香草lighttpd可能比香草的Apache更快。如果您选择/配置的CGI不正确,则可能会发生变化,Apache的性能可能会超过Lighty。


我怕你是对的。我将开始尝试整理一种测试方法并进行报告。
桑多尔·多萨

@SandorDosa,让我保持最新,请
Joe Platano

2

由于以下原因,我选择了lighttpd选项:

  1. 轻巧的
  2. 最容易安装的之一
  3. 过去两年在我的RPi2上运行没有任何问题(24x7)
  4. 需要一个简单易用的测试设备

我将其用作:

  1. 监视我的系统的CPU温度,环境/室温和湿度图记录器
  2. FTP服务器与我的业务合作伙伴交换文件,并避免将敏感数据存储在第三方免费邮件服务器上
  3. 许多网络小部件可以检查市场指数,例如外汇,债券,股票等。
  4. 测试html代码
  5. 运行我制作的用于检查邮件的脚本,因为我有许多邮件帐户,避免了地理标记锁定
  6. 运行一个简单的博客(Nibble博客)
  7. 充当蜜罐,以发现(并阻止)我网上的黑客

仅举几例。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.