CDN内容分发网络加速效果测试(上)

简介: CDN内容分发网络加速效果测试

之前提到过,腾讯云和阿里云的云主机低配版本出口带宽都很低,腾讯云为1Mb/S,阿里云有高速流量,带宽也不过5Mb/S。导致页面打开缓慢,影响体验。碰巧近期公司也有业务需求,我就趁机测试了一下CDN内容分发网络的加速效果,给大家分享一下。


什么是内容分发网络?


内容分发网络(Content Delivery Network,CDN),是在现有 Internet 中增加的一层新的网络架构,由遍布全国的高性能加速节点构成。这些高性能的服务节点都会按照一定的缓存策略存储您的业务内容,当您的用户向您的某一业务内容发起请求时,请求会被调度至最接近用户的服务节点,直接由服务节点快速响应,有效降低用户访问延迟,提升可用性。


CDN 有效地解决了目前互联网业务中网络层面的以下问题:


1、用户与业务服务器地域间物理距离较远,需要进行多次网络转发,传输延时较高且不稳定;


2、用户使用运营商与业务服务器所在运营商不同,请求需要运营商之间进行互联转发;


3、业务服务器网络带宽、处理能力有限,当接收到海量用户请求时,会导致响应速度降低、可用性降低。


正常的WEB请求过程:

1677132705906.jpg

使用CDN加速后的WEB请求过程:

1677132712647.jpg

详细说明如下:


1、用户向 www.test.com 下的图片资源(1.jpg)发起请求,会先向 Local DNS 发起域名解析请求;


2、当 Local DNS 解析 www.test.com 时,会发现已经配置了 CNAME www.test.com.cdn.dnsv1.com,解析请求会发送至 Tencent DNS(GSLB),GSLB 为腾讯云自主研发的调度体系,会为请求分配最佳节点 IP。


3、Local DNS 获取 Tencent DNS 返回的解析IP(即DNS接入节点IP地址)。


4、用户获取解析 IP;


5、用户向获取的 IP 发起对资源 1.jpg 的访问请求;


6、若该 IP 对应的节点缓存有 1.jpg,则会将数据直接返回给用户(10),此时请求结束。若该节点未缓存 1.jpg,则节点会向业务源站发起对 1.jpg 的请求(6、7、8),获取资源后,将资源缓存至节点(9),并返回给用户(10),此时请求结束。


测试场景:下载加速


腾讯云官网介绍,下载加速适用于各类文件下载的加速,如游戏安装包、手机 ROM 升级、应用程序包下载等。

腾讯云 CDN 依靠海量弹性带宽储备,具备突发性超大流量承载能力,可对这些相对较大的文件下载进行加速分发,保证下载服务的稳定性,任何区域的终端用户都可获得极速流畅的下载体验。1677132781853.jpg


在腾讯云环境进行测试


为体现效果,将出口带宽为1Mb的腾讯云服务作为测试源,并上传测试用的文件。为方便操作,部署宝塔。上传速度:

1677132812303.jpg

测试用HTTP下载链接:

http://tl.guotiejun.com/Moba.zip

在未使用CDN加速的情况下,下载速率为125.6KB,折合1000Kb,1Mb带宽打满。

1677132839240.jpg

单独使用迅雷下载,峰值速率为123KB/S:

1677132846562.jpg

同时使用迅雷、FTP和浏览器进行下载,三者抢占带宽,总下载速度为130KB左右:

1677132865405.jpg

在腾讯云控制台页面,选择内容分发网络,增加域名管理配置:

1677132872078.jpg

提交后可以看到当前状态:

1677132879207.jpg

可以看到分配的CDN加速域名信息,也是实现原理中GSLB的递归查询域名,用于给客户端返回各地不通的CDN接入节点IP地址信息。

1677132912292.jpg

因为我用的是万网域名,所以此时需要在万网后台配置CNAME解析。

1677132917999.jpg

完成后查看域名管理状态:

1677132925409.jpg

配置完成后,在不同区域测试解析值,返回IP地址信息不同,均为各地对应的CDN节点IP地址。

1677132948576.jpg

1677132953753.jpg

1677132959852.jpg

在内容分发网络中点击刷新预热,增加记录值如下:

1677132970069.jpg

随后再进行下载测试,发现资源数量增多,并且速度有明显提升。

1677132977479.jpg

再更换一个域名解析,测试效果:

1677133016210.jpg

配置刷新预热:

1677133021905.jpg

首次下载发现速度和之前一样:

1677133029227.jpg

再次测试下载,发现10M的带宽打满。

1677133036009.jpg


将源指定到阿里云进行测试


前面的测试说明腾讯云对本地资源加速有效果,那么资源不在腾讯云的情况如何呢?我又在阿里云主机创建一个网站,首先创建域名解析,将cdn.guotiejun.com解析到服务器106.15.33.75。

1677133058687.jpg

然后在阿里云主机创建一个网站http://cdn.guotiejun.com/

1677133071889.jpg

相关文章
|
机器学习/深度学习 PyTorch 算法框架/工具
目标检测实战(一):CIFAR10结合神经网络加载、训练、测试完整步骤
这篇文章介绍了如何使用PyTorch框架,结合CIFAR-10数据集,通过定义神经网络、损失函数和优化器,进行模型的训练和测试。
705 2
目标检测实战(一):CIFAR10结合神经网络加载、训练、测试完整步骤
|
11月前
|
边缘计算 安全 算法
阿里云CDN:构建全球化智能加速网络的数字高速公路
阿里云CDN构建全球化智能加速网络,拥有2800多个边缘节点覆盖67个国家,实现毫秒级网络延迟。其三级节点拓扑结构与智能路由系统,结合流量预测模型,确保高命中率。全栈式加速技术包括QUIC协议优化和Brotli压缩算法,保障安全与性能。五层防御机制有效抵御攻击,行业解决方案涵盖视频、物联网及游戏等领域,支持新兴AR/VR与元宇宙需求,持续推动数字内容分发技术边界。
723 13
|
11月前
|
测试技术
Fast网络速度测试工具
Fast是由Netflix提供的网络速度测试工具,可快速测量用户的下载、上传速度及延迟。其全球可用、无广告干扰,并支持多种设备。测试自动进行,结果以Mbps显示。此外,用户可通过“Show more info”查看上传速度和延迟(含缓冲膨胀)。Fast以其简单快捷的特点,帮助用户了解网络性能并解决潜在问题,是评估网速的理想选择。
1287 0
Fast网络速度测试工具
|
缓存 应用服务中间件 nginx
Web服务器的缓存机制与内容分发网络(CDN)
【8月更文第28天】随着互联网应用的发展,用户对网站响应速度的要求越来越高。为了提升用户体验,Web服务器通常会采用多种技术手段来优化页面加载速度,其中最重要的两种技术就是缓存机制和内容分发网络(CDN)。本文将深入探讨这两种技术的工作原理及其实现方法,并通过具体的代码示例加以说明。
1107 1
|
SQL 安全 测试技术
网络安全的屏障与钥匙:漏洞防护与加密技术解析软件测试的艺术:探索性测试的力量
【8月更文挑战第27天】在数字时代的海洋中,网络安全是保护我们数据资产的灯塔和堤坝。本文将深入浅出地探讨网络安全领域的关键要素——安全漏洞、加密技术以及不可或缺的安全意识。通过实际案例分析,我们将了解如何识别和修补潜在的安全漏洞,掌握现代加密技术的工作原理,并培养起一道坚固的安全防线。文章旨在为读者提供实用的知识和技能,以便在日益复杂的网络环境中保持警惕,确保个人及组织信息的安全。
|
机器学习/深度学习
神经网络与深度学习---验证集(测试集)准确率高于训练集准确率的原因
本文分析了神经网络中验证集(测试集)准确率高于训练集准确率的四个可能原因,包括数据集大小和分布不均、模型正则化过度、批处理后准确率计算时机不同,以及训练集预处理过度导致分布变化。
|
12月前
|
缓存 边缘计算 安全
阿里云CDN:全球加速网络的实践创新与价值解析
在数字化浪潮下,用户体验成为企业竞争力的核心。阿里云CDN凭借技术创新与全球化布局,提供高效稳定的加速解决方案。其三层优化体系(智能调度、缓存策略、安全防护)确保低延迟和高命中率,覆盖2800+全球节点,支持电商、教育、游戏等行业,帮助企业节省带宽成本,提升加载速度和安全性。未来,阿里云CDN将继续引领内容分发的行业标准。
652 7
|
缓存 边缘计算 网络协议
深入解析CDN技术:加速互联网内容分发的幕后英雄
内容分发网络(CDN)是现代互联网架构的重要组成部分,通过全球分布的服务器节点,加速网站、应用和多媒体内容的传递。它不仅提升了访问速度和用户体验,还减轻了源站服务器的负担。CDN的核心技术包括缓存机制、动态加速、流媒体加速和安全防护,广泛应用于静态资源、动态内容、视频直播及大文件下载等场景,具有低延迟、高带宽、稳定性强等优势,有效降低成本并保障安全。
2278 4
|
数据库连接 Go 数据库
Go语言中的错误注入与防御编程。错误注入通过模拟网络故障、数据库错误等,测试系统稳定性
本文探讨了Go语言中的错误注入与防御编程。错误注入通过模拟网络故障、数据库错误等,测试系统稳定性;防御编程则强调在编码时考虑各种错误情况,确保程序健壮性。文章详细介绍了这两种技术在Go语言中的实现方法及其重要性,旨在提升软件质量和可靠性。
253 1
|
机器学习/深度学习 自然语言处理 前端开发
前端神经网络入门:Brain.js - 详细介绍和对比不同的实现 - CNN、RNN、DNN、FFNN -无需准备环境打开浏览器即可测试运行-支持WebGPU加速
本文介绍了如何使用 JavaScript 神经网络库 **Brain.js** 实现不同类型的神经网络,包括前馈神经网络(FFNN)、深度神经网络(DNN)和循环神经网络(RNN)。通过简单的示例和代码,帮助前端开发者快速入门并理解神经网络的基本概念。文章还对比了各类神经网络的特点和适用场景,并简要介绍了卷积神经网络(CNN)的替代方案。
2004 1