4

我知道如何创建小型数据驱动的网站,但想了解如何将它们转换为处理大型数据流。

这些问题基于一个站点,该站点的行为主要类似于堆栈溢出、craigslist 等,人们可以在其中发布内容和其他人回复,并且具有基于标签的基本搜索功能。

  1. SQL Server、Oracle 等常规关系数据库是否足够强大以支持大量数据读写?

  2. 如果我有一个托管在专用单台服务器上的网站,我一般可以期望它处理多少流量?

  3. 在创建中大型应用程序时,是否有任何一般的设计规则或问题需要考虑?

4

4 回答 4

4
  1. 有了良好的缓存策略和编写良好的 SQL 语句,任何 RDBMS 都应该足够了。

  2. 简短的回答是视情况而定。有一个关于这个话题的很好的讨论here

  3. 我建议您从查看这篇文章开始。只需遵循基本的编码实践将有助于使您的代码更具可扩展性。

于 2010-08-03T02:36:57.483 回答
2
  1. 是的,但是要明智地编写查询并利用缓存。
  2. 取决于硬件、操作系统和网络服务器。
  3. 查看3 层架构
于 2010-08-03T02:35:02.137 回答
1

关于#2:使用Siege或任何相关的 Web 基准测试工具 - Apache ab、perfmon 和 shell 脚本,任何可以从服务器中敲出并报告它的东西(Siege 的行为有点像真实用户,真的推荐它)。您将能够获得一些关于您的服务器在被真实事物淹没之前可以处理的真实指标:每秒请求数、并发用户数、响应时间、带宽使用情况等。

当然,当您仅处于设计阶段时,这将无济于事。在这种情况下,安装一些具有相似概念的 OSS Web 应用程序并首先对其进行锤击。这只是一个粗略的估计,因为有很多变量,但仍然比从空气中提取数字要好。

于 2010-08-03T07:33:37.667 回答
0

好吧,另外两个人已经在缓存和 SQL 查询建议方面击败了我。我建议的另一件事是使用 AJAX 和客户端验证来减少整页加载和服务器回发的数量。

于 2010-08-03T03:29:10.210 回答