首页 > 在ATS 5.3.0上测试background_fetch插件

在ATS 5.3.0上测试background_fetch插件

测试大文件下载

curl -I "http://resource.tsk.erya100.com/TS/flv/TS180/5836/9.flv?t=1430796561727"





单条转发模式in per remap mode

在remap.config中添加一条

map http://resource.tsk.erya100.com/ http://resource.tsk.erya100.com/ @plugin=background_fetch.so @pparam=background_fetch.config

map http://files2.changyou.com/ http://files2.changyou.com/ @plugin=background_fetch.so @pparam=background_fetch.config

其中background_fetch.config配置如下

include Content-Type video/x-flv

exclude Content-Length <102400000





如何开启日志?

在configs.h中定义了该插件的名字"background_fetch",在records.config中配置上

CONFIG proxy.config.diags.debug.enabled INT 1

CONFIG proxy.config.diags.debug.tags STRING regex_revalidate.*|background_fetch.*





测试

使用curl来开启range模式

curl -o /dev/null -r 0-10 -vx 127.0.0.1:8081 "http://resource.tsk.erya100.com/TS/flv/TS180/5836/9.flv?t=1430796561727"

curl -o a.zip -r 0-1000 -vx 127.0.0.1:8081 "http://files2.changyou.com/slzj/fullclient/gw/DS-20150414-2.zip"

curl -o a.exe -r 0-1000 -vx 127.0.0.1:8081 "http://files2.changyou.com/ldj/49440_20150313_LDJ_PRC_ZS_0.80.9532_BD3/LDJ_ldjdraggw_0.80.9532.exe"



然后在我们看到如下日志信息



等待片刻,我使用curl去请求该flv视频,发现它已经硬盘命中了



测试中遇到的现象

当我使用curl去发送某个mp4大文件的range请求来触发background-fetch时,我发现该插件表现迟缓,并未成功下载该文件。



测试中想到的问题

如果间隔一定时间发送了两个range请求,background-fetch正在进行中,它还会重复去回源该文件吗?

下载大文件的效果咋样?

总之,该插件性能还需进一步改进,对大文件的回源下载还需进一步改进。

更多相关:

  • ng g s services/http  app.module.ts ... @NgModule({declarations: [...],imports: [...HttpClientModule,//这个很重紧要,没有就会报错],providers: [],bootstrap: [AppComponent] }) expor...

  • set-misc-nginx-module模块是标准的HttpRewriteModule指令的扩展,提供更多的功能,如URI转义与非转义、JSON引述、Hexadecimal/MD5/SHA1/Base32/Base64编码与解码、随机数等等。在后面的应用中,都将会接触使用到这个模块的。该模块是由章亦春先生开发的,他开发的其他模块应用...

  • 该源码包是MySQL-python-1.2.4b4.tar.gz 从2013-06-28以来一直没有更新,注意该网站可以区分访问的终端类型是Windows还是Linux之类的,从而返回的源码包格式不一样。 在CentOS上的安装方法是 http://www.cnblogs.com/jackluo/p/3559978.html...

  • ATS默认提供了对Referer头的http request的防盗链功能,主要应用于图片,对视频等会使用级别更高的防盗链功能,比如事先约定好key,采用md5或HMAC-Sha1算法加密等。 在remap.config中按如下格式设置: map_with_referer client-URL origin-server-URL re...

  • 简介 这是Apache Traffic Server(简称ATS)中的一个插件, 允许你从源站主动获取Object内容并填充到缓存中, 当你的所有或是大部分client request都是byte-ranged类型时, 这特别有用. 目前ATS并不能缓存byte0-range类型的request/response. 功能 检查回...

  • 在线上服务器上执行下面的命令 curl -vo /dev/null 'http://120.52.72.46:80/fileshare3010.dfiles.eu/c3pr90ntcsf0/auth-1375626538db3c073c81647e872cab8f-210.186.189.166-676861082-14640452...

  • 使用libcurl多线程下载大文件的基本思想: 首选打开文件,将文件等分为指定的片段,使用http range下载,一个线程下载一个片段,当线程下载片段时,它们将数据写到打开文件的指定位置,类似BT文件下载的方式(这样片段下载完成后不用再合并),当所有的子线程下载完成后,这个大文件也就随之下载完成了。 下面是相关源码: //g...

  • 这个例子来自参考文献[1], 那里有很多小bug,我都做了修改,在这里不一一说明了。ncurse界面编程比较容易入门,就是几个接口,网上资料很多,这里不详述了。 //gcc -g mget.c -o mget -lcurl -lncurses -lm // #include #include

  • 在下面的源码中,我将展示如何使用libcurl提供的进度条功能,以及如何发送range请求, 同时提供了限速功能。 源码如下: //g++ -g curl_range.cpp -o curl_range -lcurl -lm // #include #include #include <...

  • 这是一个简单的获取远程文件大小的源码,我们可以改写为大批量异步的形式. #include #include size_t get_size_struct(void* ptr, size_t size, size_t nmemb, void* data){return (size_t)...