Stuart的Matlab视频

观看并学习

使用Parcom来制作许多Web请求

我的同事让我让我访问Web服务器上的所有页面才能填充它的缓存。我打算使用议案及时通过250k页。我还需要不要太快并超载服务器。

我已经使用过议案之前用于网页访问并发现它是您可以使用更多Matlab Worker的罕见情况之一,而不是可用的物理甚至是逻辑处理器,这通常不推荐。它有效,因为Web请求需要大量的等待,并且通常在Matlab中需要处理的处理很少。

当我尝试不同数量的工人时,我承认这段视频接近结束了一点无聊。请记住,您可以在播放器的右下角增加视频的播放速度。

这个功能涵盖代码沿岸风格视频包括:

  • 议案

跟着我 (@stuartmckarrity.)如果您想在我发布时通过Twitter通知。

以全屏模式播放视频以获得更好的观看体验。最终代码在这里:

%%为URL进行设置

%假设具有“URL”变量/列的SPREASD表格
pagesfilename =“filepath \ all-aem-pages.xlsx”;
环境= [“dev2”“dev3”];
环境=环境(2);
选项= weboptions('超时',60);
TotalStartTime =时钟;
%%获取页面列表
%重复使用表(如果已在基础工作区中)
如果〜存在('','var')
页面= readtable(pagesfilename,'texttype','string');
结尾
%%创建URL列表
%转换环境
网址=替换(pages.urls, “ - ” +环境+ “.mathworks” “MathWorks公司。”);
%%启动工人
%12为dev服务器
Startpool(12);
%%提出请求
成功=假(高度(页面),1);
k = 1:高度(页面)
starttime = [];%初始化为parcol
URL = URL(k);
尝试
starttime =时钟;
content = webrabread(URL,选项);
成功(k)=真;
FPRINTF('成功访问(%d的%d):%s(%2.1f sec)。\ n',k,高度(页),URL,eTime(时钟,starttime));
抓住
FPRINTF('访问失败(%d的%d):%s(%2.1f sec)。\ n',k,高度(页面),URL,ETIME(时钟,starttime));
结尾
结尾

%% 结束
fprintf('完成%s \ n',myetimestr(totalstartTime))

%%本地功能
函数p = startpool(numworkers)
p = gcp('nocreate');
如果是谬误(p)
p = parpool(numworkers);
elsefif p.numworkers〜= numworkers
删除(p);
p = parpool(numworkers);
结尾
结尾

函数y = myetimestr(starttime)
%以秒为单位从经过的时间返回字符串(mm:ss)。

y = char(持续时间(0,0,eTime(时钟,starttime),'格式','mm:ss'));

结尾

|

댓글

댓글을남기려면링크를클릭하여mathworks계정계정에로그인하거나계정을새로새로새로