首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >这是报纸网站的合理架构吗?

这是报纸网站的合理架构吗?
EN

Server Fault用户
提问于 2010-08-18 08:24:41
回答 2查看 417关注 0票数 5

我们经营一个报纸风格的网站,并正在巩固我们的架构,从一个变态成长为一个更可伸缩,弹性的解决方案。

我在想以下几点:

代码语言:javascript
复制
internet
    |
h/w firewall
    | 
h/w load balancer
    |        |
    |     control server (nagios, mail server & misc)   
    |
pair of nginx load-balancing reverse caching proxies
    |                                  |
pair of apache app servers          pair of mogilefs storage nodes
and mogilefs trackers
    |
 pair of mysql dbs (master/slave)
 and mogilefs db

所有机器都将运行64位中心。

我们需要能够在应用服务器上同时服务7个用户,并且每秒提供840个静态文件。所以我想把事情搞清楚如下:

  • mogilefs存储节点- 2GB RAM,Intel Atom (1.6GHz)
  • app服务器- 8GB内存,Athlon X2 (2.8GHz)
  • 反向代理和控制服务器- 4GB内存,Athlon X2 (2.8GHz)
  • DBS-8GRAM,X6 (2.8GHz)

所有的磁盘都有7.2 have。数据库中没有大量的数据,因此基本上所有数据都可以缓存在缓冲区中。另外,我们只有大约15%的memcached命中率,所以数据库上没有很大的负载。

未来的阶段将是循环往复的DNS,每件事都映射到不同的数据中心。

这个拓扑中有遗漏什么吗?有人对这些组件做过类似的事情吗?这些机器看上去好像不够-/太过分了吗?

谢谢

编辑

更多的信息:

apache每秒提供7次同时的页面查看--很多cms内容无论如何都是在磁盘上缓存的&尽可能使用memcached。840静态文件需要每秒提供服务,但这可能有点过高,因为在未来很长一段时间内,只有一小部分页面查看将在客户端具有冷缓存。

唯一的管理员将上传静态内容到游戏厨师的存储节点。他们可能每天上传100个文件。我是个新手--他们只会使用商品磁盘(7.2krpm)

然后通过http://static*.ourdomain访问该内容.Nginx将将请求代理到此内容并在本地缓存它,因此虽然第一次检索可能有点慢,但随后的检索将来自nginx缓存。

EN

回答 2

Server Fault用户

回答已采纳

发布于 2010-08-18 09:30:58

这有点笼统,不能用一个简单的问题来问。您将需要为您提出的解决方案和负载提供更多的输入:

  • 什么负载(页面/缓存页面/资产)将由这个堆栈中的哪个软件(nginx、moji厨师、localfs、apache)提供服务?负载平衡器会做什么,它是什么类型的?
  • 您将使用什么CMS?它是如何与莫吉尔互动的?你的战友们会用什么样的储藏室呢?
  • 虽然您可以在2Gb节点上运行mogile,在4Gb上运行apache,但我不会在RAM上吝啬。更多的记忆会使很多事情变得更顺畅。
  • 你没有提到CPU,这在CMS图片中更重要

而且,我在那里没有看到任何memcached;取决于可能有用的设置。

7同时使用的用户听起来不多,在您看来,每秒有多少页面浏览量?

编辑以反映新信息:

有很多细节需要充实,但这似乎是合理的。这在很大程度上取决于您如何配置nginx缓存和CMS。请记住网络,我建议至少是千兆字节。

我有点担心马戏团的表演。如果您仍然处于设计阶段,我建议根据您的需求,考虑替代方案(可能是直接的文件系统复制)或未来的迁移场景。

此外,负载平衡器目前是设计中的一个非常高级的元素。在您非常确定性能和功能方面的需求之前,我会把所有选项都放在那里。

票数 1
EN

Server Fault用户

发布于 2010-08-22 11:56:46

您正在从(动态)req服务器执行~7页req/s,对于(小文件)静态内容执行~850 req/s,为此您需要一个具有~10服务器?

的多层体系结构。

就在我头上,听起来太慢了。要么你是在过度建设,要么你的网站有一些缓慢的慢代码,或者别的什么?

我建议对您的应用程序进行彻底的基准测试,并据此对您所需的负载硬件进行评估。

几个想法:

  • 有两个负载平衡层是额外的复杂性,这是需要吗?一个HW负载均衡器和一个高速缓存服务器(Squid或Varnish)如何?
  • 永远不要在真正的服务器上使用Atom CPU,它们的性能非常差。
  • 我不明白你为什么要使用老的桌面类CPU,比如双核处理器。现代四核服务器CPU的实际使用速度至少快了2倍。使用现代更强大的硬件将使您能够整合层并简化您的体系结构。
  • MogileFS可能很棒;除了它的起源之外,我对它不太了解,而且它多年来一直在大量使用,并取得了巨大的成功。但是为什么要设置一种你不熟悉的技术来扩展到2台服务器呢?如果您只需要两个带有Intel Atom CPU的服务器的性能水平,那么就放弃这个配置,转而使用一个带有快速磁盘子系统(4或8个磁盘RAID 10或SSD)的单一现代四核服务器。

Recommendations:

  • 测试您自己的应用程序,并获得最佳的指标,您可以为您的现实生活缓存命中率。
  • 也许找一位顾问,他已经建立了这样的东西好几次,并与他合作的最终设计?

您的架构以上是健全的,并得到了很好的考虑。但得到一些数字,以真实生活的表现,个别部分。:-)

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

https://serverfault.com/questions/171740

复制
相关文章

相似问题

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