当前位置:  开发笔记 > 编程语言 > 正文

如何在WordPress上跨主机名并行下载?

如何解决《如何在WordPress上跨主机名并行下载?》经验,为你挑选了1个好方法。

当我在GTmetrix上查看我的WordPress网站时,我收到此消息"跨主机名并行化下载"> https://gtmetrix.com

以下是详细信息> https://gtmetrix.com/parallelize-downloads-across-hostnames.html

我该如何解决这个问题?



1> Leo Leoncio..:

细节

Web浏览器限制了它们将对主机进行的并发连接数.当需要下载许多资源时,将形成等待下载的积压资源.浏览器将允许浏览器同时连接到服务器,以便下载这些资源,但随后将排队其余并等待请求完成.

等待连接完成所花费的时间称为阻止,减少此阻塞时间可能会导致加载页面更快.下面的瀑布图显示了一个从同一主机加载45个资源的页面.请注意资源在下载(紫色段)之前等待空闲连接的时间长度(棕色段).


所以这是在WordPress上实现它的黑客攻击.

为了正常工作,所有子域/主机名必须具有相同的结构/路径.例如:

example.com/wp-content/uploads/2015/11/myimage.jpg

media1.example.com/wp-content/uploads/2015/11/myimage.jpg

media2.example.com/wp-content/uploads/2015/11/myimage.jpg

添加到functions.php

function parallelize_hostnames($url, $id) {
 $hostname = par_get_hostname($url);
 $url =  str_replace(parse_url(get_bloginfo('url'), PHP_URL_HOST), $hostname, $url);
 return $url;
}

function par_get_hostname($name) {
 //add your subdomains below, as many as you want.
 $subdomains = array('media1.mydomain.com','media2.mydomain.com');
 $host = abs(crc32(basename($name)) % count($subdomains));
 $hostname = $subdomains[$host];
 return $hostname;
}
add_filter('wp_get_attachment_url', 'parallelize_hostnames', 10, 2);

推荐阅读
kikokikolove
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有