xlabel位置 - python图例大小




Django是否缩放? (20)

今天在Django上建立的“最大”网站是什么? (我主要测量用户流量的大小)

在美国, Mahalo 。 我被告知他们每个月处理大约1000万个独特用户。

国外, Globo网络(巴西的新闻,体育和娱乐网站); Alexa将他们列入全球前100名(目前约80名)。

其他值得注意的Django用户包括PBS,国家地理,发现,美国国家航空航天局(NASA)(以及美国国家航空航天局内的许多不同部门)以及国会图书馆。

Django可以每天处理10万个用户,每个用户访问该网站几个小时?

是的 - 但前提是你已经写好了你的应用程序,并且你有足够的硬件。 Django不是一个神奇的子弹。

像StackOverflow这样的网站可以在Django上运行吗?

是的(但参见上文)。

技术方面,很容易:看到soclone一次尝试。 在流量方面,每个月少于100万个唯一身份的参与者将StackOverflow竞争。 我可以命名至少有十几个Django网站的流量比SO多。

我正在用Django构建一个Web应用程序。 我选择Django的原因是:

  • 我想要使​​用免费/开源工具。
  • 我喜欢Python并且觉得这是一种“长期”语言,而关于Ruby我不确定,而PHP似乎是一个巨大的麻烦学习。
  • 我正在为一个想法建立一个原型,并没有太多考虑未来。 开发速度是主要因素,我已经知道Python。
  • 我知道,如果我将来选择这样做,迁移到Google App Engine会更容易。
  • 我听说Django“很好”。

现在我越来越考虑发布我的作品,我开始关注规模。 我发现的关于Django扩展能力的唯一信息是由Django团队提供的(我没有说任何无视它们的东西,但这显然不是客观的信息......)。

我的问题:

  • 今天在Django上建立的“最大”网站是什么? (我主要测量用户流量的大小)
  • Django能够每天处理100,000个用户,每个用户访问该网站几个小时?
  • 像Stack Overflow这样的站点可以在Django上运行吗?

  1. “今天在Django上建立的最大网站是什么?”

    没有任何一个地方可以收集有关Django网站流量的信息,因此我不得不使用来自不同地点的数据刺探它。 首先,我们在主Django项目页面的首页上列出了Django站点列表,然后在djangosites.org列出了Django构建的站点列表。 浏览清单并选择我所知道的一些流量,我们看到:

  2. “Django能够每天处理100,000个用户,每个用户访问该网站几个小时?”

    是的,请参阅上文。

  3. “像这样的站点能在Django上运行吗?”

    我的直觉是肯定的,但是,正如其他人回答的那样,Mike Malone在演讲中提到,数据库设计至关重要。 如果我们能够找到任何可靠的流量统计数据,www.cnprog.com也可以找到有力的证据。 无论如何,这不仅仅是将一堆Django模型放在一起会发生的事情:)

当然,还有更多的网站和博客感兴趣,但我必须停下来!

关于使用Django构建高流量网站michaelmoore.com的博客文章描述为排名前10000的网站Quantcast statscompete.com统计

(*)编辑的作者,包括此类引用,曾用作该项目的外包开发人员。


今天在Django上建立的“最大”网站是什么? (我主要测量用户流量的大小) Pinterest
disqus.com
更多https://www.shuup.com/en/blog/25-of-the-most-popular-python-and-django-websites/

Django能够每天处理100,000个用户,每个用户访问该网站几个小时?
是的,但要使用适当的架构,数据库设计,使用缓存,使用负载平衡和多个服务器/点

像这样的站点可以在Django上运行吗?
是的,只需要按照第二个问题中提到的答案



今天我们使用许多网络应用和网站来满足我们的需求。 他们中的大多数都非常有用。 我会告诉你一些python或django使用的。

华盛顿邮报

华盛顿邮报的网站是一个非常受欢迎的在线新闻来源,以配合他们的日报。 它的大量视图和流量可以通过Django web框架轻松处理。 Washington Post - 52.2 million unique visitors (March, 2015)

NASA

美国国家航空航天局的官方网站是查找有关正在进行的太空探索的新闻,图片和视频的地方。 这个Django网站可以轻松处理大量的视图和流量。 2 million visitors monthly

守护者

卫报是由卫报传媒集团拥有的英国新闻和媒体网站。 它包含了卫报和观察报的几乎所有内容。 这个庞大的数据由Django处理。 The Guardian (commenting system) - 41,6 million unique visitors (October, 2014)

YouTube

我们都知道YouTube是上传猫视频的地方并且失败。 作为现存最流行的网站之一,它为我们提供了无尽的视频娱乐时间。 Python编程语言支持它和我们所喜爱的功能。

DropBox

DropBox开始了已经成为日常生活一部分的在线文件存储革命。 我们现在几乎将所有内容都存储在云中。 Dropbox允许我们使用Python的强大功能来存储,同步和共享几乎任何东西。

调查猴子

Survey Monkey是最大的在线调查公司。 他们每天可以在他们重新编写的Python网站上处理超过100万个响应。

Quora

Quora是在线提问并从个人社区接收答案的最佳地点。 在他们的Python网站上,相关结果由这些社区成员回答,编辑和组织。

Bitly

Bitly URL缩短服务和分析的大部分代码都是用Python构建的。 他们的服务每天可以处理数以亿计的事件。

Reddit

Reddit被称为互联网的首页。 它是在线查找基于数千个不同类别的信息或娱乐的地方。 帖子和链接是用户生成的,并通过投票提升到顶端。 Reddit的许多功能都依赖于Python的功能。

Hipmunk

Hipmunk是一个在线消费者旅游网站,比较顶级旅游网站,为您找到最优惠的价格。 这个Python网站的工具可以让你找到最便宜的酒店和航班为您的目的地。

点击此处查看更多内容: 25-of-the-most-popular-python-and-django-websitesWhat-are-some-well-known-sites-running-on-Django


以下是在Django中建立的一些比较引人注目的事情的列表:

  1. 监护人的“ 调查你的议员开支 ”应用程序

  2. Politifact.com(这里是一篇关于(积极)体验的博文,网站赢得了普利策奖。

  3. 纽约时报' Represent应用程序

  4. EveryBlock

  5. WaPo的程序员之一Peter Harkins在他的博客中列出了他们用Django创建的所有内容

  6. 这有点旧了,但是洛杉矶时报的一位人员给了他们为什么和Django一起去的基本概述

  7. 洋葱的AV俱乐部最近从(我认为Drupal)转移到了Django。

我想这些网站的数量可能会超过每天10万次以上。 Django当然可以每天点击10万次以上。 但YMMV根据你正在建造的东西来获取你的特定网站。

在Django级别有缓存选项(例如缓存memcached和视图可以创造奇迹)和超越(像Squid这样的上游缓存)。 数据库服务器规范也将是一个因素(通常是挥霍的地方),以及你调整它的程度。 例如,不要假设Django会正确设置索引。 不要以为默认的PostgreSQLMySQL配置是正确的。

此外,如果这是一个慢点,并且前面有软件或硬件负载平衡器,那么您总是可以选择让多个应用程序服务器运行Django。

最后,你是否在与Django相同的服务器上提供静态内容? 你正在使用Apache或类似nginxlighttpd ? 你可以承担使用CDN静态内容? 这些都是需要思考的问题,但这都是非常具有推测性的。 每天10万次点击并不是唯一的变量:你想花多少钱? 你有多少专业知识管理所有这些组件? 你需要多少时间把它们放在一起?


另一个例子是俄罗斯运输时间表服务rasp.yandex.ru。 它的出席率符合您的要求。


均匀分布任务,简而言之,优化包括数据库,文件,图像,CSS等各个方面,并且一旦您的站点/应用程序开始增长,就需要平衡负载与其他资源。 或者你为它增加更多的空间。 CDN,Cloud等最新技术的实施必须具备庞大的网站。 只是开发和调整应用程序不会给你百分之百的满足,其他组件也扮演着重要的角色。



如果您的网站上有一些静态内容,那么将Varnish服务器放在前面会显着提高您的性能。 即使是一个盒子也可以轻松地吐出100 Mbit / s的流量。

请注意,对于动态内容,使用类似Varnish的东西变得更加棘手。


我一直在使用Django已经有一年多的时间了,对于如何将模块化,可伸缩性和开发速度结合起来,我印象深刻。 与任何技术一样,它带有一条学习曲线。 但是,由于Django社区出色的文档,这种学习曲线变得不那么陡峭。 Django能够很好地处理我所投入的一切。 看起来它可以很好地扩展到未来。

BidRodeo Penny Auctions是一个中等大小的Django支持的网站。 这是一个非常有活力的网站,每天处理大量的页面浏览量。


我不认为这个问题真的是Django扩展。

我真的建议你看看你的架构,这将帮助你扩展需求。如果你弄错了,那么Django的表现有多好。 性能!=规模。 你可以拥有一个性能惊人但不缩放的系统,反之亦然。

你的应用程序数据库被绑 如果是这样,那么你的规模问题也是存在的。 你打算如何与Django的数据库进行交互? 当数据库无法像Django接受它们那样快速处理请求时会发生什么? 当您的数据超过一台物理机器时会发生什么情况。 你需要说明你打算如何处理这些情况。

此外,当您的流量超过一台应用服务器时会发生什么? 在这种情况下如何处理会话可能会非常棘手,更多的情况是您可能需要无共享体系结构。 这又取决于你的应用程序。

简而言之,语言不是决定规模的因素,一种语言对性能负责(再次取决于不同语言的应用程序的不同表现)。 这是您的设计和体系结构,使缩放成为现实。

我希望它有帮助,如果您有任何疑问,我很乐意进一步提供帮助。


我使用Django为爱尔兰国家广播公司开发了高流量网站。 它适合我们。 开发高性能网站不仅仅是选择框架。 一个框架只会是一个系统的一部分,它与最薄弱的环节一样强大。 如果问题是数据库查询速度慢或配置错误的服务器或网络,使用最新的框架“X”不会解决性能问题。


我对Django的使用经验很少,但我确实记得在Django Book中他们有一个章节,他们在那里采访运行一些较大的Django应用程序的人。 这是一个链接。 我想它可以提供一些见解。

它说curse.com是最大的Django应用程序之一,一个月内页面浏览量大约在6000万到9000万之间。


我所知道的最大的django网站是华盛顿邮报 ,它肯定会表明它可以很好地扩展。

良好的设计决策可能比其他任何事情都有更大的性能影响。 Twitter经常被引用为一个网站,它体现了基于另一个基于动态解释语言的Web框架Ruby on Rails的性能问题 - 但Twitter工程师表示,该框架不像他们早期提供的一些数据库设计选择上。

Django可以很好地与memcached配合工作,并提供一些用于管理缓存的类,这是您可以解决大部分性能问题的地方。 在网络上实现的内容几乎比后台实际更重要 - 使用像yslow这样的工具对于高性能Web应用程序至关重要。 您可以随时在后端投掷更多硬件,但无法更改用户带宽。


我相信你正在寻找更加可靠的答案,但我能想到的最明显的客观验证是Google推动Django与其App Engine框架一起使用。 如果有人经常了解并处理可扩展性,那就是Google。 从我读过的内容来看,最受限制的因素似乎是数据库的后端,这就是为什么Google使用自己的......


扮演魔鬼的拥护者:

您应该查看Cal Henderson提供的题为“为什么我讨厌Django”的DjangoCon 2008主题演讲 ,他非常喜欢Django错过的一切,您可能想要在高流量网站上进行操作。 在这一天结束时,你必须以开放的态度采取这一切,因为完全可以编写可扩展的Django应用程序,但我认为这是一个很好的演示,并且与你的问题相关。


是的,它可以。 它可以是Python或Ruby on Rails上的Django。 它仍然会扩展。

有几种不同的技术。 首先,缓存不是缩放。 除了硬件平衡器之外,您还可以将多个应用程序服务器与nginx作为前端进行平衡。 要在数据库端进行扩展,如果使用RDBMS方式,可以使用MySQL / PostgreSQL中的从属服务器进行远程访问。

Django中流量较大的网站的一些好例子可能是:

  • 当他们还在那里的时候。
  • Discus(通用共享评论管理器)
  • 所有报纸相关网站:华盛顿邮报等。

你可以感到安全。


看看这个名为EveryBlock的微型新闻聚合

它完全用Django编写。 事实上,他们是自己开发Django框架的人。


请注意,如果您期望每天有100K用户,这些用户一次只能活动几个小时(意味着最多可同时拥有20K个用户),您将需要大量的服务器。 SO拥有约15,000名注册用户,其中大多数可能每天都不活跃。 尽管大部分流量来自未注册的用户,但我猜测他们中的很少人会在几分钟内呆在网站上(即他们会跟踪谷歌搜索结果,然后离开)。

对于该卷,预计至少有30台服务器......每个服务器仍然有1000个并发用户。





scalability