云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

中间件_12306阿里云_多少钱

小七 141 0

SamKnows Cloudflare平台

这是SamKnows测试服务器负责人jamiemason的客座帖子。这篇文章最初出现在SamKnows博客上。我们利用Cloudflare工人来扩展SamKnows度量基础设施。AtSamKnows,我们做了很多测试来衡量互联网的性能。实际上,这是轻描淡写。我们的软件被嵌入到数以千万计的设备上,而且这个数字还在增长每天。我们衡量用户的家庭和互联网之间的性能,跨越几十个指标。其中一些指标衡量主要视频流服务、流行游戏或大型网站的性能。其他人则关注更传统的"服务质量"指标:速度、延迟和数据包损失。英寸为了测量速度、延迟和数据包丢失,SamKnows需要测试服务器来执行测量。这些服务器应该相对靠近用户的家-这确保我们只测量用户的互联网连接(即,他们的互联网服务提供商出售他们)而不是一些外部因子。As因此,我们管理着全世界的高容量测试服务器。有些是研究小组捐赠的,有些是我们在主要数据中心托管的,还有一些是在ISP内部运行的网络。客户经常问我们为什么不使用云托管提供商来托管我们的测试服务器。反应总是一样的:带宽太贵了(通常是专用/并置服务器成本的10-20倍),而且它们的全球覆盖范围也太有限。虽然我们经常重温这一话题,但我们使用云服务提供商却没有任何意义远。尽管如此我们的测试基础设施的规模,我们一直在寻找改进和扩展我们的平台的方法。在新兴市场,必须定期获得10Gbps连接的可靠托管是一个不错的问题,但仍然是一个问题!Cloudflare推出"Workers"Cloudflare是世界上最大的cdn之一,拥有横跨6大洲165个数据中心的广泛网络。这意味着大多数互联网用户将在几十毫秒内到达最近的Cloudflare位置。在2018年3月,Cloudflare推出了一款名为Workers的新产品,该产品基于W3C Service Workers标准。这允许开发人员直接在Cloudflare的网络上运行代码。这方面的典型用例是在请求到达源之前应用复杂的HTTP请求过滤或缓存逻辑服务器。但是,在全球165个连接良好的地点运行代码的潜力给了我们另一个机会想法:我们可以吗在Workers脚本中编写SamKnows测量服务器软件?这样做的好处是显著的:我们将立即获得在许多新地点进行测量的能力。Cloudflare还定期添加新位置 - - - - - - - - - - - - - 他们已经添加了10个新的位置,这篇博文一经添加,我们就可以自动获得。此外,Cloudflare作为CDN的地位意味着他们可能会与主要市场的大多数ISP保持良好的连接,并受到激励,不断改善这种连接,因为这样可以改善为客户提供的服务。总之,我们的利益是好的-对齐。请注意:这里讨论的想法不应与我们的CDN测试相混淆,CDN测试旨在测量从用户家到主要CDN的TCP连接时间,包括Akamai、苹果、微软、谷歌,当然还有 - - CloudflareWorkers中的测量服务器首先要注意的是,Workers不像amazonec2实例,甚至不是Docker容器。worker是独立的JavaScript应用程序,实现W3C服务工人标准。这意味着我们需要在JavaScript.实现Workers上的第一个测量服务器原型出人意料地简单。我们现在甚至没有Cloudflare帐户,所以我们注册了免费计划,并支付了工人升级的5美元。在几个小时内,我们有了一个早期的原型,最初只支持下载速度测试,从伦敦一个连接良好的服务器上进行的快速测试表明,我们的Workers脚本可以使10Gbps链路饱和。JavaScript已经取得了长足的进步!当然,80/20规则是适用的,要使它具有可伸缩性、在所有情况下都能很好地执行,并支持其他指标,还需要做大量的工作。但早期迹象是很有前途。不像大多数worker脚本,我们的代码不向任何源服务器发出任何请求。我们直接从Worker内部生成用于下载速度测试的内容,并从客户端读取内容以进行上载速度测试。必须注意确保我们生成的内容足够随机(一些中间盒将透明地压缩数据,这会干扰我们的测量)。我们还必须注意Cloudflare工作人员的资源限制:5–50ms的CPU时间和128MB的RAM。幸运的是,我们为资源受限的嵌入式设备编写软件的经验很好地为我们服务!我们还联系了Cloudflare,让他们知道我们在做什么,他们非常支持我们,并对我们不寻常的使用工人感兴趣。我们甚至在Cloudflare伦敦办公室的发布会上见到了工人们背后的团队我们的。支持测量CloudFlare Workers基于W3C Service Workers标准。这意味着我们受到这个标准的限制:我们只能交换HTTP流量(通过TCP),我们不能使用UDP。这意味着我们的UDP测量不能运行到我们的工人服务器.As结果,我们的Workers服务器可以支持以下mea保证:TCP下载速度测试(单个或多个并发连接)TCP上载速度测试(单个或多个并发连接)往返延迟(ICMP)数据包丢失(ICMP)性能测试在我们将Cloudflare视为可行的测量服务器主机之前,我们需要测试其性能。我们通过配置whitebox来对现有服务器和Cloudflare Workers服务器运行测量,然后比较性能。在2018年秋季,我们配置了10000个whitebox来对Cloudflare及其现有的测量服务器运行测量。这10000个白盒子分布在欧洲、北美、亚洲和南部美国。开平均而言,与Cloudflare和我们现有服务器的测量速度差为0.1%,但确实存在异常值,有时Cloudflare的性能远远低于我们现有的基础设施,有时它的表现远远超过它。所以,我们决定深入研究两个问题市场。我们选择了拥有各种互联网接入技术和速度的德国和新加坡,这些国家的公民拥有500Mbps或更高的高速连接,其中1Gbps是相当普遍的。至关重要的是,我们现有的服务器位于德国和新加坡的主要互联网交易所,能够处理非常高的速度连接。深跳水:在德国,我们看到很多高峰时段性能下降的实例,包括Cloudflare和我们现有的基础设施。例如,以下是2018年11月初德国电信100Mbps用户的平均性能:图1-德国电信对Cloudflare(蓝色)和我们现有的M-Lab服务器的100Mbps性能法兰克福。As你可以在这张图中看到,有很多深槽,大部分与高峰时间有关。这表明道路上某个地方的高峰时段拥堵。从我们的角度来看,有趣的一点是,对Cloudflare(蓝色)进行测试的设备不仅可以看到相似的速度,而且可以看到这种拥塞带来的影响更小。这表明路由在这方面起了很大的作用,与Measurement提供的三个现有服务器相比,Deutsche Telekom到Cloudflare的路由更短和/或更少拥塞实验室开从单个设备级别来看,我们可以看到大多数德国设备的速度与Cloudflare和M-Lab非常相似例如,一个200Mbps的沃达丰Kabel Deutschland用户,他几乎看不出M-Lab和C的区别扩音器:图2-单个Vodafone Kabel Deutschland 200Mbps用户对Cloudflare(蓝色)和我们现有的M-Lab法兰克福服务器(红色)的性能。深入了解:新加坡我们的许多新加坡用户都很幸运拥有1Gbps光纤到家服务。然而,我们从经验中了解到,新加坡的对等问题意味着性能可能会极不稳定,这取决于您的流量所走的路线。我们发现有趣的.MyRepublicFigure3-MyRepublic 1Gbps性能优于Cloudflare(蓝色)和我们现有的新加坡服务器(红色)。它们对我们现有的服务器(红色)的性能非常好,它位于新加坡的Equinix设施中,达到了从1Gbps连接中可靠挤出的极限。这充分说明了与新加坡现有服务器的连接质量。Cloudflare的结果(蓝色)有点低,而且变化更大。虽然速度仍然很高,但很明显差异。新加坡共和国然而,与新加坡电信的1Gbps用户相比,用户的体验要好得多,他们为我们提供了一个很好的例子,说明当双方之间存在次优连接时,情况会是什么样子。在这个图表中,我们展示了Singtel对Cloudflare的1Gbps性能(蓝色)和我们现有的测量服务器(红色):图4-Singtel 1Gbps性能到Cloudflare(蓝色)和我们现有的新加坡服务器(红色)。哎哟!我们可以看到,对于Singtel用户来说,Cloudflare的速度比我们现有的Singtel用户的服务器要低将近600Mbps,而且远比那些低我的共和国。什么是因为这个?这是一大罐很有争议的虫子。简言之,一些市场中的现有ISP(本例中为Singtel)可以向其他网络收取大量"付费对等"(为connec付费)的费用