`
zhanghteye
  • 浏览: 51566 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

案例2:维基百科高性能架构演化设计

 
阅读更多

www.wikipedia.org  

     相比同流量级别有百度、谷歌,背后市值数百亿美金、员工上万、服务器无数,服务器数百台,维护人员十余名。

     网站建立在LAMP上。

     架构组成部分:

            GeoDNS:可将域名解析到离用户最近的服务器

            LVS:       基于Linux的开源负载均衡服务器

            Squid:    基于Linux的开源反向代理服务器

            Lighttpd:   开源的应用服务器(更轻量、更快速,许多网站使用它作为图片服务器)

            PHP:      Web应用程序开发语言

            Memcached: 开源分布式缓存系统

            Lucene:开源全文搜索引擎

            MySQL:开源关系数据库管理系统

      性能优化策略:

      前端性能优化:

             (网站前端,一般包括DNS服务、CDN服务、反向代理服务、静态资源服务等)

              CDN服务(缓存热点词条内容页面、部署在离客户浏览器最近的地方)

              -->LVS(负载均衡)-->反向代理服务器Squid集群(核心,缓存热点词条)

              -->LVS(负载均衡)-->Apache应用服务器集群

              CDN缓存准则:

                      1、内容页面不包括动态信息

                      2、内容页面有唯一REST风格URL

                      3、HTML响应头写入缓存控制信息

       服务器性能优化:

              PHP服务器(硬件改善)

              APC(PHP字节码缓存模块,加速代码执行减少资源消耗)

              Imagemagick(图片处理转化)

              Tex(进行文本格式化,特别是将科学公式内容转换成图片格式)

              替换PHP字符串查询函数strtr(),使用更优化的算法重构

       后端性能优化:

              后端服务(包括缓存、存储、数据库)

              主要手段:使用缓存

              缓存使用策略:

                     1、热点特别集中的数据直接缓存到应用服务器的本地内存

                     2、缓存数据的内容尽量使应用服务器可以直接使用的格式,如HTML

                     3、使用缓存服务器存储session对象

                     4、memcache持久化连接

              MySQL优化:

                     1、使用较大的服务器内存

                     2、使用RAID0磁盘阵列加速磁盘访问(降低数据库持久可靠性,弥补手段,主从复制,数据库异步备份等)

                     3、数据库事务一致性设置在较低水平,加快宕机恢复速度

                     4、如果master数据库宕机,立即将应用切到salve数据库,同时关闭数据库写服务。

                          (业务后退一步,技术前进一大步)

 

 

 

 

 

 

分享到:
评论

相关推荐

    大型网站技术架构:核心原理与案例分析

    10 维基百科的高性能架构设计分析 11 海量分布式存储系统Doris的高可用架构设计分析 12 网购秒杀系统架构设计案例分析 13 大型网站典型故障案例分析 第4篇 架构师 14 架构师领导艺术 15 网站架构师职场攻略 ...

    大型网站技术架构:核心原理与案例分析PDF电子下载.txt

     维基百科的高性能架构设计分析11.海量分布式存储系统Doris高可用架构设计分析12.网购秒杀系统架构设计案例分析13.大型网站典型故障案例分析14.架构师领导艺术15.网站架构师职场攻略16.漫画网站架构师

    Twitter CEO:维基百科关站抗议做法很愚蠢.docx

    Twitter CEO:维基百科关站抗议做法很愚蠢.docx

    wiki_00数据集:维基百科,用于语言模型。

    标题"wiki_00数据集:维基百科,用于语言模型"指出,这是一个专门设计用于训练和评估语言模型的数据集。它来源于维基百科,这是一个广泛使用的在线百科全书,拥有丰富的多语言文本资源,非常适合进行自然语言处理...

    维基百科与研究:维基百科研究的创新特征以及与之相关的新挑战(和机遇)。-研究论文

    2. 社区驱动的研究:维基百科的研究社区正在逐步增长,越来越多的研究者对维基百科的研究表现出兴趣和投入。这种社区的形成,促进了研究者之间的合作、各种研究计划之间的协同效应,以及继续创新的意愿。 3. 研究...

    维基百科的下载及阅读方法简单说明(转载)借鉴.pdf

    维基百科下载及阅读方法简单说明 维基百科是一个在线百科全书,提供了丰富的信息资源,内容详实且多样化,对获取事情的真相具有很大的帮助。然而,维基百科上的信息不一定都是正确的,也有一些是不和谐的。加之,...

    维基百科离线版【需自行下载.zim数据库】

    维基百科离线版 一个为了方便本地浏览维基百科查询资料而制作的 开源软件,程序的原理是利用维基百科 kiwix-tools 中的其中一个小工具:kiwix-serve 读取 .zim 格式的维基百科数据库文件,从而实现 http 方式多终端...

    维基百科类目层次结构提取

    维基百科类目层次结构提取是一项重要的数据挖掘任务,它涉及到对维基百科庞大的信息库进行有组织的、结构化的访问。在这个过程中,我们可以利用HTMLParser这个Java库来解析HTML文档,提取出维基百科页面中的类目链接...

    中文维基百科hosts文件

    中文维基百科hosts文件,拷贝到C:\Windows\System32\drivers\etc目录下,经测试可使用

    WikiViz:维基百科的交互式实时语义可视化器

    维基可视化WikiViz:维基百科文章标题和嵌入式链接的图形可视化。 可视化和探索维基百科文章中嵌入链接的图表。 最初的维基百科文章标题是中心节点,嵌入链接的标题显示为分布在中心节点周围的子节点。 单击子节点以...

    维基百科iOS

    iOS版的维基百科应用程序是专为苹果用户设计的,旨在为他们提供便捷、高效的移动设备阅读体验。这款应用充分利用了iOS平台的特性,包括优化的界面设计、离线阅读功能以及与Apple生态系统无缝集成。 ### 应用特点 1...

    wikistack:维基百科的全栈实现

    【wikistack:维基百科的全栈实现】 在IT领域,"wikistack"是一个专有名词,指的是一个基于JavaScript技术实现的全栈项目,旨在重现维基百科的某些核心功能。全栈开发是指涵盖前端用户界面到后端服务器、数据库以及...

    2021-2022年收藏的精品资料wikipedia维基百科综述.ppt

    维基百科的发展历程是从2001年1月15日开始的,当时维基百科正式启动,英文维基百科在2001年2月12日达到1,000页,9月7日达到10,000条条目。在计划的第一年,有超过20,000条条目被创建,平均每月1,500条。2002年8月30...

    WikipediaPT:维基百科

    CSS则负责页面的样式设计,包括颜色、布局和字体等,使得维基百科页面既信息丰富,又具有良好的可读性和视觉吸引力。 总的来说,"WikipediaPT:维基百科"是一个基于HTML技术构建的庞大知识库,它体现了互联网时代的...

    wikipedia-clone:维基百科克隆

    【标题】:“wikipedia-clone:维基百科克隆” 这个项目被称为“wikipedia-clone”,顾名思义,它是一个模仿维基百科网站的实现。这个克隆版旨在提供一个基本的、类似维基百科的用户体验,让用户能够浏览、搜索和...

    中文维基百科语料库(截止2019年2月20日)

    这是最新的中文维基百科语料库(截至2019年2月20日),可以用来训练word2vec词向量,做文本分类,官网特别难下载,因此分享出来

    维基百科百科问答数据集

    《维基百科百科问答数据集》是一个专门为机器学习和自然语言处理任务设计的数据资源,它包含了大量的问答对,这些问题和答案都来源于广博且权威的维基百科平台。这个数据集是研究人员和开发者构建智能问答系统、信息...

    英文维基百科语料库txt(9)

    标题中的“英文维基百科语料库txt(9)”指的是一个包含多个英文维基百科文本数据的压缩包,这些数据经过一系列预处理步骤,包括分词、去停用词、转换为小写、词干提取和词形还原,使得它们更适合用于自然语言处理...

Global site tag (gtag.js) - Google Analytics