在线测试博客园CDN速度(已过时)

最近发现博客园附件下载速度快了不少,据说是网站迁移到新的IDC了。于是写了个小东东,来测试下看看单线程下载速度。

挂了一晚上,分享下测试结果- - CDN的带宽貌似不便宜~~以后再不那么可耻的浪费了:)

在线测试博客园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的流量!若是按流量计费的话,攻击也可以造成不小的损失。
原文链接: https://www.cnblogs.com/index-html/archive/2013/03/12/cdn_speed_test.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/80425

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月9日 下午7:33
下一篇 2023年2月9日 下午7:33

相关推荐