gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 22:32:53 26 4
gpt4 key购买 nike

我在 GTmetrix 上检查我的 WordPress 网站时收到此消息“跨主机名并行下载”> https://gtmetrix.com

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

我该如何解决这个问题?

最佳答案

详细信息

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);

关于performance - 如何在 WordPress 上跨主机名并行下载?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34404336/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com