Σχετικά με το Πρόσθετο και το Varnish
Αυτό το Πρόσθετο δεν συνδέεται με το CS-Cart και Multi-Vendor από προεπιλογή. Μπορείτε να το αγοράσετε ξεχωριστά από την Αγορά μας.
Σχετικά με το Πρόσθετο και το Varnish
Το Marketplace Performance Booster είναι ένα Πρόσθετο που φέρνει υποστήριξη πλήρους cache σελίδας στο Multi-Vendor 4.3.6 και νεότερες εκδόσεις. Η αποθήκευση πλήρους σελίδας μειώνει το φορτίο του διακομιστή και κάνει την ιστοσελίδα να ανταποκρίνεται ταχύτερα.
- Χωρίς αποθήκευση, μια σελίδα χρειάζεται να εκτελέσει τον κώδικά της και να ανακτήσει δεδομένα από τη βάση δεδομένων κάθε φορά που φορτώνεται.
- Με αποθήκευση, η σελίδα δημιουργείται μία φορά. Μπορεί στη συνέχεια να φορτωθεί από την αποθήκη, χωρίς να ξοδέψει χρόνο και πόρους του διακομιστή για την εκτέλεση του κώδικα ή την πρόσβαση στη βάση δεδομένων.
Αυτό το Πρόσθετο λειτουργεί σε συνδυασμό με το Varnish Cache—δωρεάν λογισμικό που λειτουργεί ως αντίστροφη διαμεσολάβηση αποθήκης. Μάθετε περισσότερα σχετικά με το Varnish εδώ:
Πώς λειτουργεί η αποθήκευση για διαφορετικούς χρήστες
Τα δεδομένα που είναι αποθηκευμένα μπορούν να χρησιμοποιηθούν για τον χειρισμό αιτημάτων παρόμοιων τύπων. Για παράδειγμα, ένας επισκέπτης και ένας πελάτης μπορούν να δούν την ίδια σελίδα διαφορετικά. Υπάρχουν 3 τύποι αιτημάτων:
- Από χρήστες χωρίς περίοδο λειτουργίας—αιτήματα από επισκέπτες που απλώς περιηγούνται το περιεχόμενο, αλλά δεν αλληλεπιδρούν με το κατάστημα. Για παράδειγμα, δεν έχουν προσθέσει προϊόντα στο καλάθι, δεν έχουν τοποθετήσει παραγγελία, δεν έχουν συνδεθεί κ.λπ. Η αποθήκευση είναι πιο αποτελεσματική για αυτά τα αιτήματα, επειδή οι σελίδες θα επιστρέφονται πλήρως από την αποθήκη, χωρίς να εμπλέκεται ο διακομιστής backend.
- Από χρήστες με περίοδο λειτουργίας—αιτήματα από επισκέπτες που αλληλεπιδρούν με το κατάστημα κατά κάποιο τρόπο. Η αποθήκευση θα εξακολουθήσει να χρησιμοποιείται για τέτοιες περιπτώσεις, αλλά τα μπλοκ που εξαρτώνται από την περίοδο λειτουργίας (όπως το καλάθι) θα φορτωθούν χωρίς την αποθήκη μέσω του μηχανισμού ESI. Κάθε μπλοκ που χρησιμοποιεί ESI θα στείλει ένα αίτημα στον διακομιστή backend.
- Από χρήστες που έχουν συνδεθεί—αιτήματα από αυτούς τους χρήστες δεν θα εμπλέκουν αποθήκευση. Αυτό συμβαίνει επειδή οι συνδεδεμένοι χρήστες μπορούν να δουν διαφορετικό περιεχόμενο (για παράδειγμα, διαφορετικές τιμές προϊόντων ανάλογα με την ομάδα χρηστών).
Η αποθήκευση πλήρους σελίδας λειτουργεί μόνο στο storefront (όχι στον admin panel), και μόνο για ένα συγκεκριμένο whitelist σελίδων. Για να προσθέσετε περισσότερες σελίδες σε αυτήν τη λίστα, επεκτείνετε το σχήμα full_page_cache/varnish.
Πώς το Πρόσθετο επηρεάζει τις περιόδους λειτουργίας
Όταν το Πρόσθετο γίνει ενεργό, λαμβάνουν χώρα οι ακόλουθες αλλαγές:
- Η αυτόματη εκκίνηση των περιόδων λειτουργίας είναι απενεργοποιημένη. Μια περίοδος λειτουργίας θα ξεκινήσει μόνο μετά από ένα αίτημα POST, ή όταν υπάρχει ένα cookie περιόδου λειτουργίας.
- Το πρόθεμα
fpc_προστίθεται στο όνομα του cookie περιόδου λειτουργίας. Αυτό θα τερματίσει τις περιόδους λειτουργίας των χρηστών που έχουν ήδη συνδεθεί.
Διαδικασία αποθήκευσης
Πότε συμβαίνει η αποθήκευση
Από προεπιλογή, το Varnish δεν αποθηκεύει περιεχόμενο έως ότου ο διακομιστής backend το διατάξει. Ο διακομιστής backend επικοινωνεί με το Varnish στέλνοντας κεφαλίδες HTTP μαζί με το περιεχόμενο:
X-Cache-TTL—διάρκεια ζωής της αποθήκης σελίδας. Εάν αυτή η κεφαλίδα λείπει ή ισούται με0, το περιεχόμενο δεν θα αποθηκευθεί.X-Cache-Tags—οι εξαρτήσεις της αποθήκης σελίδας· η λίστα των ετικετών που σχετίζονται με την αποθήκη σελίδας.X-Do-ESI—εάν θα χρησιμοποιηθεί ή όχι το ESI. Εάν η τιμή αυτής της κεφαλίδας είναι1, τότε το Varnish θα χρησιμοποιήσει ESI.
Πότε συμβαίνει η ακύρωση της αποθήκης
Η ακύρωση της αποθήκης συμβαίνει:
- Αυτόματα, όταν λήγει ο χρόνος ζωής (TTL).
- Κατ' αίτηση, όταν η αποθήκη ακυρώνεται ανά ετικέτες.
Κάθε αποθηκευμένη σελίδα συνδέεται με μια λίστα ετικετών. Κατά κανόνα, πρόκειται για τη λίστα των πινάκων βάσης δεδομένων που χρησιμοποιούνται για τη δημιουργία της σελίδας. Εάν τα δεδομένα σε τουλάχιστον έναν από αυτούς τους πίνακες αλλάξουν, η αποθήκη θα ακυρωθεί.
Η ακύρωση συμβαίνει όταν ο διακομιστής backend στέλνει ένα αίτημα HTTP στον διακομιστή Varnish με τη μέθοδο BAN και τη λίστα των ετικετών που πρόκειται να ακυρωθούν στην κεφαλίδα X-Cache-Tags.
Το Varnish θα δεχτεί αιτήματα ακύρωσης μόνο από τις διευθύνσεις IP που εισαγωγικά περιέχονται στο αρχείο default.vcl.
Ρυθμίσεις TTL (Σε ανάπτυξη)
Τελικά, το Πρόσθετο θα σας επιτρέψει να ορίσετε διαφορετικό TTL (χρόνο ζωής) για διαφορετικούς τύπους σελίδων. Οι ακόλουθες ρυθμίσεις είναι προγραμματισμένες:
- Προεπιλεγμένο TTL αποθήκης—θα εφαρμόσει το ίδιο TTL σε όλες τις σελίδες, εκτός από εκείνες που έχουν το δικό τους TTL.
- TTL αποθήκης αρχικής σελίδας.
- TTL αποθήκης σελίδας Κατηγορίας.
- TTL αποθήκης σελίδας προϊόντος.
Γνωστά ζητήματα
- Η αυτόματη ανίχνευση γλώσσας δεν λειτουργεί. Αυτό συμβαίνει επειδή τα προγράμματα περιήγησης περνούν τις προτιμώμενες γλώσσες του πελάτη στην κεφαλίδα
Accept-Language, και μπορεί να έχει πολλές πιθανές παραλλαγές. Η λήψη αυτής της κεφαλίδας υπόψη θα είχε ως αποτέλεσμα εκρηκτική αύξηση της αποθήκης και μείωση της αποτελεσματικότητάς της. - Όταν ανοίγετε μια διεύθυνση URL που έχει ένα μονοπάτι χωρίς κάθετο στο τέλος, ανακατευθύνεστε στη θύρα 8080 και λαμβάνετε το ακόλουθο μήνυμα σφάλματος: "No storefronts defined for this domain."
- Αιτία: Από προεπιλογή, όταν η διεύθυνση URL είναι όπως http://example.com/path, ο διακομιστής web Apache επιστρέφει μια ανακατεύθυνση 301 στο http://example.com/path/ (με κά