AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 53238
Accepted
geeklin
geeklin
Asked: 2009-08-13 06:58:49 +0800 CST2009-08-13 06:58:49 +0800 CST 2009-08-13 06:58:49 +0800 CST

托管非常高带宽的站点

  • 772

我的任务是确定每月将吸引超过 1000 万独立访问者的网站的基础架构要求。这个网站将在大小内容明智的几个演出。我马上就知道所有的交互内容都会放在 CDN 上,但是后端呢?该站点还将附加一个 CMS,这意味着任何双服务器设置都需要集群,我猜也是负载平衡的。只是想要您可能有的任何建议。

添加更多细节。我们很可能会使用 webmux 负载均衡器。

load-balancing hosting cluster
  • 4 4 个回答
  • 459 Views

4 个回答

  • Voted
  1. Best Answer
    David Pashley
    2009-08-13T10:37:11+08:002009-08-13T10:37:11+08:00

    可悲的是,在您上线之前,您不知道要修复什么。如果没有一些数据来支持您的决定,就很难把钱放在正确的地方。我会推荐容量规划的艺术来了解你应该做什么来规划你的容量。但一般规则是监控一切。你想要大量的图表。如果你看不到哪里出了问题,你就没有机会解决它。不要将监控留到最后一分钟。了解您的网站当前的表现以及它在过去一天、一个月或一年中的表现是多么重要,我怎么强调都不为过。我们使用 munin 进行绘图,因为它可以快速启动和运行。其他人使用 Ganglia 和 Cacti 效果很好。

    但是,您可以采取各种措施来提高生存机会。

    1)复制一切。很多。您希望能够在遇到问题的地方添加更多硬件。您不想购买更大的硬件来替换太慢的硬件。查看负载平衡您的应用程序服务器。看看使用主/从数据库设置,其中读取来自您的从属服务器并写入您的主服务器。您说过您将大多数媒体存储在 CDN 上。好的。

    2) 避免在数据库中存储任何暂时的东西。数据库对于临时数据来说太慢了,您希望它们服务于其他请求。

    3) 尽可能避免服务器端状态。对于服务器端状态,您将不得不在 Web 服务器之间进行某种共享会话复制,从而限制您添加更多硬件的能力,或者您需要使用粘性会话,这将起作用,但可能导致负载不均和会话死亡如果你的服务器死了。

    4)缓存一切。使用 memcached 在数据库和应用程序之间缓存数据。如果您存储多个查询结果的数据,它会更有效。在 Web 层前使用缓存。像 apache 的 mod_cache 或反向代理模式下的 squid 之类的东西。

    5) 介绍您的网站。找到慢的地方。

    6)配置您的html。很大一部分用户感知到的网络速度慢是在前端。高性能网站有很多有用的技术。Yahoo 的 YSlow firefox 扩展也很有用。

    我可以推荐 Building Scalable Web Sites和High Scalability博客。

    • 8
  2. hdanniel
    2009-08-13T07:08:56+08:002009-08-13T07:08:56+08:00

    有很多选择。我在类似情况下使用的一些技术是:用于负载平衡的 haproxy,用于提供静态内容的 nginx 和 lighttpd,用于代理缓存的 varnish,用于服务器之间高可用性的心跳。我仍然让 apache 使用 cms 发布静态 html 文件来提供动态内容,并试图避免连接到前端的数据库。

    • 2
  3. KPWINC
    2009-08-13T07:27:35+08:002009-08-13T07:27:35+08:00

    你知道,这取决于你在做什么......有点简单的方法可能是利用亚马逊的 CloudFront 服务之类的东西:

    http://aws.amazon.com/cloudfront

    Amazon CloudFront 是一种用于内容交付的 Web 服务。它与其他 Amazon Web Services 集成,为开发人员和企业提供了一种以低延迟、高数据传输速度和无承诺的方式向最终用户分发内容的简单方法。

    Amazon CloudFront 使用全球边缘站点网络交付您的内容。对您的对象的请求会自动路由到最近的边缘位置,因此以最佳性能交付内容。Amazon CloudFront 与 Amazon Simple Storage Service (Amazon S3) 无缝协作,后者可持久存储您文件的原始最终版本。与其他 Amazon Web Services 一样,使用 Amazon CloudFront 没有合同或每月承诺 - 您只需为通过服务实际交付的内容支付多少或多少。

    • 0
  4. Mark L
    2009-08-13T07:33:29+08:002009-08-13T07:33:29+08:00

    通过负载平衡,我也强烈推荐:

    • http://www.danga.com/memcached/用于缓存页面,这样您就可以访问您的数据库和文件系统等...少
    • http://www.sphinxsearch.com/用于比 mysql 或 postgres 更快地搜索数据库
    • http://www.port25.com/products/prod_index.html用于比大多数免费 MTA 更快、更智能地发送电子邮件
    • 0

相关问题

  • 网络负载平衡服务器无法相互通信

  • 用于网络监控的路由/代理 SNMP 陷阱(或 Netflow、通用 UDP 等)的解决方案?

  • 防止拒绝服务攻击的最佳技术是什么?

  • 添加备份互联网连接需要哪些硬件?

  • 什么是最有效的 Windows 负载平衡解决方案?

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve