skip to Main Content
+30-6944453971 info [a] selidamou.gr

Πως να διορθώσετε το μήνυμα “Parallelize Downloads Across Hostnames”

Πως να αποφύγετε την ειδοποίηση “Parallelize Downloads Across Hostnames”

Βλέποντας το μήνυμα “parallelize downloads across hostnames” στο PingdomGTmetrix, or Google PageSpeed Insights? Αυτό συμβαίνει γιατί οι browsers έχουν ένα όριο παράλληλων συνδέσεων. Αυτό οφείλεται κυρίως στην HTTP/1.1, που οι browsers ανοίγουν κατά μέσο όρο 6 συνδέσεις ανά host.

parallelize downloads across hostnames

Σημείωση: Αν τρέχεται σε HTTP/2, αυτή η ειδοποίηση μπορεί να αγνοηθεί. Τελευταία είναι πολύ συχνό οι περισσότεροι Server να υποστηρίζουν την τεχνολογία HTTP/2. Με το HTTP/2 πολλαπλές συνδέσεις μπορούν να φορτωθούν παράλληλα.

Ανάλογα το εργαλείο που κοιτάτε, το μήνυμα μπορεί να είναι διατυπωμένο με διαφορετικούς τρόπους:

  • “parallelize downloads across hostnames”
  • “increase download parallelization by distributing these requests across multiple hostnames”

pingdom parallelize downloads across hostnames

Αν τρέχετε την σελίδα σας ακόμα σε HTTP και δεν έχετε περάσει στο HTTP/2, μπορείτε να ακολουθήσετε το παρακάτω tutorial.

Διορθώστε την ειδοποίηση “Parallelize Downloads Across Hostnames”

Ένας τρόπος είναι να μοιράσετε το περιεχόμενο από περισότερα subdomain (γνωστό ως Domain sharding). Με αυτή τη μέθοδο μπορείτε να φορτώσετε τη σελίδα cookie-free, αλλά προσθέτετε μία καθυστέρηση όσο αφορά τα DNS requests.

1. Δημιουργήστε τα επιπλέον Subdomains

Πρώτα πρέπει να δημιουργήσετε τα subdomains από το περιβάλλον του server σας (cpanel, plesk κ.ο.κ.).

selidamou.gr
static1.selidamou.gr
static2.selidamou.gr
static3.selidamou.gr

2. Αλλαγή του WordPress Config

Έπειτα πρέπει να αλλάξετε το wpconfig, ώστε δώσετε την δυνατότητα πολλαπλών συνδέσεων στα subdomain. Απλά προσθέστε το παρακάτω κώδικα στο functions.php αρχείο (src: GitHub). Αντικαταστήστε τις τιμές στο $subdomains με τα δικά σας subdomains. Όλα τα subdomains/hostnames πρέπει να έχουν την ίδια δομή.

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

 

Back To Top
×Close search
Search