作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我在 GTmetrix 上检查我的 WordPress 网站时收到此消息“跨主机名并行下载”> https://gtmetrix.com
详细信息如下> https://gtmetrix.com/parallelize-downloads-across-hostnames.html
我该如何解决这个问题?
最佳答案
详细信息
Web 浏览器对与主机建立的并发连接数量进行了限制。当需要下载的资源较多时,就会形成等待下载的资源积压。浏览器将在浏览器允许的情况下与服务器建立尽可能多的同时连接,以便下载这些资源,但随后会将其余资源排队并等待请求完成。
等待连接完成所花费的时间称为阻塞,减少阻塞时间可以加快页面加载速度。下面的瀑布图显示了一个从同一主机加载 45 个资源的页面。请注意资源在等待空闲连接时被下载(紫色部分)之前被阻止的时间(棕色部分)。
<小时/>这里有一个在 WordPress 上实现它的技巧。
为了正常工作,所有子域/主机名必须具有相同的结构/路径。例如:
添加到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);
关于performance - 如何在 WordPress 上跨主机名并行下载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34404336/
我是一名优秀的程序员,十分优秀!