生活在互联网世界的人,都曾或多或少地浏览过在许多国家仍受管制的色情网站。我们很难洞察这类网站的发展状况,因为相关的确切数据实在是少之又少。可以肯定的是,色情网站的访问量肯定少不了。事实证明上述猜测是正确的,因为根据谷歌旗下广告服务商Doubleclick的数据显示,独立访问量前500名的网站中,竟有数十个是成人网站!
世界上最大的色情网站Xvideos每月有44亿的访问量,这个数字是CNN官网或24小时专门播放体育节目ESPN电视网的访问量的3倍,是社交新闻站点Reddit的2倍。YouPorn、Tube8和Pornhub这些大型的色情网站,其访问量也可以让除了Google和Facebook等超大型网站之外的小网站们相形见绌。
图为色情网站视频上传者自拍
从访问量中,我们只能得出色情网站要比非色情网站更受欢迎这个结论。44亿访问量听起来确实是个天文数字,但是当你将用户在色情网站上做的事考虑在内,你就会发现,色情网站的大小和规模也不可小觑。
去看一下Alexa排名吧,此刻排在第26位的就是世界上最大的色情网站Xvideos。在它的身后,有搜狐、凤凰、天猫、阿里巴巴这些中国人知名的网站。
根据著名科技博客extremetech的数据,Xvideos每个月有44亿的访问量,想想这个流量背后的网站架构/服务器/页面加载速度等等指标,哪一个是我们可以忽视的?毕竟对于这类网站来说,光图片和文字的流量已经非常可观了,但是对于有追求的网站,必须要推视频才能有竞争力。排名第二的YouPorn的纯带宽是著名视频网站Hulu的六倍。
图为Xvideos服务器阵列
网站规模
色情网站和非色情网站的主要区别就是访问者的停留时间。Engadget和ExtremeTech这类科技网站的用户平均停留时间在3到6分钟之间,这足以让用户阅读完几篇文章了;而色情网站的用户停留时间则在15到20分钟之间。
两者之间的差异也情有可原,因为大多数网站的内容主要是文字和图片,大型色情网站则力推视频内容,众所周知,看完一段视频所花的时间可比阅读完一篇文章花的多。ExtremeTech主页的数据大小约为数百万字节,但一段只有480×200低分辨率的色情视频,每秒的数据量就在10万字节左右,15分钟的视频就可以耗掉约9千万字节的流量。将9千万字节乘以Xvideos网站每月约3.5亿的访问人数,就可以得出Xvideos每月需要处理29PB的字节(1PB=1024TB,1TB=1024GB),即每秒50GB字节的的数据传送。
简而言之,色情网站每天需要处理海量的数据。在纯带宽(单位时间内可传输的数据量)上,美国本土能够与之匹敌的也仅有视频网站YouTube或Hulu了。色情网站的规模大到难以想象,排名第二的YouPorn的纯带宽都要比Hulu大出6倍。
网站的基础设施
与仅仅提供文字和图片相比,视频服务所需要的资源可要多得多了,它需要大量的数据储存、较短的CPU周期、内部I/O和高带宽等。
虽然说色情网站各不相同,但是大多数色情网站都会储存大约50到200TB的色情资料,对一个网站来说,这可不是一个小数目。不过幸好现在2TB的硬盘驱动器价格低廉且种类繁多,因此这对色情网站来说应该不算是太大的问题。
色情网站需要提供数千个动态的、可搜索的视频数据库,当有人点击一个视频时,文件会经过硬盘读取继而上传到网络上,这是一个繁杂的过程,而CPU周期和I/O能够影响数据的读取和上传的快慢。除此之外,在硬件方面,色情网站还需要四核机架服务器、千兆交换机和负载均衡等。在软件方面,大多数色情网站会使用快速、灵敏的数据库,如Redis来储存和提取视频,还有轻量级、高性能的Nginx等来作为网页的HTTP服务器。
在带宽上,拿上面的Xvideos为例,大型的色情网站需要有足够的网络连通性来完成每秒400Gb的数据传送。而且这还只是平均的数据传输速率,在高峰时段,Xvideos的背板带宽可以飙升至每秒1000Gb甚至更多。当然了,有许多方法可以解决流量过多产生的问题,如网站可以成立自己的数据中心,或租用大型数据中心的一些机架服务器,或使用如亚马逊或微软提供的云储存等。
真实的范例
世界第二大色情网站YouPorn给我们提供了一些一手的数据,看完你就会发现,事实上,谷歌的Doubleclick广告规划师低估了色情网站的吸引力。
YouPorn有超过100TB的色情资料,每天的页面访问量超过1亿,这就意味着它每天的数据传输量有950TB之多,大多数的数据传送用在了加载视频上。按照上面的数据计算,YouPorn每月的数据处理量有28PB,因此,排名第一的Xvideos的数据传送肯定不止29PB,它每月的数据传送量估计在35到40PB之间。在高峰时间段,YouPorn每秒需要处理100GB(每秒800Gb)的数据量,这个数据量等于YouPorn每秒传送了10多张双层的DVD。
在软件方面,YouPorn完全使用Redis进行数据存储,并使用MySQL小型数据库管理系统对Redis进行添加或管理。网页的HTTP服务器是Nginx,负载均衡则使用的是HAProxy和Varnish。Redis服务器每秒需要处理30万个页面请求,每小时会记录下8到15GB的数据(包括用户登录、观看记录等),YouPorn认为Redis处理每天2亿的访问量不成问题。
互联网只能处理50Tb每秒的数据,换而言之,单单一个YouPorn的流量就占了整个互联网的2%。类似YouPorn这样的色情网站有数十个之多,因此,认为色情网站的数据传送量占据整个互联网的30%就不算夸张了。