Τρόπος παράλληλης λήψης σε ονόματα κεντρικών υπολογιστών

The best protection against click fraud.

Ορισμένα εργαλεία δοκιμής ταχύτητας εύρους ζώνης μπορεί να προτείνουν ιστότοπους να παραλληλίζουν τις λήψεις ονόματα κεντρικών υπολογιστών για αποτελεσματική εξυπηρέτηση περιεχομένου ιστού σε προγράμματα περιήγησης ιστού. Αυτή η πρόταση εμφανίζεται συνήθως σε ιστότοπους που χρησιμοποιούν το πρωτόκολλο HTTP / 1.1 και συμβαίνει όταν τα προγράμματα περιήγησης ιστού περιορίζουν τον αριθμό των ταυτόχρονων συνδέσεων που πραγματοποιούνται σε έναν τομέα.

Ιστοσελίδες που έχουν πολλά HTTP αιτήματα για στατικό περιεχόμενο (όπως εικόνες, CSS αρχεία και JavaScript) αντιμετωπίζουν μια προειδοποίηση παράλληλων λήψεων σε ονόματα κεντρικών υπολογιστών. Για να ξεπεράσετε αυτόν τον περιορισμό, ρυθμίστε το sharding τομέα ή χρησιμοποιήστε ένα δίκτυο παράδοσης περιεχομένου (CDN).

Το πρωτόκολλο HTTP / 2 έχει γίνει το κύριο πρότυπο, καθιστώντας την ανάγκη για παράλληλες λήψεις παρωχημένες. Οι περισσότεροι οικοδεσπότες Ιστού χρησιμοποιούν τώρα HTTP / 2 από προεπιλογή και διαθέτουν ένα δωρεάν CDN κάποιου είδους διαθέσιμο. Επειδή το HTTP / 2 είναι η προτίμηση της Google τώρα, εξετάστε το ενδεχόμενο να ενημερώσετε τον ιστότοπό σας και να φιλοξενήσετε σε HTTPS.

instagram viewer

Γιατί παράλληλες λήψεις σε ονόματα κεντρικών υπολογιστών;

Τα προγράμματα περιήγησης στο Web μπορούν να ανοίξουν μόνο περιορισμένο αριθμό ταυτόχρονων συνδέσεων ανά όνομα κεντρικού υπολογιστή για ιστότοπους που χρησιμοποιούν το πρωτόκολλο HTTP / 1.1. Αυτό το όριο μπορεί να είναι τόσο υψηλό όσο έξι συνδέσεις.

Όταν χρειάζεται να κάνετε λήψη περισσότερων πόρων, οι πρόσθετοι πόροι πρέπει να περιμένουν σε μια ουρά καθυστέρησης έως ότου υπάρχει διαθέσιμη σύνδεση. Οι πόροι στην ουρά αποκλείονται και η μείωση αυτού του χρόνου αποκλεισμού οδηγεί σε γρηγορότερους χρόνους φόρτωσης σελίδας.

Για παράδειγμα, εάν μια ιστοσελίδα έχει 12 εικόνες και ο αριθμός των συνδέσεων που επιτρέπονται από το πρόγραμμα περιήγησης ιστού είναι έξι, τότε έξι εικόνες πρέπει να περιμένουν στο καθυστερημένο αρχείο. Οι εικόνες στο καθυστερημένο αρχείο παραμένουν εκεί μέχρι να ολοκληρωθεί η λήψη των πρώτων έξι εικόνων.

Εάν μια εικόνα όπως ένα εικονίδιο ή ένα λογότυπο χρησιμοποιείται πολλές φορές, χρησιμοποιήστε ένα CSS Sprite για αυτές τις επαναλαμβανόμενες εικόνες για να μειώσετε τα αιτήματα πόρων.

Τι είναι η προειδοποίηση παράλληλων λήψεων σε ονόματα κεντρικών υπολογιστών;

Η παράλληλη λήψη των προειδοποιήσεων για ονόματα κεντρικών υπολογιστών είναι ένας κανόνας που χρησιμοποιείται σε ορισμένους ελεγκτές απόδοσης ιστότοπου. Η προειδοποίηση υποδεικνύει ότι το πρόγραμμα περιήγησης ιστού δεν μπορούσε να ανοίξει τον αριθμό των συνδέσεων που απαιτούνται για την ταυτόχρονη λήψη όλων των πόρων του ιστότοπου.

Για ιστότοπους που χρησιμοποιούν το πρωτόκολλο HTTP / 1.1, ο τρόπος αντιμετώπισης αυτής της ανάγκης για πιο ανοιχτές συνδέσεις είναι να ελαχιστοποίηση αιτημάτων HTTP, δημιουργήστε ένα CDN ή εφαρμόστε διαχωρισμό τομέα.

Για ιστότοπους που χρησιμοποιούν το πρωτόκολλο HTTP / 2, πολλοί πόροι μπορούν να φορτώνονται παράλληλα μέσω μιας σύνδεσης. αυτό ονομάζεται πολυπλεξία. Η πολυπλεξία καθιστά περιττή την κατανομή τομέα με HTTP / 2. Περίπου το 77 τοις εκατό των προγραμμάτων περιήγησης ιστού υποστηρίζει HTTP / 2 και δεν πρέπει να αντιμετωπίζει κανένα πρόβλημα με την παράλληλη λήψη.

Εάν ο πάροχος φιλοξενίας ιστού σας υποστηρίζει HTTP / 2, είναι ασφαλές να αγνοήσετε την προειδοποίηση παράλληλων λήψεων μεταξύ προειδοποιήσεων ονομάτων κεντρικού υπολογιστή. Με το HTTP / 2, πολλαπλοί πόροι μπορούν να πραγματοποιήσουν παράλληλη λήψη σε μία σύνδεση.

Τι είναι το Domain Sharding;

Το domain sharding είναι μια μέθοδος βελτιστοποίησης απόδοσης για συνδέσεις HTTP / 1.1 και χρησιμοποιείται σε ιστότοπους με μεγάλο όγκο αιτημάτων HTTP. Στο sharding τομέα, τα στοιχεία περιεχομένου ιστού κατανέμονται σε διάφορους υποτομείς. Όταν τα στοιχεία διανέμονται με αυτόν τον τρόπο, αυξάνεται ο αριθμός των ταυτόχρονων αιτημάτων που μπορούν να υποβληθούν σε επεξεργασία.

Στο sharding τομέα, το περιεχόμενο μεταφορτώνεται σε υποτομείς χωρίς cookie. Οι χρήστες δεν αλληλεπιδρούν με στατικό περιεχόμενο, όπως εικόνες, JavaScript και αρχεία CSS, επομένως αυτό το περιεχόμενο δεν χρειάζεται να επισυνάπτεται σε cookie.

Όταν οι υποτομείς δεν παρέχουν cookie, το μέγεθος των αιτημάτων που υποβάλλονται για μια σελίδα και η καθυστέρηση αιτήματος μειώνεται και οι ιστοσελίδες φορτώνονται γρηγορότερα. Παραδείγματα περιεχομένου που ωφελείται από τη διατήρηση τομέα περιλαμβάνουν σελίδες με περιεχόμενο που σπάνια αποθηκεύεται στην κρυφή μνήμη, όπως σελίδα μικρογραφιών ή αρχείο εικόνας.

Στο Drupal, οι λειτουργικές μονάδες προσθέτουν αρχεία CSS και JavaScript που μπορούν να επιβραδύνουν την απόδοση. Παω σε Διαμόρφωση ιστότοπου > Εκτέλεση και βελτιστοποίηση CSS και JavaScript.

Για να επωφεληθείτε από τα οφέλη του sharding domain στις συνδέσεις HTTP / 1.1, ακολουθήστε αυτές τις συμβουλές:

  • Εξυπηρετήστε πόρους από τους ίδιους υποτομείς για την προσωρινή αποθήκευση αρχείων.
  • Κατανομή πόρων ομοιόμορφα μεταξύ υποτομέων.
  • Αγορά πιστοποιητικών SSL για τους υποτομείς.

Στις συνδέσεις HTTP / 2, η θραύση τομέα μειώνει την απόδοση επειδή υπάρχουν πρόσθετες αναζητήσεις DNS. Αυτές οι αναζητήσεις DNS αυξάνουν το χρόνο ανάλυσης και δεν αποθηκεύουν προσωρινά αρχεία. Το domain sharding προσθέτει επίσης χρόνο σε κάθε νέα σύνδεση. Αυτά είναι άλλα μειονεκτήματα του sharding domain σε συνδέσεις HTTP / 2:

  • Η διανομή πόρων που φορτώνουν από το CSS είναι δύσκολο να διανεμηθούν μεταξύ θραυσμένων κεντρικών υπολογιστών.
  • Υψηλότερο φορτίο στο διακομιστή από τον αυξημένο αριθμό ταυτόχρονων συνδέσεων.
  • Η μετακίνηση στατικού περιεχομένου σε έναν υποτομέα μπορεί να σπάσει τον κώδικα.
  • Το πρόγραμμα περιήγησης ιστού ενδέχεται να μην επιτρέπει την πρόσβαση σε διαφορετικό όνομα κεντρικού υπολογιστή.
  • Οι δρομολογητές ενδέχεται να μην είναι σε θέση να ταξινομήσουν μεγάλο αριθμό αιχμηρών αιτημάτων ή να δουν τα αιτήματα ως επίθεση άρνησης υπηρεσίας.

Τρόπος παράλληλης λήψης σε ονόματα κεντρικών υπολογιστών

Όταν λαμβάνετε την προειδοποίηση παράλληλων λήψεων σε ονόματα κεντρικών υπολογιστών, θα πρέπει να αυξήσετε τον παραλληλισμό λήψεων, διανέμοντας αιτήματα σε πολλά ονόματα κεντρικών υπολογιστών. Για τη διανομή αιτημάτων, δημιουργήστε υποτομείς για τους διαφορετικούς τύπους στοιχείων ιστού που χρησιμοποιούνται στον ιστότοπο και, στη συνέχεια, καθορίστε τον ριζικό τομέα ως τον μοναδικό τομέα που χρησιμοποιεί cookie. Οι υποτομείς δεν χρησιμοποιούν cookie.

Αυτοί οι υποτομείς προσθέτουν νέες πηγές συνδέσεων τις οποίες μπορεί να κάνει το πρόγραμμα περιήγησης και καθιστούν δυνατή τη λήψη περισσότερων πόρων ταυτόχρονα. Όταν οι πόροι κατανέμονται μεταξύ υποτομέων, το πρόγραμμα περιήγησης ιστού ξοδεύει λιγότερο χρόνο μπλοκάροντας το περιεχόμενο ιστού και οι ιστοσελίδες φορτώνονται γρηγορότερα.

Για ιστότοπους που χρησιμοποιούν HTTP / 2 και HTTP / 1.1, ο ευκολότερος τρόπος παράλληλης λήψης μεταξύ των ονομάτων κεντρικών υπολογιστών είναι η χρήση πολλαπλών υποτομέων μέσω ενός CDN. Για ιστότοπους που χρησιμοποιούν HTTP / 1.1 και WordPress, ρυθμίστε υποτομείς και επεξεργαστείτε το αρχείο WordPress functions.php.

Ρύθμιση υποτομέων

Για να διανείμετε πόρους σε υποτομείς, δημιουργήστε τουλάχιστον έναν και έως τέσσερις υποτομείς. συνιστάται ένας ή δύο υποτομείς. Ο πιο συνηθισμένος τρόπος για τη δημιουργία υποτομέων είναι να χρησιμοποιήσετε το cPanel, το οποίο προσφέρεται από τις περισσότερες υπηρεσίες φιλοξενίας ιστοσελίδων.

Παραδείγματα υποτομέων είναι:

  • media1.mydomain.com
  • media2.mydomain.com
  • media3.mydomain.com
  • media4.mydomain.com

Επίσης, οι υποτομείς και τα ονόματα κεντρικών υπολογιστών πρέπει να έχουν την ίδια δομή και διαδρομή. Για παράδειγμα, εάν η διαδρομή εικόνας στον κεντρικό υπολογιστή είναι www.mydomain.com/wp-content/uploads/, η διαδρομή εικόνας στους υποτομείς πρέπει να ταιριάζει, για παράδειγμα, media1.mydomain.com/wp-content/uploads/.

Ρυθμίστε ένα CDN για παράλληλη λήψη

Μετά τη ρύθμιση του CDN και τη δημιουργία των υποτομέων, τοποθετήστε κάθε υποτομέα στο φάκελο που περιέχει το στατικό περιεχόμενο. Με αυτόν τον τρόπο, το περιεχόμενο φορτώνεται μέσω του υποτομέα αντί για τον κύριο τομέα.

Για να υποδείξετε έναν υποτομέα, χρησιμοποιήστε έναν Επεξεργαστή ζώνης DNS στο cPanel για να δημιουργήσετε μια νέα εγγραφή CNAME για κάθε υποτομέα. Στο πεδίο Όνομα της εγγραφής, εισαγάγετε τον υποτομέα, για παράδειγμα, media.mydomain.com. Στο πεδίο CNAME, εισαγάγετε τον κύριο τομέα, για παράδειγμα, www.mydomain.com.

Μετά τη δημιουργία και τη διάδοση των εγγραφών CNAME από τον οικοδεσπότη ιστού σας, προσθέστε τις εγγραφές CNAME στις ρυθμίσεις ζώνης CDN.

Επεξεργαστείτε το αρχείο Config του ιστοτόπου στο WordPress για παράλληλη λήψη

Αφού ρυθμίσετε τους υποτομείς, προσθέστε αυτόν τον κώδικα στο αρχείο functions.php του θέματος WordPress που χρησιμοποιείται για τον ιστότοπό σας. Αντικαταστήστε το media1.mydomain.com και το media2.mydomain.com με τους πραγματικούς υποτομείς σας.

function parallelize_hostnames ($ url, $ id) {
$ hostname = par_get_hostname ($ url); // συμπληρωματική λειτουργία κλήσης
$ url = str_replace (parse_url (get_bloginfo ('url'), PHP_URL_HOST), $ hostname, $ url);
επιστροφή $ url;
}
function par_get_hostname ($ name) {
$ subdomains = array ('media1.mydomain.com', 'media2.mydomain.com'); // προσθέστε τους υποτομείς σας εδώ, όσα θέλετε.
$ host = abs (crc32 (basename ($ name))% count ($ subdomains));
$ hostname = $ subdomains [$ host];
επιστροφή $ hostname;
}
add_filter ('wp_get_attachment_url', 'parallelize_hostnames', 10, 2);

Εάν χρησιμοποιείτε το Jetpack με WordPress, ενεργοποιήστε την υπηρεσία Site Accelerator για να τοποθετήσετε τις εικόνες σας σε ένα CDN που διαχειρίζεται το WordPress.

instagram story viewer