Πώς να μειώσετε το φόρτο του διακομιστή χρησιμοποιώντας το admin-ajax στο WordPress. Πώς να επιταχύνετε το WordPress - απαλλαγείτε από το admin-ajax Προσαρμογή της συχνότητας των αιτημάτων στον διακομιστή

Γεια σε όλους. Συνεχίζουμε το θέμα της επιτάχυνσης ενός ιστότοπου WordPress. Στο άρθρο αφαιρέσαμε περιττά πράγματα από τα αρχεία, αλλά όχι όλα ακόμα. Γενικά, το καλό με το WordPress είναι ότι σου επιτρέπει να αλλάζεις τον κώδικα όπως θέλεις, ώστε να ταιριάζει σε διαφορετικές επιθυμίες.

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

Υπάρχει ένας τέτοιος μηχανισμός στον κινητήρα - Heartbeat API. Γιατί χρειάζεται; Τι είναι?

Το HeartBeat API είναι υπεύθυνο για

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

Καταλαβαίνετε, ελπίζω αυτή τη στιγμή να υπάρχει απλώς μια καταβρόχθιση πόρων, γιατί υπάρχουν συνεχή αιτήματα για φιλοξενία στο αρχείο admin-ajax.php. Και αν σας αρέσει να ανοίγετε πολλές καρτέλες του πίνακα διαχειριστή ταυτόχρονα, τότε αυτό είναι εντελώς κακό. Συγχωρέστε με για την ορολογία. Τα αιτήματα αποστέλλονται αυτόνομα για κάθε καρτέλα.

Ουσιαστικά Το HeartBeat API είναι ο μηχανισμός με τη μεγαλύτερη ένταση πόρων από όλους στη μηχανή WordPress.

Χρειάζεστε τέτοιο μηχανισμό; Φυσικά, ο καθένας αποφασίζει μόνος του. Δεν το χρειάζομαι.

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

Σύμφωνα με τις παρατηρήσεις μου, μετά την απενεργοποίηση του HeartBeat API, ο κατειλημμένος όγκος του ιστότοπού μου μειώθηκε σχεδόν 2,5 φορές! Σοβαρολογώ. Είναι κρίμα που δεν τράβηξα στιγμιότυπο οθόνης, αλλά δεν θέλω να επιστρέψω στην αρχική κατάσταση.

Πώς να επιταχύνετε έναν ιστότοπο WordPress απενεργοποιώντας το HeartBeat API

ΤΕΡΜΑΤΙΣΜΟΣ ΛΕΙΤΟΥΡΓΙΑΣ Heartbeat APIκώδικας

Όλα είναι πολύ απλά. Πρέπει να το προσθέσετε στην αρχή του αρχείου functions.php, αμέσως μετά την ετικέτα

Add_action("init", "stop_heartbeat", 1); συνάρτηση stop_heartbeat() ( wp_deregister_script("heartbeat"); )

Και θα είσαι ευτυχισμένος.

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

Πρόσθετο HeartBeat Control

Δεν αισθάνεστε άνετα με τους κωδικούς και φοβάστε να βλάψετε τον ιστότοπό σας; Υπάρχει μια τέτοια λύση για εσάς.

Εγκαταστήστε την προσθήκη HeartBeat Control (επιλέξτε πρόσθετα στην κονσόλα, εγκαταστήστε μια νέα, αναζητήστε την προσθήκη, εγκαταστήστε και ενεργοποιήστε).

Μεταβείτε στις ρυθμίσεις (στην κονσόλα Εργαλεία -> Έλεγχος παλμών καρδιάς). Στις ρυθμίσεις μπορείτε να επιλέξετε τις παρακάτω επιλογές:

1. Αν θέλετε να απενεργοποιήσετε ή όχι το HeartBeat για ολόκληρο τον ιστότοπο ή να το χρησιμοποιήσετε για ορισμένες ενότητες.

2. Μπορείτε και πρέπει να επεξεργαστείτε τη συχνότητα των αιτημάτων στο αρχείο admin-ajax.php. Κατά την εγκατάσταση, πιθανότατα υποδεικνύεται ως 15 δευτερόλεπτα. Εάν αλλάξετε, ας πούμε, σε 30 δευτερόλεπτα, τότε η κατανάλωση πόρων για αυτά τα αιτήματα θα μειωθεί κατά 25%! Και αν αυξήσεις το χρόνο ακόμα περισσότερο, τότε ακόμα περισσότερο. Εντυπωσιακό, σωστά;

Προσοχή!

  • Η απενεργοποίηση του HeartBeat API απενεργοποιεί τη δυνατότητα αυτόματης αποθήκευσης. Κατά καιρούς, αποθηκεύστε σελίδες και καταχωρήσεις κατά την επεξεργασία τους (όπως είναι απαραίτητο).
  • Η απενεργοποίηση του HeartBeat API πραγματοποιείται σε ένα συγκεκριμένο πρότυπο. Εάν αλλάξετε το πρότυπο, τότε όλα πρέπει να γίνουν ξανά.
  • Εάν έχετε ενημερώσει το τρέχον θέμα, τότε μετά την ενημέρωση, ο τερματισμός λειτουργίας πρέπει να επαναληφθεί.

Καλή τύχη σε όλους!

2016-05-05T09:48:44+00:00 Ελπίδα WordPress πώς να επιταχύνετε το wordpress

Γεια σε όλους. Συνεχίζουμε το θέμα της επιτάχυνσης ενός ιστότοπου WordPress. Στο άρθρο Πώς να επιταχύνετε το WordPress ελαχιστοποιώντας τα CSS, HTML και Javascript, αφαιρέσαμε τα περιττά πράγματα από τα αρχεία, αλλά όχι όλα. Γενικά, το καλό με το WordPress είναι ότι σου επιτρέπει να αλλάζεις τον κώδικα όπως θέλεις, ώστε να ταιριάζει σε διαφορετικές επιθυμίες. Όταν αγοράζετε φιλοξενία, τότε, φυσικά, λαμβάνετε υπόψη...

Nadezhda Trofimova [email προστατευμένο]Ιστοσελίδα ιστολογίου διαχειριστή

Μπορεί επίσης να σας ενδιαφέρει:

Πώς να φτιάξετε ένα Favicon για έναν ιστότοπο

Το favicon είναι ένα όμορφο εικονίδιο που όλοι βλέπουν δίπλα στο όνομα του ιστότοπου στο πρόγραμμα περιήγησης. Το Favicon επιτρέπει στον ιστότοπό σας να ξεχωρίζει τόσο στους σελιδοδείκτες του προγράμματος περιήγησης όσο και στους...

Όμορφα κουμπιά για τον ιστότοπο

Καλημέρα σε όλους. Ξαφνικά υπάρχουν άνθρωποι που θέλουν να τοποθετήσουν όμορφα κουμπιά στον ιστότοπό τους, αλλά δεν μπορούν να τα βρουν. Στην πραγματικότητα, προσπάθησα σε μηχανές αναζήτησης...

Παράδειγμα 404 σελίδες

Γεια σου, αγαπητέ αναγνώστη του ιστολογίου μου. Αυτό το άρθρο δεν αφορά απολύτως τίποτα, μόλις επιτέλους έφτασα στη σελίδα 404.

Πώς και πού γράφονται οι ετικέτες Τίτλος και Περιγραφή

Τι είναι οι ετικέτες τίτλου και περιγραφής; Αυτές οι ετικέτες είναι απαραίτητες για τη βελτιστοποίηση του ιστότοπού σας. Εάν οι ετικέτες είναι γραμμένες εσφαλμένα, οι μηχανές αναζήτησης δεν θα δημιουργήσουν ευρετήριο του άρθρου σας. Πολλά απο...

Για καλύτερο SEO και εμπειρία χρήστη, οι ειδικοί προτείνουν πάντα για τον τελικό χρήστη. Σε αυτό το πλαίσιο, εάν έχετε πολλούς χρήστες που επισκέπτονται τον ιστότοπό σας, ο πίνακας ελέγχου του WordPress μπορεί να αργήσει να ανταποκριθεί.

Κατά τη δοκιμή της ταχύτητας του ιστότοπού σας WordPress χρησιμοποιώντας διαδικτυακά εργαλεία δοκιμής ταχύτητας, μπορεί να έχετε παρατηρήσει ότι το αρχείο admin-ajax.phpυπεύθυνος για την εμπειρία αργής φόρτωσης. Σε αυτό το άρθρο θα εξηγήσουμε σχετικά με αυτό το αρχείο και πώς μπορείτε να μειώσετε τον χρόνο απόκρισης διακομιστή και τη χρήση της CPU μειώνοντας τον αριθμό των αιτημάτων που δημιουργούνται από το admin-ajax.php.

Τι είναι το admin-ajax.php στο WordPress;

Το 2013, το WordPress παρουσίασε το WordPress Heartbeat API, το οποίο παρείχε πολλές σημαντικές δυνατότητες, όπως μια δυνατότητα αυτόματης αποθήκευσης όταν λήξει η σύνδεση και μια προειδοποίηση απαγόρευσης ενώ ένας άλλος χρήστης γράφει ή επεξεργάζεται μια ανάρτηση στο WordPress.

Δύο πολύ διακριτικά χαρακτηριστικά του Heartbeat API:

1. Αυτόματη αποθήκευση

Κάθε φορά που αποθηκεύετε ένα πρόχειρο ανάρτησης και συνεχίζετε να εργάζεστε σε αυτό, το WordPress αποθηκεύει αυτόματα τις προσθήκες της ανάρτησής σας. Υπάρχει σαφής διαφορά μεταξύ της αυτόματης αποθήκευσης και της μη αυτόματης αποθήκευσης ενός έργου. Δείτε το ακόλουθο στιγμιότυπο οθόνης που δείχνει και τους δύο τύπους αποθήκευσης:

2. Αποκλεισμός μηνύματος

Κάθε φορά που προσπαθείτε να επεξεργαστείτε μια ανάρτηση στην οποία εργάζεται άλλος χρήστης, θα εμφανιστεί μια προειδοποίηση σχετικά με την κατάσταση. Υπάρχουν τρεις διαθέσιμες ενέργειες.

Οι παραπάνω δυνατότητες γίνονται δυνατές από το WordPress Heartbeat API, το οποίο δημιουργεί μια σύνδεση μεταξύ του διακομιστή και του προγράμματος περιήγησης για το αντίστοιχο μήνυμα και τις απαντήσεις.

Το WordPress Heartbeat API δημιουργεί αιτήματα για επικοινωνία με τον διακομιστή και ενεργοποιεί συμβάντα για λήψη/απάντηση δεδομένων. Αυτό γενικά αυξάνει το φόρτο του διακομιστή και τελικά επιβραδύνει τον πίνακα διαχείρισης του WordPress.

Ζωντανό παράδειγμα

Συνδεθήκαμε στον πίνακα ελέγχου του WordPress και ξεκινήσαμε την επεξεργασία της ανάρτησης. Στη συνέχεια, αφήσαμε την καρτέλα ανοιχτή για λίγα λεπτά και ξεκινήσαμε την περιήγηση σε άλλες καρτέλες. Ο πίνακας οργάνων είναι ακόμα στο σύστημα και μπορείτε να το δείτε αυτό admin-ajaxστέλνει συνεχώς αιτήματα.

Σύμφωνα με το δελτίο που αναφέρθηκε παραπάνω, το admin-ajax.php στο WordPress δημιουργεί αιτήματα κάθε 15 δευτερόλεπτα. Το αίτημα μπορεί να είναι οποιαδήποτε σύνδεση με τον διακομιστή.

Επιταχύνετε τον πίνακα διαχείρισης του WordPress

Για να επιταχύνετε το backend του WordPress, η καλύτερη προσέγγιση είναι να απενεργοποιήσετε το Heartbeat API ή τουλάχιστον να το ρυθμίσετε σε μεγαλύτερη χρονική περίοδο, ώστε να μην δημιουργεί αιτήματα στον διακομιστή κάθε λίγα δευτερόλεπτα.

Εγκαταστήστε την προσθήκη Heartbeat Control

Συνδεθείτε στον διαχειριστή του WordPress και μεταβείτε στο Πρόσθετα >> Προσθήκη νέου, εύρημα Έλεγχος καρδιακών παλμών, εγκαθιστώΚαι δραστηριοποιώτου.

Μεταβείτε στην καρτέλα Ρυθμίσεις >> Έλεγχος ρυθμίσεων καρδιακού παλμού. Εκεί θα βρείτε τρία αναπτυσσόμενα μενού για να διαμορφώσετε την προσθήκη.

Μπορείτε να επιλέξετε την περιοχή όπου θα λειτουργεί το Heartbeat API. Υπάρχουν τρεις επιλογές για να διαλέξετε:

  • Πίνακας ελέγχου WordPress: Αυτό θα ενεργοποιήσει το Heartbeat API στον πίνακα του WordPress.
  • Frontend: Αυτό θα ενεργοποιήσει το API στη διεπαφή ιστού.
  • Επεξεργαστής μηνυμάτων: Επιλέξτε αυτό το πλαίσιο εάν θέλετε να επιτρέψετε στο Heartbeat API να ενεργοποιεί τις λειτουργίες αυτόματης αποθήκευσης και αποκλεισμού αλληλογραφίας.

Επιλέξτε αυτήν την επιλογή εάν θέλετε το WordPress Heartbeat API να είναι απενεργοποιημένο σε συγκεκριμένες τοποθεσίες. Να είστε προσεκτικοί όταν επιλέγετε μια τοποθεσία γιατί και άλλες προσθήκες ενδέχεται να χρησιμοποιούν το WordPress Heartbeat API. Εάν είστε ο μόνος χρήστης του backend του WordPress, θα πρότεινα να το απενεργοποιήσετε παντού και στη συνέχεια να ελέγξετε για να δείτε αν χαλάει τον ιστότοπο. Ωστόσο, εάν ο ιστότοπός σας έχει περισσότερους από έναν χρήστες που συνεισφέρουν τακτικά, θα προτείναμε να ενεργοποιήσετε το Heartbeat API μόνο σε σελίδες επεξεργασίας αναρτήσεων.


Αυτό το αναπτυσσόμενο μενού σάς επιτρέπει να ορίσετε το χρονικό διάστημα, που κυμαίνεται από 0 έως 300 δευτερόλεπτα, για την εκτέλεση των αιτημάτων του διαχειριστή Ajax. Αν το εγκαταστήσετε σε 120 δευτερόλεπτα, τότε το αίτημα θα δημιουργείται κάθε 120 δευτερόλεπτα. Αυτό θα μειώσει σημαντικά το φόρτο στον διακομιστή. Προσαρμόστε το για να ταιριάζει στις ανάγκες σας.

Δημιουργία πολλαπλών κανόνων

Μπορείτε να δημιουργήσετε πολλούς κανόνες με βάση τις απαιτήσεις σας. Για παράδειγμα, θέλετε το WordPress να ενεργοποιείται κάθε 120 δευτερόλεπτα, αλλά μετά από επεξεργασία για 60 δευτερόλεπτα. Για να το κάνετε αυτό, πρέπει να δημιουργήσετε δύο κανόνες. Ένα για τον πίνακα ελέγχου του WordPress και ένα άλλο για το πρόγραμμα επεξεργασίας αναρτήσεων και ορίστε τη συχνότητά τους σε 120 και 60 αντίστοιχα.

Τώρα που έχετε ρυθμίσει τα πάντα, ήρθε η ώρα να ελέγξετε ποιες προσθήκες επιβραδύνουν τον ιστότοπό σας χρησιμοποιώντας το αρχείο admin-ajax.php.

Μεταβείτε στο GTmetrix, εισαγάγετε τη διεύθυνση URL του ιστότοπού σας. Θα χρειαστούν μερικά λεπτά για να αναλυθεί ο ιστότοπος. Μετά από αυτό, μεταβείτε στην καρτέλα Waterfall και θα δείτε πόσο χρόνο χρειάζεται το αρχείο για συνδέσεις και απόκριση. Κάντε κύλιση προς τα κάτω και δείτε αν υπάρχει καταχώρηση POST admin-ajax.php. Εάν ναι, αναπτύξτε το και μεταβείτε στην καρτέλα Δημοσίευση. Εδώ μπορείτε να εντοπίσετε τον ένοχο. Στην περίπτωσή μας, το πρόσθετο “desktop switch” χρησιμοποιεί το αρχείο admin-ajax.php και στέλνει συνεχώς αιτήματα στον διακομιστή. Αυτή είναι η στιγμή για να αποφασίσετε είτε να το αντικαταστήσετε με άλλο πρόσθετο είτε να το αφαιρέσετε.

Τελικές λέξεις

Δεδομένου του συνόλου δυνατοτήτων του, το Heartbeat API είναι πολύ χρήσιμο στον ιστότοπό σας στο WordPress. Ωστόσο, εάν δεν χρησιμοποιηθεί σωστά, μπορεί να αυξήσει τον χρόνο φόρτωσης στο backend του WordPress και στον ίδιο τον ιστότοπο, στέλνοντας αιτήματα εμπρός και πίσω στο WordPress.

Υπάρχουν μόνο δύο λύσεις σε αυτό το πρόβλημα. Ή απενεργοποιήστε το Heartbeat API/ενεργοποιήστε το μόνο σε λίγα σημεία.

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

Εάν έχετε οποιεσδήποτε προτάσεις ή αιτήματα, μην διστάσετε να αφήσετε ένα σχόλιο παρακάτω.

Ένα συνηθισμένο σενάριο κατά την εργασία με WordPress είναι η διάγνωση αυξημένης χρήσης του admin-ajax.php. Εάν εργάζεστε με το WordPress για λίγο, πιθανότατα έχετε αντιμετωπίσει αυτό το ζήτημα κατά την εκτέλεση δοκιμών ταχύτητας τρίτων ή τον έλεγχο των αρχείων καταγραφής πρόσβασης διακομιστή. Συνήθως, η αυξημένη χρήση του admin-ajax.php σχετίζεται με τη χρήση προσθηκών τρίτων ή με συχνές αιτήσεις που δεν μπορούν να αποθηκευτούν στην προσωρινή μνήμη από τον πίνακα διαχείρισης που βασίζονται στο Heartbeat API (για παράδειγμα, αυτόματη αποθήκευση πρόχειρων). Είναι πολύ σημαντικό να εντοπίσετε αμέσως τέτοιες υψηλές αιχμές σε επισκέψεις στο admin-ajax.php, καθώς μπορεί να οδηγήσουν στο να μην είναι διαθέσιμος ο ιστότοπος. Δείτε τις παρακάτω προτάσεις για την αντιμετώπιση προβλημάτων admin-ajax.php στο WordPress.

Τι είναι το αρχείο admin-ajax.php;

Το ίδιο το αρχείο admin-ajax.php δεν είναι κακό αν χρησιμοποιείται σωστά. Λειτουργεί ως μέρος του πυρήνα. Το αρχείο προστέθηκε από την ομάδα ανάπτυξης του WordPress στην έκδοση 3.6. Ο σκοπός του admin-ajax.php είναι να δημιουργήσει μια σύνδεση μεταξύ του προγράμματος περιήγησης και του διακομιστή χρησιμοποιώντας AJAX. Αυτό επιτρέπει προηγμένες λειτουργίες, όπως βελτιωμένη αυτόματη αποθήκευση, παρακολούθηση έκδοσης, χρονικά όρια σύνδεσης, διαχείριση περιόδου σύνδεσης και ειδοποιήσεις κλειδώματος ανάρτησης όταν πολλοί συντάκτες επεξεργάζονται μια ανάρτηση. Όλες αυτές οι δυνατότητες είναι εξαιρετικές, ειδικά για τους χρήστες που υποστηρίζουν ιστότοπους με πολλούς συγγραφείς και διαχειριστές.

«Η ιδέα είναι να εφαρμοστεί ένα σχετικά απλό API που θα στέλνει αιτήματα XHR στον διακομιστή κάθε 15 δευτερόλεπτα και θα ενεργοποιεί συμβάντα (ή επανακλήσεις) όταν λαμβάνονται δεδομένα. Άλλα στοιχεία θα μπορούν επίσης να «συνδέονται» ή να λαμβάνουν ειδοποιήσεις σχετικά με τη δραστηριότητα άλλων χρηστών. Αυτό μπορεί να χρησιμοποιηθεί για τον αποκλεισμό της ταυτόχρονης επεξεργασίας γραφικών στοιχείων ή μενού ή άλλων εργασιών που απαιτούν τακτικές ενημερώσεις από τον διακομιστή."

Εκτός αν είστε τεχνικά έμπειρος χρήστης, η μόνη κατάσταση που θα είναι σημαντική για εσάς στο πλαίσιο του admin-ajax.php είναι να προσπαθήσετε να καταλάβετε γιατί αυτό το αρχείο επιβραδύνεται σε δοκιμές (για παράδειγμα, στο Pingdom). Ή μπορεί να δείτε μια δέσμη αιτημάτων για αυτό το αρχείο στα αρχεία καταγραφής πρόσβασης φιλοξενίας.

Η εμφάνιση του admin-ajax.php στις δοκιμές ταχύτητας και τα αρχεία καταγραφής πρόσβασης είναι συνήθως το αποτέλεσμα δύο διαφορετικών σεναρίων: ένα στο frontend και ένα στο backend. Θα μιλήσουμε για αυτό αργότερα.

Τα πρόσθετα μπορεί να προκαλέσουν επιβράδυνση του admin-ajax.php

Το πιο δημοφιλές πρόβλημα που αντιμετωπίζουν οι χρήστες στο πλαίσιο του admin-ajax.php προκαλείται από προσθήκες τρίτων. Αυτό είναι συνήθως ορατό στο μπροστινό μέρος και φαίνεται στις δοκιμές ταχύτητας. Οι προγραμματιστές χρησιμοποιούν αυτό το αρχείο ή το AJAX για να προσθέσουν λειτουργικότητα στις προσθήκες τους. Ακριβώς επειδή βλέπετε ένα αίτημα στο admin-ajax.php δεν σημαίνει ότι θα επιβραδύνει απαραίτητα τον ιστότοπο. Το AJAX φορτώνεται μετά την παρουσίαση της σελίδας και ορισμένα αιτήματα ενδέχεται να φορτώνονται ασύγχρονα. Αυτό όμως δεν σημαίνει πάντα ότι ο προγραμματιστής εκτέλεσε σωστά τη λήψη και έγραψε αποτελεσματικό κώδικα όσον αφορά την απόδοση.

Ακολουθούν παραδείγματα για το πώς διαγνώσαμε γρήγορα επιβραδύνσεις στο admin-ajax.php. Χρησιμοποιήσαμε το GTmetrix επειδή μας επιτρέπει να εξετάζουμε μεμονωμένα δεδομένα αναρτήσεων και απαντήσεων. Το Pingdom, δυστυχώς, δεν μας επιτρέπει να βλέπουμε αιτήματα δεδομένων σε φόρμες. Μπορείτε επίσης να χρησιμοποιήσετε το Google Chrome Devtools ή το WebPageTest.

Υψηλό φορτίο στο admin-ajax.php κατά τη χρήση της προσθήκης Visual Composer

Παρακάτω είναι ο ιστότοπός μας στο WordPress όπου αντιμετωπίζαμε πολύ υψηλές καθυστερήσεις κατά τη χρήση του admin-ajax.php. Όπως μπορείτε να δείτε από το GTmetrix, η καθυστέρηση των αιτημάτων στο admin-ajax.php είναι πάνω από 8 δευτερόλεπτα. Ο υπόλοιπος «καταρράκτης» φαίνεται εντάξει, αλλά αυτή η καθυστέρηση πρέπει να αντιμετωπιστεί από τους ιδιοκτήτες του ιστότοπου.

Εάν κάνετε κλικ στο αίτημα POST admin-ajax.php, θα δείτε τις ακόλουθες τρεις καρτέλες: Κεφαλίδες, Δημοσίευση και Απάντηση. Κατά τη διάγνωση των προβλημάτων που εξετάζουμε, θα μας ενδιαφέρουν μόνο οι καρτέλες Δημοσίευση και Απάντηση. Μπορείτε να δείτε συμβουλές στην καρτέλα Απάντηση. Βλέπουμε ότι μέρος του αιτήματος σχετίζεται με το σενάριο vc_shortcodes-custom-css.

Μια γρήγορη αντιγραφή και επικόλληση στο Google αποκαλύπτει ότι το πρόβλημα προκαλείται από την προσθήκη Visual Composer.

Το επόμενο βήμα για τον χρήστη είναι να διασφαλίσει ότι το πρόσθετο Visual Composer είναι πλήρως ενημερωμένο. Εάν ναι, τότε πρέπει να επικοινωνήσετε με τους προγραμματιστές των προσθηκών και να τους ενημερώσετε για το πρόβλημα με το admin-ajax.php. Αυτό είναι στην πραγματικότητα ένα αρκετά κοινό πρόβλημα, αν κρίνουμε από τις δημοσιεύσεις στο Stack Overflow. Εάν ένας προγραμματιστής δεν μπορεί να το λύσει στο πρόσθετό του, υπάρχουν πάντα αρκετές εναλλακτικές προσθήκες που κάνουν περίπου το ίδιο πράγμα - αυτή είναι η δύναμη του WP. Για παράδειγμα, εάν χρειάζεστε προγράμματα δημιουργίας σελίδων, μπορείτε να δοκιμάσετε το Beaver Builder ή το Elementor.

Υψηλή καθυστέρηση με το admin-ajax.php λόγω της προσθήκης της γραμμής ειδοποιήσεων

Το δεύτερο παράδειγμα που συναντήσαμε οι ίδιοι προέκυψε μετά την εγκατάσταση μιας προσθήκης τρίτου κατασκευαστή. Παρατηρήσαμε μια απότομη αύξηση των αιτημάτων στο admin-ajax.php.

Και πάλι, αν κάνετε κλικ στο αίτημα POST admin-ajax.php, τότε μπορείτε να εξερευνήσετε τα πάντα λεπτομερώς. Βλέπουμε ότι τα δεδομένα περιέχουν τη συμβολοσειρά "action=mtsnb_add_impression&bar_id=88&ab_variation=none".

Σωστά, το πρώτο μέρος της ενέργειας ανάρτησης αναφέρεται συνήθως στην κλάση CSS της προσθήκης. Κάνουμε μια γρήγορη αναζήτηση στο Google για το "mtsnb" και διαπιστώνουμε ότι αυτή η κλάση χρησιμοποιείται στην προσθήκη της Γραμμής ειδοποιήσεων που εκτελούμε στον ιστότοπό μας.

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

Η παλιομοδίτικη μέθοδος προσδιορισμού της πηγής των αιτημάτων admin-ajax.php

Παραπάνω έχουμε δώσει αρκετούς απλούς τρόπους για να βρείτε μια προσθήκη σε έναν ιστότοπο WordPress που μπορεί να οδηγήσει σε αυτό το πρόβλημα με το admin-ajax.php. Σύμφωνα με την εμπειρία μας, αυτές οι μέθοδοι λειτουργούν στο 99% των περιπτώσεων. Ωστόσο, συμβαίνει επίσης τα δεδομένα ή οι ενέργειες POST να μην είναι τόσο ξεκάθαρα και επομένως θα πρέπει να ακολουθήσετε τον παλιό αποδεδειγμένο τρόπο. Απλώς απενεργοποιήστε όλα τα πρόσθετα στον ιστότοπό σας στο WordPress. Εκτελέστε μια δοκιμή ταχύτητας. Εάν το admin-ajax.php δεν βρεθεί πουθενά, ενεργοποιήστε κάθε πρόσθετο με τη σειρά του και πραγματοποιήστε μια δοκιμή ταχύτητας. Με αυτόν τον τρόπο μπορείτε να αναγνωρίσετε γρήγορα το προβληματικό πρόσθετο.

Προβλήματα CPU με το admin-ajax.php στο backend

Το δεύτερο σημαντικό ζήτημα είναι ότι το WordPress Heartbeat API χρησιμοποιεί το admin-ajax.php για να ενεργοποιήσει κλήσεις AJAX από το πρόγραμμα περιήγησης ιστού, το οποίο μπορεί να οδηγήσει σε υψηλή χρήση της CPU. Κάθε αίτημα AJAX φορτώνει επίσης το πλήρες backend του WordPress, παρακάμπτοντας όλες τις μορφές προσωρινής αποθήκευσης. Συνήθως, αυτό δεν θα το δείτε σε δοκιμές ταχύτητας. Αυτό είναι ιδιαίτερα σημαντικό να το γνωρίζουν όσοι χρησιμοποιούν φθηνή κοινόχρηστη φιλοξενία, καθώς δεν έχουν πολύ χώρο κουνάματος όταν πρόκειται για CPU. Αυτό το πρόβλημα έχει εμφανιστεί με τη φιλοξενία HostGator στο παρελθόν.

Ένα από τα σενάρια που πρέπει να είστε πολύ προσεκτικοί είναι η αυτόματη αποθήκευση στο WordPress και οι ανοιχτές καρτέλες. Για παράδειγμα, ξεκινήσαμε ένα νέο έργο στον ιστότοπό μας και αφήσαμε ανοιχτή την καρτέλα. Το Heartbeat API από προεπιλογή δημοσκοπεί το αρχείο admin-ajax.php κάθε 15 δευτερόλεπτα για αυτόματη αποθήκευση. Αυτό φαίνεται στα αρχεία καταγραφής πρόσβασης. Αν αφούσαμε την καρτέλα ανοιχτή για μια μέρα, μια ανάρτηση θα μπορούσε να δημιουργήσει 5.760 αιτήματα την ημέρα.

Είναι πάρα πολλά αιτήματα υποστήριξης για ένα άτομο. Φανταστείτε τι θα συνέβαινε αν είχατε πολλούς συντάκτες στον ιστότοπό σας. Αυτά τα αιτήματα θα αυξηθούν εκθετικά. Αυτό το συναντήσαμε κατά τη διάρκεια της έρευνάς μας με τα DARTDrones, στην οποία βοηθήσαμε να επεκτείνουν τον ιστότοπό τους στο WooCommerce για το Shark Tank. Είχαν πάνω από 4100 κλήσεις στο admin-ajax.php την ημέρα, ενώ υπήρχαν μόνο 2000 επισκέπτες. Αυτή δεν είναι η καλύτερη αναλογία αιτημάτων προς επισκέψεις. Η έρευνά μας έδειξε ότι η πλειονότητα των αιτημάτων προέρχονταν από την κονσόλα - δημιουργήθηκαν λόγω του γεγονότος ότι οι διαχειριστές ενημέρωναν τον ιστότοπο, προετοιμάζοντάς τον για εμφάνιση.

Υπάρχει ένας τρόπος να εντοπίσετε ορισμένα προβλήματα με τις κλήσεις στο admin-ajax.php στο backend όταν πρόκειται για αυτόματη αποθήκευση, αναθεωρήσεις, κλείδωμα εγγραφών κ.λπ. Για να το κάνετε αυτό, πρέπει να εγκαταστήσετε το πρόσθετο Heartbeat Control.

Το πρόσθετο Heartbeat Control είναι επί του παρόντος εγκατεστημένο σε πάνω από 50.000 ιστότοπους και έχει βαθμολογία 5 στα 5. Έχουν περάσει 2 χρόνια από τότε που ενημερώθηκε, αλλά εξακολουθεί να λειτουργεί το ίδιο, καθώς δεν έχει ενημερωθεί ούτε το Heartbeat API.

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

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

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

συμπέρασμα

Όπως μπορείτε να δείτε, υπάρχουν πολλές γρήγορες και εύκολες επιλογές για τη διάγνωση και τη διόρθωση προβλημάτων με το admin-ajax.php. Συνήθως, εμφανίζονται λόγω προσθηκών τρίτων που ενδέχεται να έρχονται σε διένεξη μεταξύ τους ή να έχουν κακή βάση κώδικα.

Έχετε αντιμετωπίσει αυτό το πρόβλημα στον ιστότοπό σας; Αν ναι, μοιραστείτε τις ιστορίες σας.

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

Σήμερα θα επεκτείνουμε λίγο το δεύτερο θέμα και θα απενεργοποιήσουμε έναν πολύ πόρους και δεν χρειάζονται όλοι μηχανισμός WordPress που ονομάζεται Heartbeat API.

Heartbeat API— Λειτουργικότητα WordPress που παρέχει πράγματα όπως:

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

Αυτό το κάνει διατηρώντας μια σύνδεση μεταξύ του προγράμματος περιήγησής σας (όπου επεξεργάζεστε τον ιστότοπο) και του διακομιστή (στον οποίο είναι αποθηκευμένος ο ιστότοπος).

Στην πραγματικότητα, αυτό εκφράζεται σε συνεχή αιτήματα με ένα διάστημα 15-30 δευτερολέπτων (ανάλογα με την εγκατεστημένη έκδοση) σε ένα συγκεκριμένο αρχείο admin-ajax.php από σχεδόν οποιαδήποτε σελίδα του πίνακα διαχείρισης. Η κατάσταση χειροτερεύει αν προτιμάτε να διατηρείτε ανοιχτές πολλές καρτέλες κονσόλας ταυτόχρονα: τα αιτήματα αποστέλλονται αυτόνομα από κάθε καρτέλα. Στην πραγματικότητα, Το HeartBeat API είναι το πιο εντατικό σε πόρους από όλους τους τυπικούς μηχανισμούς του WordPress.

Θα απενεργοποιήσουμε αυτήν τη λειτουργία σήμερα. Συνιστάται να απενεργοποιήσετε το HeartBeat API για τον ιστότοπό σας WordPress εάν:

  • Γενικά, οι ιστότοποί σας διαθέτουν αρκετούς πόρους στον λογαριασμό σας, σημαντικούς υπερβάσεις συμβαίνουν μόνο κατά την εργασία στην κονσόλα;
  • Η επεξεργασία του ιστότοπου γίνεται μόνο από εσάς προσωπικά(δηλαδή ο ιστότοπος έχει 1 επεξεργαστή, όχι πολλούς).

Προσοχή!Αυτή η λύση δεν είναι κατάλληλη για όλους τους ιστότοπους. Αυτό εξαρτάται από το θέμα που είναι εγκατεστημένο στον ιστότοπο, τις προσθήκες και τις μεμονωμένες ρυθμίσεις ιστότοπου. Μπορείτε να το δοκιμάσετε και εάν αποδειχθεί ότι δεν είναι συμβατό με οποιοδήποτε στοιχείο του ιστότοπου ή επηρεάζει μια λειτουργία τοποθεσίας που είναι σημαντική για εσάς, μπορείτε πάντα να ενεργοποιήσετε το HeartBeat API επιστρέφοντας τις προηγούμενες ρυθμίσεις.

Πώς να απενεργοποιήσετε το HeartBeat API

Για να γίνει αυτό πρέπει να κάνετε αλλαγές στο αρχείο λειτουργίες.phpμέσα στο φάκελο με το τρέχον ενεργό θέμα (πρότυπο) του ιστότοπου. Αυτό μπορεί να γίνει σε διαχειριστή αρχείων ή μέσω FTP.

Η διαδρομή προς το αρχείο functions.php μοιάζει με αυτό: /path_to_site_root/wp-content/themes/theme_name/functions.php.

Προσθήκη στην αρχή του αρχείου μετά την ετικέτα

Add_action("init", "stop_heartbeat", 1); συνάρτηση stop_heartbeat() ( wp_deregister_script("heartbeat"); )

Αυτές οι γραμμές απενεργοποιούν το Heartbeat για ολόκληρο τον ιστότοπο.

Πρόσθετο HeartBeat Control

Υπάρχει επίσης μια λιγότερο ριζική λύση από την πλήρη απενεργοποίηση του HeartBeat API. Παρέχεται από ειδικό πρόσθετο Έλεγχος παλμών καρδιάς. Εγκαταστήστε το, ενεργοποιήστε το και μεταβείτε στις ρυθμίσεις (Εργαλεία -> Έλεγχος παλμών καρδιάς). Στις ρυθμίσεις μπορείτε να επιλέξετε τις παρακάτω επιλογές:

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

2. Συχνότητα αιτημάτων στο αρχείο admin-ajax.php. Από προεπιλογή μπορεί να είναι 15 δευτερόλεπτα - αλλάξτε αυτήν την τιμή, για παράδειγμα, σε 60 δευτερόλεπτα και ως εκ τούτου Μειώστε την κατανάλωση πόρων για αυτά τα ερωτήματα έως και 75%!

Τι είναι σημαντικό να θυμάστε

  • Απενεργοποιώντας το HeartBeat API, απενεργοποιήσαμε τη δυνατότητα αυτόματης αποθήκευσης. Αποθηκεύστε τις επεξεργασμένες σελίδες και τις αναρτήσεις περιοδικά (όπως απαιτείται).
  • Εφόσον το HeartBeat API είναι απενεργοποιημένο στο επίπεδο θέματος (πρότυπο) του ιστότοπου, μόλις αλλάξετε το θέμα (πρότυπο), το HeartBeat API θα λειτουργήσει ξανά. Η διαδικασία απενεργοποίησης θα πρέπει να επαναλαμβάνεται για κάθε νέο θέμα που ξεκινάτε να χρησιμοποιείτε στον ιστότοπο.
  • Το ίδιο ισχύει και για την ενημέρωση του τρέχοντος θέματος: μετά την ενημέρωση, η διαδικασία τερματισμού λειτουργίας πρέπει να επαναληφθεί.

Σας ευχόμαστε καλή δουλειά!

Αναγκάστηκα να δημιουργήσω αυτήν την ανάρτηση από ένα πρόβλημα που άρχισε να χτυπά τον ιστότοπό μου όλο και πιο επίμονα. Το πρόβλημα είναι το άνοιγμα των σελίδων του ιστότοπου και η εργασία στον πίνακα διαχείρισης. Έγιναν τόσο δυνατοί και συχνοί που δυσκολεύτηκε να συνθέσει έστω και ένα μικρό μήνυμα. Η σύνδεση με τον διακομιστή συνέχιζε να πέφτει. Υψηλό φορτίο στη CPU, που σημαίνει υπέρβαση του λεγόμενου ορίου soft, εμφανιζόταν συνεχώς. Άρχισα να λαμβάνω μηνύματα ηλεκτρονικού ταχυδρομείου πολύ συχνά από το Metrica και το πρόσθετο Jetpack, δηλώνοντας ότι ο ιστότοπος ήταν συχνά μη διαθέσιμος, ακόμη και σε μια εποχή που δεν το δούλευα. Εν ολίγοις, ένας τρομερός τρόμος με ξαναπήρε με το πρόβλημα της ταχύτητας του ιστότοπου. Και επικοινώνησα ξανά με την υπηρεσία υποστήριξης στη φιλοξενία μου "Gino"

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

Η υποστήριξη φιλοξενίας πρώτα απ 'όλα επέστησε την προσοχή μου στον μεγάλο αριθμό αιτημάτων προς /wp-admin/admin-ajax.php.«Τα αιτήματα δημιουργούν ενέργειες στον πίνακα διαχείρισης του ιστότοπου. Αυτή η συμπεριφορά είναι τυπική εάν ένα από τα πρόσθετα δεν λειτουργεί σωστά. Απενεργοποιήστε ένα προς ένα τα πρόσθετα ιστότοπου και παρακολουθήστε τη λειτουργία του. Εάν βρείτε ένα προβληματικό πρόσθετο, δοκιμάστε να το ενημερώσετε ή να εγκαταστήσετε μια σταθερή έκδοση ή αντικαταστήστε το με ένα ανάλογο που δεν προκαλεί προβλήματα."

Υπάρχουν πολλά πρόσθετα εγκατεστημένα στον ιστότοπό μου και ο έλεγχος του καθενός ξεχωριστά είναι πολύ προβληματικός. Επομένως, έδωσα προσοχή στον σύνδεσμο που μου άφησε η τεχνική υποστήριξη για το πρόσθετο Έλεγχος καρδιακών παλμών. Η εγκατάστασή του και κάποιες άλλες ρυθμίσεις μου έλυσαν το πρόβλημα!

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

Λοιπόν, ας περάσουμε τώρα στην ουσία των παραπάνω.

Τι είναι το Heartbeat API στο WordPress και πώς να το περιορίσετε

Η λέξη "Heartbeat" μεταφράζεται ως "Heartbeat" και ονομάζεται έτσι για το API για κάποιο λόγο. Παρέχει μια συγκεκριμένη συχνότητα αιτημάτων στον διακομιστή. Από προεπιλογή και ανάλογα με τη σελίδα του πίνακα διαχειριστή, αυτό συμβαίνει σε διαφορετικά διαστήματα: κατά την επεξεργασία εγγραφών - κάθε 15 δευτερόλεπτα, όταν εργάζεστε στην Κονσόλα - ένα λεπτό. Το WordPress Heartbeat API είναι μια δυνατότητα που παρέχει:

  • Αυτόματη αποθήκευση κατά τη δημιουργία μηνυμάτων.
  • Αποκλεισμός αναρτήσεων ή σελίδων για άλλους συντάκτες ιστότοπου, ενώ μια ανάρτηση ή μια σελίδα επεξεργάζεται από ένα άτομο.
  • Ενημερώστε τις πληροφορίες ότι ο χρήστης βρίσκεται ακόμα στο τμήμα διαχείρισης (σελίδα επεξεργασίας κονσόλας ή ανάρτησης).

Αυτή η λειτουργία, γραμμένη στη μηχανή WordPres, είναι πολύ σημαντική, ειδικά όταν πολλοί συντάκτες μπορούν να εργαστούν στον ιστότοπο και η διαχείριση είναι συλλογική. Ωστόσο, μπορεί επίσης να προκαλέσει επιβράδυνση του ιστότοπου και να αυξήσει σημαντικά το φόρτο του διακομιστή.

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

Πλήρης απενεργοποίηση του Heartbeat API

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

Add_action("init", "stop_heartbeat", 1); συνάρτηση stop_heartbeat() ( wp_deregister_script("heartbeat"); )

Φυσικά, κατά την ενημέρωση αυτού του θέματος ή την αντικατάστασή του με άλλο, θα πρέπει να κάνετε ξανά αυτήν τη λειτουργία.

Πρόσθετο Heartbeat Control και οι ρυθμίσεις του

Υπάρχουν μόνο δύο ρυθμίσεις και, παρά το γεγονός ότι το πρόσθετο είναι στα αγγλικά, για όσους δεν γνωρίζουν αυτή τη γλώσσα, δεν θα είναι δύσκολο να τις καταλάβουν. Επιτρέψτε μου να σας υπενθυμίσω ότι η ρύθμιση της προσθήκης χρήση προεπιλογήςσημαίνει ότι το Heartbeat API δεν είναι απενεργοποιημένο σε καμία σελίδα και το διάστημα αιτημάτων στον διακομιστή είναι 15 δευτερόλεπτα.Δηλαδή, όλα μοιάζουν σαν να μην υπάρχει αυτή η προσθήκη στον ιστότοπό σας.

4. Χρήση ρυθμίσεων για σελίδες του πίνακα διαχείρισης

Για λόγους σαφήνειας, θα διευκρινίσω:

1. χρήση προεπιλογής - χρησιμοποιήστε το Heartbeat API από προεπιλογή.
2. Απενεργοποίηση παντού — απενεργοποιήστε το Heartbeat API παντού.
3. Απενεργοποίηση στη σελίδα του πίνακα ελέγχου — απενεργοποιήστε το Heartbeat API στη σελίδα του πίνακα ελέγχου (κονσόλα).
4. επιτρέψτε το onli από σελίδες επεξεργασίας αναρτήσεων - χρησιμοποιήστε το Heartbeat API μόνο όταν επεξεργάζεστε σελίδες.

2. Προσαρμογή της συχνότητας των αιτημάτων στον διακομιστή

Όλα είναι πολύ απλά εδώ. Απλά πρέπει να επιλέξετε το κατάλληλο διάστημα αιτημάτων προς τα βόρεια. Όσο πιο σπάνιος είναι ο «παλμός» - όσο πιο σπάνια είναι τα αιτήματα - τόσο μικρότερο είναι το φορτίο στον διακομιστή.

Αφού κάνετε τις ρυθμίσεις, αποθηκεύστε τις αλλαγές.

Δεδομένου ότι η αυτόματη αποθήκευση των εγγραφών κατά την επεξεργασία τους παραμένει μια επιθυμητή λειτουργία (μπορείτε να διαγράψετε τις περιττές επεξεργασίες αργότερα καθαρίζοντάς τις με ειδικά πρόσθετα) και η απώλεια μιας σχεδόν ολοκληρωμένης εγγραφής για κάποιο τεχνικό λόγο είναι δυσάρεστη (χαμένο Internet ή σύνδεση με τον διακομιστή κ.λπ. ) είναι πολύ ανεπιθύμητο. Επομένως, η ρύθμιση για το πρώτο μπλοκ στο πεδίο μπορεί να ρυθμιστεί στη λειτουργία "χρήση προεπιλογής", αλλά θα είναι αρκετά αρκετή για να κάνετε τις ρυθμίσεις στο δεύτερο μπλοκ, αφού ρυθμίσετε το χρονόμετρο συχνότητας αιτήματος στο αρχείο admin-ajax.php . V 60 δευτ. θα μειώσει την κατανάλωση πόρων για αυτά τα αιτήματα έως και 75%!

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

Στην αρχή του άρθρου, ανέφερα ότι οι εργαζόμενοι στην υποστήριξη έφεραν στην προσοχή μου έναν ακόμη λόγο για τη δυσκολία στη λειτουργία των τοποθεσιών μου. Λόγος -

Ανεπιθύμητες διεργασίες στο αρχείο wp-cron.php

Η τεχνική υποστήριξη, ως αποτέλεσμα της έρευνας για τη λειτουργία των τοποθεσιών μου, παρατήρησε ότι «παρατηρούνται διεργασίες wp-cron.php» σε αυτούς. Συνέστησαν: "Εάν η εκτέλεση αυτού του αρχείου προκαλεί ανθυγιεινό φόρτο στον διακομιστή - μπορείτε να απενεργοποιήσετε αυτές τις εργασίες."

  1. Για να το κάνετε αυτό στο αρχείο ρυθμίσεων του WordPress wp-config.phpπροσθέστε τη γραμμή:
    define('DISABLE_WP_CRON', 'true');
    Μπορείτε να το προσθέσετε κάπου μετά την εγκατάσταση της γλώσσας, π.χ. μετά τη γραμμή
    define('WPLANG', 'ru_RU');
  2. Μια άλλη λύση βρίσκεται στο ίδιο το αρχείο wp-cron.phpσχολιάστε τη γραμμή: wp-cron.php ignore_user_abort(true); Για να το κάνετε αυτό, πρέπει να προηγηθείτε με διπλή κάθετο. Θα βγει ως εξής: //ignore_user_abort(true);Αυτή η γραμμή βρίσκεται στη σειρά 12 του αρχείου.

Αυτό είναι όλο φίλοι.

(Επισκέφθηκε 304 φορές, 1 επισκέψεις σήμερα)