维基百科(WikiPedia.org)位列世界十大网站,目前排名第八位。这是开放的力量。
来点直接的数据:
- 峰值每秒钟3万个 HTTP 请求
- 每秒钟 3Gbit 流量, 近乎375MB
- 350 台 PC 服务器(数据来源)
架构示意图如下:
Copy @Mark Bergsma
在我写的这些网站架构的 Blog 中,GeoDNS 第一次出现,这东西是啥? "A 40-line patch for BIND to add geographical filters support to the existent views in BIND", 把用户带到最近的服务器。GeoDNS 在 WikiPedia 架构中担当重任当然是由 WikiPedia 的内容性质决定的--面向各个国家,各个地域。
负载均衡:LVS
WikiPedia 用 LVS 做负载均衡, 是章文嵩博士发起的项目,也算中国人为数不多的在开源领域的骄傲啦。LVS 维护的一个老问题就是监控了,维基百科的技术人员用的是 pybal.
图片服务器:Lighttpd
Lighttpd 现在成了准标准图片服务器配置了。不多说。
Wiki 软件: MediaWiki
对 MediaWiki 的应用层优化细化得快到极致了。用开销相对比较小的方法定位代码热点,参见
实时性能报告,瓶颈在哪里,看这样的
图树展示一目了然。另外一个十分值得重视的经验是,尽可能抛弃复杂的算法、代价昂贵的查询,以及可能带来过度开销的 MediaWiki 特性。
Cache! Cache! Cache!
维基百科网站成功的第一关键要素就是 Cache 了。CDN(其实也算是 Cache) 做内容分发到不同的大洲、Squid 作为反向代理. 数据库 Cache 用 Memcached,30 台,每台 2G 。对所有可能的数据尽可能的Cache,但他们也提醒了 Cache 的开销并非永远都是最小的,尽可能使用,但不能过度使用。
数据库: MySQL
MediaWiki 用的DB 是 MySQL. MySQL 在 Web 2.0 技术上的常见的一些扩展方案他们也在使用。 复制、读写分离......应用在 DB 上的负载均衡通过 LoadBalancer.php 来做到的,可以给我们一个很好的参考。
运营这样的站点,WikiPedia 每年的开支是 200 万美元,技术人员只有 6 个,惊人的高效。
参考文档:
Wikimedia architecture (PDF)
Todd Hoff 的文章
分享到:
相关推荐
这些文件是针对人工智能和深度学习领域研究的数据集,特别是与社交网络分析和自然语言处理相关的。数据集在科研中扮演着至关重要的角色,因为它们帮助研究人员验证算法、模型和理论,推动科技进步。以下是对这些文件...
524MB中文维基百科语料链接:https://huggingface.co/datasets/pleisto/wikipedia-cn-20230720-filtered 参考这个博客链接进行使用:...
在标签中,“人工智能”和“深度学习”是现代技术的核心领域,它们已经广泛应用于自然语言处理、计算机视觉、推荐系统等多个场景。而“数据集”是这些领域研究的基础,一个高质量的数据集可以极大地推动模型的性能。...
对于`wikipedia_histories-1.0.0-py3-none-any.whl`,`py3`表示它兼容Python 3版本,`none`代表这个包没有特定于任何平台的构建,`any`则表明它可以运行在任何CPU架构上。 `wikipedia_histories`库的核心功能在于与...
wikipedia-tools-for-google-spreadsheets, 用于Google电子表格—文档的维基百科工具 用于Google电子表格的维基百科工具Google电子表格 add-on makes working Wikipedia Wikipedia Wikipedia Wikipedia Wikipedia ...
资源来自pypi官网。 资源全名:wikipedia_histories-0.0.4-py3-none-any.whl
《Python库wikipedia_histories-0.0.4-py3-none-any.whl深度解析》 在Python的世界里,库是开发者的重要工具,它们提供了丰富的功能,极大地简化了编程工作。今天我们要关注的是一个名为“wikipedia_histories”的...
JWPL DataMachine jar
资源分类:Python库 所属语言:Python 资源全名:wikipedia_for_humans-0.2.1.tar.gz 资源来源:官方 安装方法:https://lanzao.blog.csdn.net/article/details/101784059
深度学习在处理大规模数据时,往往需要大量的计算资源和复杂的模型架构。对于“ml_wikipedia.csv”,我们可以使用预训练的词嵌入模型(如Word2Vec或BERT)来初始化文章内容的向量表示,然后通过GNN进一步学习和优化...
《基于Python的Wikipedia-Named-Entity-Recognition:在Heroku上的实现与应用》 在当前的自然语言处理(NLP)领域,命名实体识别(NER)是一项关键任务,它涉及从文本中提取出具有特定意义的实体,如人名、地名、...
jar包,官方版本,自测可用
jar包,官方版本,自测可用
jar包,官方版本,自测可用
jar包,官方版本,自测可用
jar包,官方版本,自测可用
jar包,官方版本,自测可用
jar包,官方版本,自测可用
jar包,官方版本,自测可用