Πώς να βελτιστοποιήσετε το OPcache στο HestiaCP; Η προσωρινή αποθήκευση Opcode και η μεταγλώττιση κώδικα PHP μπορούν να αυξήσουν δραματικά την ταχύτητα του ιστότοπου.

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

Γι' αυτό HestiaCP Η βελτιστοποίηση του OPcache είναι ζωτικής σημασίας για την επιτυχία ή την αποτυχία οποιουδήποτε ιστότοπου που βασίζεται σε PHP.

Τι είναι το OPcache;

Το OPcache είναι μια ενσωματωμένη μηχανή προσωρινής αποθήκευσης bytecode στην PHP.

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

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

Σύμφωνα με την επίσημη τεκμηρίωση της PHP:

«Το OPcache παρέχει σημαντικές βελτιώσεις στην απόδοση μειώνοντας τον χρόνο εκτέλεσης αποφεύγοντας την επανάληψη της μεταγλώττισης σεναρίων.»

Με λίγα λόγια: το OPcache είναι ένας επιταχυντής PHP.

Γιατί να βελτιστοποιήσω το OPcache στο HestiaCP;

Πώς να βελτιστοποιήσετε το OPcache στο HestiaCP; Η προσωρινή αποθήκευση Opcode και η μεταγλώττιση κώδικα PHP μπορούν να αυξήσουν δραματικά την ταχύτητα του ιστότοπου.

Το HestiaCP είναι ένας ελαφρύς πίνακας ελέγχου που χρησιμοποιούν πολλοί άνθρωποι για τη διαχείριση VPS ή dedicated servers.

Το OPcache είναι ενεργοποιημένο από προεπιλογή, αλλά οι παράμετροι είναι συχνά συντηρητικές.

Χωρίς προσαρμογές, η βελτίωση της απόδοσης θα είναι περιορισμένη.

για παράδειγμα:
Σε έναν διακομιστή με 4 πυρήνες και 8GB μνήμης, η προεπιλεγμένη μνήμη OPcache είναι μόνο 64MB και ο αριθμός των αρχείων που αποθηκεύονται στην προσωρινή μνήμη είναι μόνο 4000.
Αυτό είναι για ένα μεσαίου μεγέθους WordPress Για μια ιστοσελίδα, απλά δεν αρκεί.

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

Ελέγξτε την τρέχουσα κατάσταση του OPcache

Εκτελέστε την ακόλουθη εντολή:

php -i | grep opcache.enable

Θα δείτε αποτελέσματα παρόμοια με:

  • opcache.enable => On: Αυτό σημαίνει ότι το OPcache είναι ενεργοποιημένο στο PHP-FPM.
  • opcache.enable_cli => Απενεργοποίηση: Δεν είναι ενεργοποιημένο σε λειτουργία γραμμής εντολών.
  • opcache.enable_file_override => Απενεργοποιημένο: Η λειτουργία παράκαμψης αρχείου δεν είναι ενεργοποιημένη.

Αυτό σημαίνει ότι παρόλο που το OPcache λειτουργεί ήδη, υπάρχει ακόμα περιθώριο βελτιστοποίησης.

Επεξεργασία αρχείων διαμόρφωσης PHP

Στο HestiaCP, η διαδρομή του αρχείου διαμόρφωσης PHP είναι συνήθως:

/etc/php/8.x/fpm/php.ini

Για να ενεργοποιήσετε τη λειτουργία CLI:

/etc/php/8.x/cli/php.ini

Εντοπίστε την ενότητα [opcache] και προσθέστε ή τροποποιήστε τις ακόλουθες παραμέτρους:

[opcache]
; 启用 OPcache
opcache.enable=1
opcache.enable_cli=1

; 内存与缓存设置
opcache.memory_consumption=256
opcache.interned_strings_buffer=16
opcache.max_accelerated_files=10000

; 文件更新检测
opcache.validate_timestamps=0
opcache.revalidate_freq=60

; 其他优化参数
opcache.save_comments=1
opcache.fast_shutdown=1
opcache.enable_file_override=1

Λεπτομέρειες παραμέτρων και λογική βελτιστοποίησης

  • opcache.memory_consumption=256
    Η κατανομή 256MB μνήμης στο OPcache είναι κατάλληλη για μεσαίους έως μεγάλους ιστότοπους.
    Για μικρούς ιστότοπους, μπορείτε να το ορίσετε στα 128MB.

  • opcache.interned_strings_buffer=16
    Παρέχει μια προσωρινή μνήμη συμβολοσειρών 16MB για τη μείωση της χρήσης διπλότυπων συμβολοσειρών.

  • opcache.max_accelerated_files=10000
    Ο μέγιστος αριθμός αρχείων προσωρινής αποθήκευσης συνιστάται να είναι τουλάχιστον 10000 σε περιβάλλον WordPress + plugin.

  • opcache.revalidate_freq=60
    Τα αρχεία ελέγχονται για ενημερώσεις κάθε 60 δευτερόλεπτα για να μειωθούν οι συχνές εισροές/εξόδους.

  • opcache.enable_cli=1
    Η ενεργοποίηση της προσωρινής αποθήκευσης CLI είναι κατάλληλη για την εκτέλεση εργαλείων γραμμής εντολών όπως το Artisan και το WP-CLI.

  • opcache.enable_file_override=1
    Επιτρέψτε στο OPcache να αναλάβει την προσωρινή μνήμη του συστήματος αρχείων, μειώνοντας περαιτέρω την πρόσβαση στον δίσκο.

  • opcache.validate_timestamps=0
  • Απενεργοποίηση ανίχνευσης σε πραγματικό χρόνοΜειώστε τις εισόδους/εξόδους συστήματος αρχείων και βελτιώστε την απόδοση.
  • Ωστόσο, αυτό σημαίνει ότι πρέπει να καθαρίσετε την προσωρινή μνήμη με μη αυτόματο τρόπο (επανεκκινήστε την υπηρεσία PHP) μετά την τροποποίηση των αρχείων PHP.

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

sudo systemctl restart php<版本>-fpm

Ο συνδυασμός αυτών των παραμέτρων επιτρέπει στον ιστότοπο να παραμένει σταθερός ακόμη και υπό υψηλό ταυτόχρονο χρόνο.

Επανεκκινήστε την υπηρεσία PHP-FPM

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

sudo systemctl restart php8.x-fpm

Στη συνέχεια, εκτελέστε το ξανά:

php -i | grep opcache

Οι παράμετροι έχουν επιβεβαιωθεί ότι έχουν ενημερωθεί.

Βέλτιστες πρακτικές για περιβάλλοντα παραγωγής

Σε περιβάλλοντα παραγωγής, η βελτιστοποίηση OPcache περιλαμβάνει περισσότερα από απλή ρύθμιση παραμέτρων· περιλαμβάνει επίσης τις ακόλουθες στρατηγικές:

1. Εκκαθάριση της προσωρινής μνήμης κατά την ανάπτυξη

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

Μπορείτε να προσθέσετε τα ακόλουθα στο σενάριο CI/CD:

<?php
opcache_reset();

Εναλλακτικά, εκτελέστε το κατά τη διάρκεια της διαδικασίας ανάπτυξης:

systemctl reload php8.x-fpm

2. Αποφύγετε τον συχνό καθαρισμό

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

3. Παρακολουθήστε τη χρήση του OPcache.

Μπορείτε να ελέγξετε το ποσοστό επιτυχίας της προσωρινής μνήμης σε πραγματικό χρόνο χρησιμοποιώντας το `php -i | grep opcache` ή εγκαθιστώντας το πρόσθετο Opcache Control Panel.
Ένα ποσοστό επιτυχίας άνω του 95% υποδηλώνει μια λογική διαμόρφωση.

Σύμφωνα με τις επίσημες δοκιμές απόδοσης της Zend, η ενεργοποίηση του OPcache μπορεί να βελτιώσει την ταχύτητα εκτέλεσης σεναρίων PHP έως και 3 φορές και να μειώσει τη χρήση της CPU κατά 50%.

Δεν πρόκειται για κάποιο είδος μυστικιστικής θεωρίας· πρόκειται για αδιάσειστα δεδομένα.

Συμπέρασμα: Οι απόψεις μου και τα βασικά αποσπάσματα

Κατά τη γνώμη μου, το OPcache είναι σαν "τούρμπο" για έναν ιστότοπο. Χωρίς αυτό, η PHP είναι σαν ένα αυτοκίνητο χωρίς τούρμπο, που λειτουργεί αργά και σπαταλά καύσιμα.

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

Επειδή η ταχύτητα ισούται με το ποσοστό μετατροπών και η απόδοση ισούται με την ανταγωνιστικότητα.

Βασικό απόφθεγμα: Το μέλλον ενός ιστότοπου δεν έγκειται στο πόσο φανταχτερός είναι ο κώδικάς του, αλλά στο πόσο γρήγορα μπορεί να ανταποκριθεί τόσο γρήγορα που οι χρήστες να μην έχουν καν χρόνο να ανοιγοκλείσουν τα μάτια τους.

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

Βελτιστοποιήστε το HestiaCP OPcache σας τώρα και κάντε τον ιστότοπό σας να πετάει.

Θέλετε να γράψω ένα κορυφαίο πρότυπο διαμόρφωσης OPcache για το περιβάλλον παραγωγής σας, το οποίο μπορείτε στη συνέχεια να αντιγράψετε και να χρησιμοποιήσετε απευθείας στο php.ini;

Ιστολόγιο Hope Chen Weiliang ( https://www.chenweiliang.com/ Το άρθρο "Πώς να βελτιστοποιήσετε το OPcache στο HestiaCP; Opcode caching και compiling PHP code to make your website fly" που κοινοποιήθηκε εδώ μπορεί να σας φανεί χρήσιμο.

Καλώς ήρθατε να μοιραστείτε τον σύνδεσμο αυτού του άρθρου:https://www.chenweiliang.com/cwl-34197.html

Για να ξεκλειδώσετε περισσότερα κρυμμένα κόλπα🔑, καλώς ήρθατε στο κανάλι μας στο Telegram!

Κάντε share και like αν σας αρέσει! Τα share και τα likes σας είναι το συνεχές μας κίνητρο!

 

发表 评论

Η διεύθυνση email σας δεν θα δημοσιευτεί. 必填 项 已 用 * 标注

Κατάλογος άρθρου
Μεταβείτε στην κορυφή