首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >应用程序的商品硬件估计

应用程序的商品硬件估计
EN

Stack Overflow用户
提问于 2010-01-14 20:15:12
回答 3查看 320关注 0票数 1

假设,我想开发堆栈溢出网站。假设每天有100万次请求,我如何估算支持该网站所需的商品硬件数量。在这种情况下,是否有任何案例研究可以解释性能的改进?

我知道I/O瓶颈是大多数系统的主要瓶颈。提高I/O性能的可能选择是什么?我认识的人很少

  1. 缓存
  2. 复制
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-01-14 20:29:50

您可以通过多种方式提高I/O性能,这取决于您在存储设置中使用的是什么:

  1. 如果应用程序在I/O中显示良好的空间位置或使用大型文件,则增加文件系统块大小。
  2. 使用RAID 10 (条带+镜像)实现性能+冗余(磁盘故障保护)。
  3. 使用快速磁盘(性能明智: SSD > FC > SATA)。
  4. 在一天中的不同时间隔离工作负载。例如夜间备份,白天正常的应用程序I/O。
  5. 关闭文件系统中的更新
  6. 缓存NFS文件处理.k.a。干草堆 (Facebook),如果将数据存储在NFS服务器上。
  7. 将小文件合并成更大的块,即a BigTableHBase
  8. 避免非常大的目录,即同一目录中的大量文件(而不是在层次结构中的不同目录之间划分文件)。
  9. 使用聚类 存储系统 (是的,不是很普通的硬件)。
  10. 尽可能地为顺序磁盘访问优化/设计应用程序。
  11. 使用梅卡奇。:)

您可能想看看StackOverflow体系结构的“经验教训”部分。

票数 2
EN

Stack Overflow用户

发布于 2010-01-14 20:19:19

看看这个方便的工具:

http://www.sizinglounge.com/

还有戴尔的另一份指南:

graham?c=us&l=en&cs=555

如果您想要您自己的类似堆栈溢出的社区,您可以注册StackExchange

您可以在这里阅读一些案例研究:

高可伸缩性- Rackspace现在如何使用MapReduce和Hadoop来查询兆字节的数据http://highscalability.com/how-rackspace-now-uses-mapreduce-and-hadoop-query-terabytes-data

http://www.gear6.com/gear6-downloads?fid=56&dlt=case-study&ls=Veoh-Case-Study

票数 1
EN

Stack Overflow用户

发布于 2010-01-14 20:46:04

每天有100万次请求,12次/秒。堆栈溢出足够小,您可以(使用有趣的规范化和压缩技巧)完全适合64 GByte戴尔PowerEdge 2970的内存。我不知道缓存和复制应该在哪里发挥作用。

如果您在考虑标准化时遇到了问题,那么可以使用256 is的PowerEdge R900。

如果您不喜欢单一的故障点,您可以连接其中的几个,只需将更新推送到套接字上(最好是在单独的网卡上)。即使是12K/秒的峰值负载也不应成为主存系统的问题。

避免I/O瓶颈的最好方法是不做I/O (尽可能多)。这意味着具有批写(丢失几秒数据没有问题)的类似prevayler的体系结构,基本上是一个日志文件,而且对于复制来说,也可以将它们写到套接字中。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2067262

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档