在线测试博客园CDN速度(已过时)
最近发现博客园附件下载速度快了不少,据说是网站迁移到新的IDC了。于是写了个小东东,来测试下看看单线程下载速度。
挂了一晚上,分享下测试结果- - CDN的带宽貌似不便宜~~以后再不那么可耻的浪费了:)
大家有兴趣测试看看有多快。
同样可以测试其他网站的静态资源,不过必须是jpg/png/gif/swf的资源文件。
因为是单连接下载的,所以发送/响应请求的那一刻时间里传输字节要少些,所以尽可能选择体积大的文件。
测试脚本很简单,顺便贴下吧~
var txt:TextField = new TextField(); var loader:Loader = new Loader(); var timer:Timer = new Timer(1000); var nf:NumberFormatter = new NumberFormatter(LocaleID.DEFAULT); nf.fractionalDigits = 0; var lastDLBytes:int; var curDLBytes:int; var totalDLBytes:int; var running:Boolean; var sec:int; var sum:Number = 0; init(); function init() : void { Security.allowDomain("*"); stage.align = StageAlign.TOP_LEFT; stage.scaleMode = StageScaleMode.NO_SCALE; loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS, onProgress); loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, onError); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, onComplete); timer.addEventListener(TimerEvent.TIMER, onTimer); } function onTimer(e:Event) : void { var secBytes:int = curDLBytes - lastDLBytes; lastDLBytes = curDLBytes; sum += secBytes; sec++; txtSpeed.text = int(secBytes / 1024) + " KB/S (当前)" + " / " + int(sum / sec / 1024) + " KB/S (平均)"; txtInfo.text = nf.formatNumber(sum) + " 字节 @ " + sec + "秒"; } function onProgress(e:ProgressEvent) : void { curDLBytes = e.bytesLoaded; if (curDLBytes / e.bytesTotal > 0.95) { reload(); } } function onError(e:IOErrorEvent) : void { trace("onError"); reload(); } function onComplete(e:Event) : void { trace("onComplete"); reload(); } function reload() : void { var url:String = txtURL.text + "?v=" + int(1e6 * Math.random()); trace(url); curDLBytes = lastDLBytes = 0; loader.load(new URLRequest(url)); } mcToggle.gotoAndStop(1); mcToggle.addEventListener(MouseEvent.CLICK, function() { running = !running; mcToggle.gotoAndStop(running? 2 : 1); if (running) { timer.start(); reload(); } else { timer.stop(); } });
为防止下载的数据缓存在本地硬盘里,在95%左右进度时中断,并重新开始下载(貌似有些浏览器仍缓存,没有仔细测试)。
由此可见,支持外链的CDN还是有些安全隐患。
攻击者可以找一些体积较大的图片文件,内嵌在论坛或者邮件里群发。当内嵌这些资源的页面被打开时,流量也随之消耗了。
要是有大量可控制的傀儡主机就更容易了,因为可以伪造http refer,所以外链也不容易防住。
简单的计算下,假设即使只有1000个可控的计算机,平均速度100KB,那么每秒就可消耗100M流量,每小时可消耗360G的流量!若是按流量计费的话,攻击也可以造成不小的损失。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人