2

我正在为客户端设置 Web 服务器。他们将使用我正在构建的 Web 应用程序 (PHP/LAMP)。服务器将位于本地网络中。同一台服务器上还将有一个 MySQL 数据库。服务器上的负载只会是 20-25 个并发用户,但正常运行时间和性能仍然非常重要。

应用程序本身将使用后端 CMS (TBD) 向用户显示内容,前端使用 JQuery,后端使用 PHP。

所以,我的问题是:在 CPU、缓存和内存(大小/类型)方面是否有一套好的服务器系统要求,以提供相对便宜的解决方案,但仍能提供高质量的性能。

4

3 回答 3

3

说实话,硬件不是最大的因素,它是编码。如果您正确且优化地开发应用程序,那么您应该能够在一台运行 1ghz、512mb ram 和 5200rpm 硬盘驱动器的机器上同时运行至少 100 个用户。

我建议使用 VMWare 创建虚拟机并将 MySQL 服务器与 Web 服务器分开。这也使您能够复制、迁移或升级机器,而无需重新配置和重新安装。

此外,在没有 GUI 的操作系统上运行 LAMP 配置(Debian、Ubuntu、Fedora 等,没有安装 X-Window)。这些是服务器,它们不应该浪费资源来显示漂亮的窗口。

最后,就像 Trent 所说,RAID 配置是个好主意,但 RAID 不是备份解决方案。如果您有两个相同的硬盘驱动器,很可能如果一个出现故障,另一个很快就会出现故障。始终拥有备份解决方案(NAS、磁带、DVD、软盘等)。

于 2009-04-17T18:12:35.420 回答
1

只需确保您拥有 2 个一切... 2 电源 2 个硬盘驱动器(raid 1)或使用 raid 5 更好。根据正常运行时间的重要性,您甚至可能希望拥有一个完整的故障转移服务器。至于性能,您没有给我们足够的信息……查询有多大,数据库中有多少数据。

于 2009-04-17T18:00:06.027 回答
1

在不了解将在服务器上运行的应用程序的详细信息的情况下,任何具体的建议(即 X GB 的 RAM、具有 Z 缓存的 Y 处理器)都将毫无意义。也就是说,我强烈建议不要在 RAM 上吝啬,尤其是对于数据库驱动的应用程序 - 您可以在 RAM 中保留的数据越多而不会影响硬盘驱动器,您的性能就会越好。但是,作为开发人员,永远不要忘记丰富的硬件资源不能替代适当的索引和代码优化!

我还想在这里回应一些其他建议 - RAID 你的驱动器(我过去更喜欢 RAID 10 用于数据库服务器),获取某种脱机备份(磁带、DVD-R、USB 驱动器等)和确保将备份保存在异地(以防发生洪水、火灾或其他物理灾难)。并且不要忘记定期测试从您的备份恢复 - 没有比发现您的备份在为时已晚时不起作用更糟糕的感觉了。

于 2009-04-17T18:31:36.653 回答