`
ydbc
  • 浏览: 721654 次
  • 性别: Icon_minigender_1
  • 来自: 大连
文章分类
社区版块
存档分类
最新评论

12亿次月访问流量网站服务器架构探秘

 
阅读更多

今天我们的主角,是年净利润达到600万美金的网站: http://www.plentyoffish.com/(有人对其评估达上亿美金)。神奇的地方并不是这家网站有多么值钱,也不是这家网站有多么好的服务器架构——最令人惊奇的地方是,这么一家估值上亿美金的网站,全部员工只有1个人,现年30岁的Markus Frind。http://www.plentyoffish.com/是一家怎样的网站呢?可能很多国内的读者对PlentyOfFish(以下简称POF)还不太熟悉,POF是一家在美国广受欢迎的婚介交友网站,平均每月有4千5百万的访问者,每天有3千万的访问量。POF对网友是100%免费的,所有的收入来自于Google广告点击,不像中国有的婚介交友网站广告纷乱,POF只有一个广告通栏,此外没有任何弹出广告,感觉非常的简洁。
文章到了这里,一定已经有很多读者出于好奇登入了http://www.plentyoffish.com/,想看看这家网站到底有什么诱人之处。很多看了这家网站的朋友一定更加惊讶,因为这家网站实在很朴素,完全没有任何美工的概念,不过如果你免费注册了一个账号,就会发现通过POF交友的人是如此之多,美国、澳大利亚、英国、加拿大、甚至是中国都有大量的用户填写了交友信息,同时在线的人多达数万。该网站站名Plenty of fish,很多鱼,源于谚语“很多鱼在海里:Plenty of fish in the sea。”意思就是我们所说的“天涯何处无芳草”,与婚介主题也蛮符合的。下面,我们看一下POF的具体资料。
目前,POF的月访问量(PV)达到了每月12亿次,每月有4千5百万用户访问,每天有3千余万次访问,(每秒500~600个页面访问)。依照compete公司的统计,POF在各个英语国家的网站排名都名列前茅:美国进入了前30位,加拿大前10位,英国前30位。
既然访问量如此之高,那么该网站是以怎样的架构应对的呢?
●Microsoft Windows:
该网站采用的是Windows x64 Server 2003。采用Windows的原因是并不是站长认为Windows适合POF,而是因为站长本人建站时候的技术很差,完全不会使用Linux和Unix。他办这个网站的初衷其实是学习ASP。也因为如此,整个网站的标准就是简单、简单、再简单。对于大流量负载均衡的处理,站长目前没有使用Windows 的负载均衡Network Load Balancing (NLB),他认为NLB不能保持sessions状态。对于不能保持sessions状态,倒也可以存储session状态到数据库,或者共享文件系统。8-12个NLB服务器可以共同放入一个farm,而且farm的数量也是没有限制的。然后将一个 DNS轮转调度策略(round-robin scheme)用在farm之间。其实这样的架构,也曾经一度被用在POF——总计70个前端Web服务器(front end web servers),可以支持30万人的并发访问。NLB也是一个不错的选择。但是这样的软件解决方案显得有点贵,而且很麻烦,最终站长选择了硬件来完成负载均衡任务。
●ASP.NET:
ASP.NET中的缓存功能完全没有启用。因为该网站的动态特性,往往还没等缓存储存,数据就已经改变或消失了。另外,该站点也没有用ASP.NET开发什么组件,所有的组件都是现成的,一切都以简单出发。
●IIS:
由于IIS限制了最大64000的连接数,所以POF不得不添加负载均衡器来处理为数众多的并发连接。站长曾经考虑过添加第二IP,并采用轮转调度(Round-Robin)来解决访问量过大的问题,但是这样太过复杂,有悖于一个人的简单管理,最后被放弃了。其实用多个Web服务器就可以简单解决。
●Akamai CDN:
该站点部署了Akamai CDN(网页缓存加速),每天处理大约1亿幅图片的缓存加速。CDN的原理是将你站点部分的内容,分发到CDN服务商的服务器上,因为CDN服务商广泛分布的服务器可以更加接近最终用户的地域,这样速度就会更快。假如你当前的POF页面有8幅图片,每幅图片的下载需要100毫秒,那么光下载这些图片就需要花上一秒钟。所以分配这些图片到离用户更近的区域是非常必要的,而且CDN也一定程度缓解了不同网络服务商之间的线路差异。当然,也不是所有的图片都采用了CDN,一些小于2KB的图片还是缓存于本地内存。可能因为部署了CDN,POF虽然是国外网站,但速度却非常快,与国内网站无二。
●Foundry ServerIron 负载均衡:
POF采用了网捷网络公司的Web交换器ServerIron,ServerIron 能够有效地处理超过 16,000,000个并发连接,而且能够改善服务器负载均衡和缓冲转换。正如上文所述,最终站长放弃了NLB而采用了ServerIron 负载均衡,经过详细计算之后,他发现部署ServerIron要比NLB便宜。其实也不只是POF,很多大网站都采用ServerIron来处理TCP 连接pooling和bot自动监察。ServerIron除了负载均衡还能做很多事情,因此还是值得的考虑的。
●数据库:
POF 有一个主要的数据库,两个搜索数据库。监测使用任务管理器来完成。过去,有些问题会将数据库堵塞,其实这都是数据库自己的问题,好在POF没用.net的library,找出问题相对容易一些。不过假如你使用了framework的很多层级,找出问题就可能很困难了。对于POF而言,数据库不仅仅是不出问题,还需要稳定和快速。由于POF网站的动态特性,基本用不到缓存,所以站长几年来花了很大功夫,在很多细节上优化了数据库,让数据库的相应更加迅速。
●服务器硬件:
2台Web服务器,都有2个Intel CPU Quad Core Intel Xeon X5355 2.66Ghz,8G内存,2块硬盘。此外还有3个数据库服务器,和一个容量为6TB的磁盘阵列。


我们学到了什么?
中国的经济环境持续向好,所以很多公司的IT部门都得到了更多的预算,但这些预算被合理的使用了吗?这些预算往往被用来采购更好的服务器硬件,更新的操作系统和数据库软件,还有各式各样的行业应用。倒不是说这些部署不好,只是说我们的IT部署一定要以实用为出发点,少做一些可有可无的投资。我们要多向POF学习,其实稳定、快速、便捷才是制胜的关键。正如POF站长一再强调的简单哲学,所有复杂的东西都尽量不去使用。
虽然站长一开始的技术一般,但是随着建站时间的加长,他现在也已经是一个网站架构专家,他花了很多力气来优化数据库和维护系统,而且他也采用了CDN来加快不同地域的用户访问网站空间。不过其实该网站的搭建可以更加合理,比如可以采用S3来外包其图片存储,采用更轻质化的操作系统或者Web服务器等等。这些年来,类似于这样的建议非常多,但是站长还是坚持了他的简单策略,而且也拒绝对主页面进行美工优化,因为他认为多余的工作只会引来他人反感,实用才是关键。可见,保持简单性,和持续勤劳的维护是服务器运行良好的法宝。
相信我们可以从POF上学习的东西还有很多,毕竟该网站以一己之力,达到了史无前例的高度,净利润竟然逼近了500多人的大型IT网站。POF的成功必然有它的深刻理由,不仅是网站的整体的服务器和软件架构、很多细节的处理也同样值得我们借鉴。
分享到:
评论

相关推荐

    无服务器架构的最佳实践.docx

    无服务器架构的最佳实践全文共14页,当前为第1页。无服务器架构的最佳实践全文共14页,当前为第1页。 无服务器架构的最佳实践全文共14页,当前为第1页。 无服务器架构的最佳实践全文共14页,当前为第1页。 无服务器...

    垂直行业网站服务器架构方案概要.doc

    垂直行业网站服务器架构方案概要.doc

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

    12 网购秒杀系统架构设计案例分析 13 大型网站典型故障案例分析 第4篇 架构师 14 架构师领导艺术 15 网站架构师职场攻略 16 漫话网站架构师 附录A 大型网站架构技术一览 附录B Web开发技术发展历程

    一套网站架构完整方案

    一套网站架构完整方案 一、概 述 5 二、需求分析 5 2.1 异构系统 6 2.2 异构应用 8 2.3 异构数据 8 2.4 网站结构 9 2.5 内容海量 10 2.6 内容深度 10 2.7 服务深度 10 2.8 发布系统 11 2.9 网络安全 11 2.10 信息...

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

    1.大型网站架构演化 2.大型网站架构模式 3.大型网站核心架构要素 4.网站高性能架构5.网站的高可用架构6.网站伸缩性架构7.网站的可扩展架构8.网站的安全架构9. 淘宝网的架构演化案例分析10. 维基百科的高性能架构...

    无服务器数据库架构介绍.docx

    初识无服务器架构 无服务器架构是云计算的一种运行模型,其含义是由云服务商动态地管理计算资源的分布。我们宝贵的计算资源的消费者本质上讲是函数执行。如果你用基于函数运行所消耗的内存和执行时间(四舍五入到...

    开涛高可用高并发-亿级流量核心技术

    16.7.7 库存接口访问量600w/分钟 343 16.7.8 微信接口调用量暴增 344 16.7.9 开启Nginx Proxy Cache性能不升反降 344 16.7.10 配送至读服务因依赖太多,响应时间偏慢 344 16.7.11 网络抖动时,返回502错误 346 16.7....

    亿级流量电商详情页系统实战-缓存架构+高可用服务架构+微服务架构

    4、多机房部署架构下的4级缓存架构:大公司里真实的亿级流量高并发系统,都是采取了多个机房的部署架构,以实现高可用以及异地灾备。课程会重点讲解,在多机房部署架构下,如何设计和实现高并发系统的4级缓存架构。 ...

    12大型 HTTP 服务器架构演进路线及思路(2).md

    12大型 HTTP 服务器架构演进路线及思路(2)

    Oracle 12c架构图

    超清晰的Oracle 12c数据库设计架构图

    服务器硬件架构.docx

    服务器硬件架构 从性能角度来看,处理器、内存和I/O这三个子系统在服务器中是最重要的,它们也是最容易出现性能瓶颈的地方。目前市场上主流的服务器大多使用英特尔Nehalem、Westmere微内核架构的三个家族处理器:...

    基于云原生架构构建亿级多语言电商平台设计到落地实现第一阶段

    分享课程——基于云原生架构构建亿级多语言电商平台设计到落地实现第一阶段,课程一共3个阶段,当前课程是第一阶段,其余2个阶段暂时没有录制完成。 本阶段内容:会基于云原生实现电商系统的大部分核心服务,包括:...

    VMware服务器虚拟架构测试方案.doc

    VMware服务器虚拟架构测试方案 日期 目 录 1. 测试目的 1 2. 测试人员及职责 2 2.1. 测试人员 2 2.2. 职责划分 3 3. 测试安排 4 3.1. 测试时间 4 3.2. 测试地点 4 3.3. 测试进度 4 4. 测试环境 5 4.1. 测试环境拓扑...

    最全面的门户网站架构设计方案.doc

    前台门户网站架构 设计方案 北京宽连十方数字技术有限公司 2010-7 目 录 1 设计思路 3 2 系统结构 3 3 网络规划及性能计算 3 3.1 网络架构 3 3.2 网络架构说明 4 3.2.1 采用双防火墙双交换机做网络冗余,保障平台...

    云计算架构知识培训视频.rar

    L013老男孩高级架构师-2016最新亿级PV大型电商网站架构综合详解 L014老男孩高级架构师-架构师DNS实战 1015-老男孩高级架构师-架构师反向代理 1016老男孩高级架构师 keepalive nginx及面试题压力测试 017-老男孩高级...

    vmware服务器虚拟化整合解决方案

    6.1 IBM服务器虚拟化架构 18 6.2 IBM x3850 M2服务器特点 18 6.3 IBM DS4800存储 19 6.4 IBM虚拟化平台的优势 20 七、设计总结 22 7.1整合前后比较 22 7.2大大降低TCO 23 7.3 提高运营效率 24 7.4 提高服务水平 24 ...

    电信系统架构设计文档

    电信系统架构设计文档 目录 1 介绍 2 1.1 目的 2 1.2 范围 2 1.3 依赖关系 2 2 系统架构 3 2.1 系统关联图 3 2.2 概要架构 4 2.3 功能架构 6 2.3.1 通用服务 6 2.3.2 接入服务及展现服务 7 2.3.3 内容及应用服务 8 ...

    云和恩墨12c架构图

    云和恩墨12c架构图

    面向服务架构(SOA)和企业服务总线(ESB)

    火龙果软件工程技术中心 学习和研究在企业中实施面向服务架构(SOA),简单回顾SOA和ESB,重点关注微软在SOA领域的相关指导和.NET社区的相关开源的解决方案,和大家一起来探讨如何在企业里实现SOA,期望有实施SOA经验...

Global site tag (gtag.js) - Google Analytics