Web服务器为256或512 MB


12

我打算购买Raspberry Pi,我的一位同事还剩256 MB。但是我不知道256 MB的内存是否可以填充我想运行的内容。

我想用PHP和MySQL运行Apache Web服务器(或其他使用较少RAM和CPU的Web服务器),FTP服务器和SOCKS 5代理。在Web服务器上,我将运行:

  • 一个有8位用户的Vbulletin论坛
  • 我目前正在开发的游戏。

游戏准备就绪时,如果太重,我可以将论坛或游戏移至另一个树莓派。我正在使游戏尽可能的小而快速。例如:我将使用C ++处理所有更新作业。但是当游戏足够大以赚钱时,如果可以提高性能,我想购买一台普通服务器。但是我想尝试一下Pi。

所以我的问题是:我应该购买新的512 MB型号B pi,还是购买我同事的256 MB型号b?

Answers:


12

对此没有明确的答案,因为它实际上取决于您需要多少性能,应用程序将有多复杂等等。

为了安全起见,最好有更多的内存。请记住,Linux永远不会获得256MB的RAM,最好的是240MB,因为剩余的空间将分配给GPU(您确实应该在工作负载中使用此拆分)。240MB并不多,但是另一方面,有许多VPS服务提供商为VPS(虚拟专用服务器)提供256MB的RAM,并且人们在这台机器上运行相当大的站点,因此这绝对是可能的。

您可以设置可用于PHP站点的内存限制,在许多共享的托管服务上,每个站点的内存限制设置为8-16MB。许多应用程序对此都可以满意地运行。MySQL具有许多可用于限制其内存使用量的配置选项,您可以很轻松地以64MB(甚至更少)的内存运行它。Apache Web服务器也不是很饿,甚至还有更轻巧的选择。我们可以跳过FTP和SOCKS服务器,因为它们占用的内存非常少(至少当仅由几个用户使用时)。

因此,数据库是这里最大的问题。请记住,内存数据库服务器越多,性能就会越好(它主要用于缓存到安全磁盘I / O的缓存)。在流量非常高的站点上,数据库服务器具有足够的内存来将(几乎)整个数据库保留在内存中。您可能不会需要那种出色的性能。RaspberryPi的存储速度不是太快(即使没有RAID,这也比成熟的计算机要慢5到10倍),因此当您达到存储速度时,您的性能将会非常慢。前面已经提到过VPS-在大多数情况下它们具有更快的存储解决方案,但它们还与许多其他VPS(通常为16甚至32)共享此存储,因此它通常并不比RaspberryPi上的VPS好。同样,许多站点在这些服务器上愉快地运行。

综上所述-256MB RAM应该是可以的,但是您将不得不调整一些配置选项以降低内存使用量。在Internet上找到一些有关该教程的教程应该很容易,尤其是在寻找有关针对VPS使用优化服务器的文章等时。如果您不打算将来使用某些需要更多内存并且可以通过购买来省钱的东西256 MB版本的RaspberryPi,值得。您可能会学到一些有趣的技能,例如设计应用程序以使其使用较少的内存或将系统配置为需要较少的内存。这种技能将来可能会得到回报。


谢谢您的好回答。确实,这是学习如何开发良好应用程序的一种非常好的方法。非常感谢你。我要买256个。我发现有很多教程可以做到这一点: squidoo.com/optimizing-mysql-for-vps-dedicated-server wiki.vpslink.com/Low_memory_MySQL_/_Apache_configurations supportcenter.verio.com/KB/questions.php?questionid=267 serverfault .com / questions / 29126 /…my.opera.com/floweringmind/blog/…–
劳伦斯(Laurence)

1
@劳伦斯:我知道这是一件显而易见的事情,但请记住,也很高兴知道为什么必须改变一些价值观,以及如果您真的想学习一些有用的东西,他们应该做什么。有些值只是从其他站点复制粘贴而已,没有太多的思考,可能对您来说不是最佳的。
Krzysztof Adamski

我第二@Laurence认为,在资源有限的系统上进行开发可能是一种好的做法。我曾经在具有64kB的应用程序和64kB的数据平台上编写软件。人们会做这些让您惊讶。在这些限制内,甚至连TomTom导航软件的前身也是如此。如今,开发人员往往会变得懒惰,从而产生巨大的内存指纹。出于强制性限制,我会选择256MB模型。
EDP​​ 2015年
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.