大人网站有多大 技术有多强
大人网站有多大?上网之人,多少都会接触过大人网站。这是一个举世公认的事实。不过这是一个难以洞察的领域,因为相关数据少之又少。我们知道大人网站都是那些在互联网上有着超高流量的网站。根据 Google DoubleClick 的 Ad Planner 服务(通过cookie跟踪网民)显示,全球 Top 500 网站中,就有数十个大人网站。全球最大的色情网站 Xvideos 每月网页浏览量(Page Views,PV)高达 44 亿,是 CNN 或 ESPN 新闻网站的 3 倍,是 Reddit 的 2 倍。LiveJasmin 也不小。除了 Google 和 Facebook 等大站,其他网站在YouPorn、Tube8 和 PornHub 面前都是小巫见大巫。
虽然网页浏览量是一个很好的起始点,但它们仅告诉我们某些色情网站比某些非色情网站要受欢迎。40亿的PV,听起来很多,但当我们把那些X站用户实际在做的事考虑进来,大人网站的大小和规模就有点明朗了。
规模
http://upload.chinaz.com/2013/0509/1368064711619.jpg
色情网站和非色情网站的主页区别是访客的平均停留时间。诸如 Engadget 等新闻网站的平均停留时间是 3 – 6 分钟,大约是是阅读 1 – 2 篇文章。然而色情网站的停留时间,大约是在 15 – 20 分钟。
大部分网站的内容主要是文本和图像,而大人大站则是视频。ExtremeTech 首页完全加载大约是几兆数据,打开一篇文章,大约是500kb数据。访问色情网站,假设是打开一个 480×200 低分辨率的视频,每秒传输 100 kb 数据。15 分钟的话,那就大约是 90 MB 数据了。
Xvideos 每月有 3.5 亿访问次数,乘以 90 MB,那就每月传输大约 29 PB 数据,也就是每秒传送数据约 50 GB。做个对比,你家网络连接可能每秒传送两兆(2 MB),Xvideos 是你家的 25,000 倍。
简而言之,色情网站是在处理天文数字级别的数据。在原始带宽(Raw Bandwidth)方面,能与之匹敌的网站,也就只有 YouTube 或 Hulu,而 YouPorn 却又是 Hulu 的 6 倍。
基础设施
就支持视频所需的资源,数据存储器、CPU 周期、I/O 和带宽,远超过文本和图像所需要的资源。
当然了,虽然每个网站的情况又不一样了,但大部分大人站点都有 50 至 200 TB 的大人资料。对一个网站来说,这是个大数目(Google、Facebook、Blogger 和 Youtube 之流存储的数据比这还要多),好在现在 2 TB 的硬盘便宜。
CPU 周期和 I/O 会影响视频流和 PV 数量。首先,色情网站要提供动态、可搜索的海量视频数据库,然后点播视频时,从硬盘读取文件,再网络上传输。如果你有过在局域网传送大量大文件的经历,你就会知道网络系统的压力有多大了。
硬件设备情况,实际上我们几乎无法知晓,因为色情网站也没公布过。虽然如此,但我们讨论的大型色情网站会有四核服务器、千兆交换机、负载均衡器。在软件方面,大部分大型色情网站都会使用超高吞吐量的数据库(比如 Redis )来存储和提供视频,还有轻量级的 HTTP 服务器(比如 Nginx )。
最后说带宽。还是以 Xvideos 为例(基于 Ad Planner 的数据估测),大型色情网站必须有足够的连通性(connectivity)来支撑每秒 50 GB(400Gbps )。这还只是平均传输速率。在高峰期间,Xvideos 或许要 1,000Gbps(1Tbps) ,或更高 。在伦敦和纽约直接的连通性也才 15Tbps。
有很多方法来处理高流量:自己搞个数据中心,或者去大数据中心租赁几排架的服务器,或者使用诸如 Amazon AWS 和 Microsoft Azure 之类的云服务。
真实案例
YouPorn 是全球第二大的色情网站,足够提供研究数据。另外要说一下,DoubleClick的 Ad Planner 中的估测数据比实际数据要低很多的。
YouPorn 有“超过 100 TB 的干货”,每天网页浏览量超过 1 亿。总而言,这相当于每天传送 950 TB 数据(大部分都是视频流),每月大约传送 29 PB。Xvideos 肯定不止 28 PB 这个估测值了,它可能是每月 35 – 40 TB。
http://upload.chinaz.com/2013/0509/1368064711927.jpg
在高峰期,YouPorn 每秒得响应 4000 个网页,相当于有每秒 100 GB 或(800 Gbps )的突发流量。这相当月每秒传送 10+ 张双层 DVD。
在软件方面,YouPorn 的主数据库是 Redis,用 MySQL 作为管理工具,用于管理和向 Redis 簇中添加数据。后端是 Perl 和 MySQL,不过在 2011 年改成了 PHP + Redis。HTTP 服务器是 Nginx,同时用 HAProxy和 Varnish做负载均衡。
Redis 服务器可以每秒处理 30 万请求,每小时记录下 8 – 15 GB数据,包括访客日志、行为数据等。据说 Redis 可以抗住 2 亿的日 PV。
(译注:2012年2月份,YouPorn 的技术人员 Eric Pickup 在 Google 群组宣告他们网站改用 Redis DB 后。扛住了每天1亿PV浏览量,每秒30万请求,已经坚持 2 周。Eric 还将去加拿大一个技术大会分享经验。)
令人悲伤的是,YouPorn 拒绝透露硬件设备信息。从 YouPorn 的 CDN 的 IP 地址来看,它应该没有使用云服务,应该托管在某地的大型数据中心。
互联网每天大约处理 1/2 EB 数据,相当于每秒处理 50Tb, YouPorn 的 800Gbps 这个数字,几乎就占了互联网中每秒流量的 2%。而全球有几十个和 YouPorn 规模相当的色情网站。互联网流量中色情内容占据了 30%,这个说法也就不是不现实的哦。 有点天文数字的感觉 ;P
貌似沙发了
我曾经研究过这些大人网站。。他们基本上都是用了CDN 来缓存了 他们都照片,JS, CSS 和 Video 等等。。。
我一直都在想加设一个大人站点。。。然后小偷。。。。。这个在程序上是可以实现的。。。。
youporn 从他们cname 来说,应该是他们使用了多种CDN 的技术, 有在大人服务器市场比较著名的refliected network, 也有 swiftwill 等等。。。。 我觉得最主要的还是 数据库的问题。。其余都都不是什么大问题 最近在看SYMFONY 正好看到YouPorn 就是这个框架写的 之前好像看到一个类似的视频 是关于playboy的 楼主分析的好,数据说明。
以前没细想过 现在看看这真不是一般的强大 正在XV引流,效果不错。
学习了。感谢分享。 学习了虽然看的还是不明白菜鸟也没办法多学习吧 那要多去撸几把了 学习了虽然看的还是不明白菜鸟也没办法多学习吧
页:
[1]