我正在使用 Django 构建一个 Web 应用程序。我选择 Django 的原因是:
现在我正在考虑发表我的作品,我开始关注规模。我发现关于 Django 扩展功能的唯一信息是由 Django 团队提供的(我没有说什么可以忽略它们,但这显然不是客观信息......)。
我的问题:
“今天在 Django 上建立的最大的网站是什么?”
没有任何一个地方可以收集有关 Django 建站点上的流量的信息,因此我将不得不使用来自不同位置的数据进行搜索。首先,我们在主 Django 项目页面的首页上有一个 Django 站点列表,然后是djangosites.org 上的 Django 站点列表。通过列表并选择一些我知道的流量,我们看到:
Pinterest : Alexa 排名第 37 位(2015年 4 月 21 日)和 2013 年的 7000 万用户
tabblo.com:44k 每日访问量 ,请参阅 Ned Batchelder 的帖子现代网站的基础设施 。
chesspark.com : Alexa 的排名大约 179K。
pownce.com (不再有效): alexa排名约 65k。 Pownce 的 Mike Malone 在他关于Scaling Django Web Apps 的 EuroDjangoCon 演讲中说 “每秒数百次点击”。这是关于如何扩展 Django 的非常好的演示,并且在 Django 可伸缩性方面提出了一些好处,包括(当前)缺点。
惠普有一个使用 Django 1.5: ePrint 中心构建的网站。但是,至于 novemer / 2015,整个网站都已迁移,此链接只是一个重定向。该网站是一项全球服务,参与订购 Instant Ink 和 HP 提供的相关服务(*)。
“Django 每天可以处理 100,000 个用户,每个用户访问该网站几个小时吗?”
是的,见上文。
“Stack Overflow 这样的网站可以在 Django 上运行吗?”
我的直觉是肯定的,但正如其他人的回答和 Mike Malone 在他的演讲中提到的那样,数据库设计至关重要。如果我们能找到任何可靠的流量统计数据,也可以在 www.cnprog.com 上找到强有力的证据。无论如何,它不只是通过抛出一堆 Django 模型而发生的事情:)
当然,有更多的网站和博主感兴趣,但我必须停在某个地方!
博客文章关于使用 Django 建立高流量网站 michaelmoore.com描述为一个前 10,000 名的网站 。 Quantcast 统计数据和compet.com 统计数据 。
(*)编辑的作者,包括这样的参考,曾经在该项目中担任外包开发人员。
我们现在正在进行负载测试。我们认为我们可以支持 240 个并发请求(持续速率为每秒 120 次点击 24x7),服务器性能没有任何显着降低。那将是每小时 432,000 次点击。响应时间不小(我们的事务很大)但随着负载的增加,我们的基准性能没有下降。
我们正在使用 Apache 前端 Django 和 MySQL。操作系统是红帽企业 Linux(RHEL)。 64 位。我们在 Django 的守护进程模式下使用 mod_wsgi。除了接受默认值之外,我们没有进行缓存或数据库优化。
我们都在 64 位戴尔的一个虚拟机中(我认为)32Gb RAM。
由于 20 或 200 个并发用户的性能几乎相同,因此我们不需要花费大量时间来 “调整”。相反,我们只需要通过普通的 SSL 性能改进,普通的数据库设计和实现(索引等),普通的防火墙性能改进等来保持我们的基本性能。
我们测量的是我们的负载测试笔记本电脑在运行 16 个并发请求线程的 15 个进程的疯狂工作负载下挣扎。
不确定每日访问次数,但这里有一些大型 Django 网站的例子:
这是Quora上高流量 Django 站点列表的链接。