2009-04-17 83 views
2

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

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

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

+0

数据库将会相对较小 - 大概有50个表格。这些表格平均会有几百条记录,最大的可能只有几千条记录。查询不应该那么重。 – Bamerza 2009-04-17 18:16:16

回答

3

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

我推荐使用VMWare创建虚拟机并将MySQL服务器与Web服务器分开。这也使您能够在不重新配置和重新安装的情况下复制,迁移或升级机器。

此外,在没有GUI(Debian,Ubuntu,Fedora等没有安装X-Window)的操作系统上运行LAMP配置。这些服务器,他们不应该浪费资源显示漂亮的窗口。最后,像Trent所说的,RAID配置是一个好主意,但RAID不是备份解决方案。如果你有两个相同的硬盘,很可能如果一个失败了,另一个很快就会失败。始终有备份解决方案(NAS,磁带,DVD,软盘等)。

1

只要确保你有2件... 2电源2个硬盘(raid 1)或更好的更多的随机RAID 5.根据正常运行时间的重要性,你甚至可能希望有一个完整的服务器故障。至于性能,你还没有给我们足够的信息......查询数据库中有多少数据是多么重要。

1

如果不知道将在服务器上运行的应用程序的详细信息,那么任何特定的建议(即X GB的RAM,带Z缓存的Y处理器)都将毫无意义。也就是说,我强烈建议不要吝啬RAM,特别是对于数据库驱动的应用程序 - 您可以将更多的数据保存在内存中而不碰硬盘,那么性能就会越好。但作为开发人员,永远不要忘记,丰富的硬件资源无法替代正确的索引和代码优化!我也想在这里回应一些其他的建议 - RAID驱动器(过去我更喜欢RAID 10的数据库服务器),获得某种脱机备份(磁带,DVD-R,USB驱动器,等等),并确保您将备份保存在异地(在洪水,火灾或其他物理灾难的情况下)。不要忘记定期测试从备份中恢复 - 没有比发现备份在太迟时无法正常工作更糟糕的感觉。

+0

Thx ...我添加了这个段落: 应用程序本身将使用后端CMS(TBD)在前端使用JQuery和后端使用PHP向用户显示内容。 – Bamerza 2009-04-17 19:06:58