我想build议开始一个新的网站,这将是相对较高的数量。 将需要一个数据库。 我想要一个通过添加硬件来随着音量增长的系统。 数据库,操作系统和硬件架构的build议是什么? 此外,任何球场成本估计会很好。 PLan从一个托pipe服务开始,但可能需要一个专门的系统从一开始。
无论您select何种技术解决scheme(操作系统,应用层,数据库引擎),都需要考虑可扩展性/高可用性的第一天计划。
所以 – 从第一天开始分割你的数据,考虑如何在生成页面的服务器之间传播负载。
这一切都取决于你要服务什么…几个随机地址/书籍来看看[linux / php / mysql的偏见]:
你可能想检查一下。 虽然不是直接回答你的问题,而且也不会造成损失,但Jeff还是在讨论这个网站的硬件和设置。 这对我来说有点让人大开眼界。
select可以水平和垂直缩放的东西。 这意味着,如果负载平衡器背后有许多小型Web服务器,而单个故障点就是一台大型Web服务器,那么它将更适合于增长和正常运行时间。
操作系统和数据库真的取决于谁在开发你的网站。 在做出决定之前与他们一起寻求build议。 我的默认答案是Linux,Apache,Postgres。 :d
考虑在云托pipe(bluelock.com,gogrid.com)没有巨大的资本成本,高可用性,快速扩展。
你一定要去一个专门的托pipe服务提供商。 有人喜欢RackSpace或Pairnetworking。 我使用RackSpace,并且在过去的四年里一直很满意。 当你打电话给任何提供商时,你应该通过你想要做的事来谈谈,他们会帮助你build立这个系统。
我会考虑Dreamhost,因为他们最初是便宜主机,你可以切换到他们的虚拟,私人托pipe(4演出RAM等)。 这在技术上不是一个专门的系统,但应该带来很多好处。
build模你的应用程序和数据库 使用这些模型,确定需要并发的位置以及需要持久存储的位置。 使用PostgreSQL进行持久性存储,使用memcached进行临时存储。 如果您需要非结构化二进制对象的长期持久性存储,请使用Amazon S3等云存储引擎和客户端库与API进行交互。
在Amazon EC2等云计算系统上开发和部署应用程序。 定义服务器angular色并对networking体系结构进行build模。 使用Debian GNU / Linux作为基本操作系统,并使用自动构build系统来引导特定的服务器angular色。
安装像Munin这样的统计报告工具,并在有足够的数据来确定应用程序的“正常”时监控Nagios等工具。
当您的应用程序处于活动状态时,监视数据集的增长并模拟该集增加1000倍。 logging您的SQL并通过PostgreSQL计划器运行一些示例查询来确定数据库瓶颈的位置。 追溯到应用程序。
为您的应用程序代码确定一个依赖于框架的统计信息包。 查看此工具的报告并确定哪些用户操作正在生成最慢的响应时间。