Πόση RAM χρειάζεται το WordPress;
Το ίδιο το WordPress χρειάζεται λίγη μνήμη και οι επίσημες απαιτήσεις του δεν δίνουν αριθμό για τη RAM. Για έναν μικρό ιστότοπο, 1-2 GB RAM είναι συνήθως καλό σημείο εκκίνησης (εμπειρικός κανόνας που διαφέρει ανάλογα με τον ιστότοπο). Τα e-shops, τα πολλά plugins και η μεγάλη κίνηση μπορούν να ανεβάσουν την ανάγκη στα 4 GB ή και περισσότερο.
Το τι χρειάζεστε πραγματικά εξαρτάται από το είδος του ιστότοπου: τα plugins, την κίνηση, το μέγεθος της βάσης και το αν το caching είναι ενεργό. Αυτό το άρθρο καλύπτει τους επίσημους αριθμούς, τι καταναλώνει μνήμη και πώς καταλαβαίνετε πότε δεν αρκεί.
Τι λένε οι επίσημες απαιτήσεις;
Η σελίδα απαιτήσεων hosting του WordPress.org (επίσημη σύσταση) ζητά PHP 8.3 ή νεότερη, MariaDB 10.11 ή MySQL 8.0 ή νεότερη και υποστήριξη HTTPS. Προτείνει Apache ή Nginx ως web server. Η σελίδα δεν δίνει αριθμό για τη RAM. Παλαιότερες εκδόσεις όπως η PHP 7.4 και η MySQL 5.5.5 εξακολουθούν να τρέχουν, αλλά η σελίδα σημειώνει ότι έχουν φτάσει στο τέλος της υποστήριξής τους και έχουν κινδύνους ασφαλείας. Σε νέα εγκατάσταση, διαλέξτε τις προτεινόμενες εκδόσεις.
Οι μόνοι επίσημοι αριθμοί μνήμης είναι τα όρια που δίνει η PHP στο WordPress. Σε εγκατάσταση ενός ιστότοπου, το προεπιλεγμένο WP_MEMORY_LIMIT είναι 40 MB και σε multisite είναι 64 MB. Η περιοχή διαχείρισης χρησιμοποιεί το WP_MAX_MEMORY_LIMIT και ο πυρήνας του WordPress προσπαθεί να το ανεβάσει από προεπιλογή στα 256 MB. Πρόκειται για ανώτατα όρια ενός μόνο αιτήματος PHP, όχι για τη συνολική RAM του server. Τις τιμές που ισχύουν για τον ιστότοπό σας μπορείτε να τις ελέγξετε στο Tools > Site Health > Info: το όριο μνήμης της PHP αναγράφεται στην ενότητα Server, ενώ τα WP_MEMORY_LIMIT και WP_MAX_MEMORY_LIMIT εμφανίζονται στην ενότητα WordPress Constants.
Τι χρησιμοποιεί πραγματικά τη RAM;
- Οι διεργασίες PHP. Κάθε ταυτόχρονο αίτημα τρέχει μια διεργασία PHP. Στην PHP-FPM, το
pm.max_childrenπεριορίζει πόσες μπορούν να τρέχουν ταυτόχρονα (δείτε το εγχειρίδιο της PHP). Ανάλογα με τα plugins, μία διεργασία μπορεί να χρησιμοποιεί από δεκάδες έως εκατοντάδες megabyte. Πρόκειται για γενική παρατήρηση και διαφέρει από ιστότοπο σε ιστότοπο. - Η βάση δεδομένων. Η MariaDB ή η MySQL κρατά στη μνήμη τα δεδομένα που διαβάζονται συχνά. Οι μεγάλοι ιστότοποι με πολλά plugins θέλουν περισσότερη.
- Η cache του λειτουργικού συστήματος. Το Linux χρησιμοποιεί την ελεύθερη μνήμη ως cache δίσκου. Το να βλέπετε λίγη ελεύθερη μνήμη στην έξοδο του
free -hδεν είναι πρόβλημα. Κοιτάξτε αντί γι' αυτό τη στήλη available. - Επίπεδα cache. Μια object cache (όπως το Redis) μειώνει τα ερωτήματα προς τη βάση, αλλά κρατά και η ίδια μνήμη.
Ένα απλό παράδειγμα. Σε server με 2 GB RAM, αν κρατήσετε περίπου 1 GB για το λειτουργικό σύστημα και τη βάση, μένει 1 GB για την PHP. Αν μία διεργασία PHP χρησιμοποιεί κατά μέσο όρο 100 MB, έχει νόημα να κρατήσετε το pm.max_children γύρω στο 10. Αυτοί οι αριθμοί δείχνουν μόνο πώς γίνεται ο υπολογισμός. Οι δικές σας μετρήσεις μπορεί να βγουν διαφορετικές.
Μέγεθος εκκίνησης ανά τύπο ιστότοπου
Αυτές οι τιμές είναι εμπειρικοί κανόνες. Διαφέρουν ανάλογα με τα plugins και την κίνηση και δεν αποτελούν σταθερή υπόσχεση.
| Τύπος ιστότοπου | RAM εκκίνησης | Σημείωση |
|---|---|---|
| Μικρό blog ή ιστότοπος παρουσίασης, λίγα plugins | 1-2 GB | Ενεργοποιήστε το page caching |
| Επαγγελματικός ιστότοπος με πολλές φόρμες και εικόνες | 2-4 GB | Μικρύνετε τις εικόνες σας |
| Page builder, ιστότοπος μελών, πολλά plugins | 4 GB | Περισσότερες σελίδες που δεν μπορούν να μπουν σε cache |
| E-shop (WooCommerce) | 2-4 GB, περισσότερα καθώς μεγαλώνει | Οι σελίδες καλαθιού και ολοκλήρωσης αγοράς δεν μπορούν να μπουν σε cache |
Αν φτιάχνετε e-shop, διαβάστε και το άρθρο μας «Επιλογή server για το WooCommerce».
Τι βλέπετε όταν τελειώνει η RAM;
- Ο ιστότοπος επιστρέφει κατά διαστήματα σφάλμα 502 ή 503. Η PHP-FPM ή ο web server δεν μπορεί να απαντήσει.
- Εμφανίζεται το μήνυμα «Error establishing a database connection». Η βάση μπορεί να σταμάτησε επειδή τελείωσε η μνήμη.
- Η περιοχή διαχείρισης γίνεται πολύ αργή και οι ενημερώσεις plugins ή τα ανεβάσματα εικόνων κολλούν στη μέση.
Για επιβεβαίωση, συνδεθείτε στον server και εκτελέστε αυτές τις εντολές:
free -h
sudo journalctl -k | grep -i -E "out of memory|oom-kill"
Η δεύτερη εντολή εμφανίζει τα συμβάντα όπου ο πυρήνας σταμάτησε ένα πρόγραμμα επειδή τελείωσε η μνήμη. Αν τυπώσει γραμμές, η RAM δεν αρκεί. Στο top, πατήστε Shift+M για να δείτε τις διεργασίες που χρησιμοποιούν την περισσότερη μνήμη.
Τι μπορείτε να δοκιμάσετε πριν αναβαθμίσετε
- Στήστε μια page cache, είτε ως plugin είτε στην πλευρά του server. Μια σελίδα που σερβίρεται από cache δεν τρέχει ούτε PHP ούτε βάση δεδομένων.
- Αφαιρέστε plugins που δεν χρησιμοποιείτε. Κάθε ενεργό plugin φορτώνει τον κώδικά του σε κάθε αίτημα.
- Ρυθμίστε το
pm.max_childrenστην PHP-FPM ανάλογα με τη μνήμη σας. Χονδρικά, διαιρέστε τη μνήμη που μπορείτε να δώσετε στην PHP με τη μέση μνήμη μιας διεργασίας PHP. Μια υπερβολικά υψηλή τιμή καταναλώνει μνήμη υπό φορτίο. - Ένας μικρός χώρος swap εμποδίζει τον server να καταρρεύσει σε σύντομες αιχμές. Όμως το swap βρίσκεται στον δίσκο και είναι αργό, γι' αυτό δεν υποκαθιστά τη RAM.
Αν τα έχετε δοκιμάσει όλα και η μνήμη εξακολουθεί να γεμίζει, ήρθε η ώρα να αναβαθμίσετε. Μετρήστε πρώτα: το πρόβλημα εμφανίζεται στις ώρες αιχμής ή όλη μέρα; Ως γενικό όριο, σκεφτείτε την αναβάθμιση αν η μνήμη available πέφτει συχνά κάτω από το 10-15 τοις εκατό της συνολικής RAM στις ώρες αιχμής ή αν το swap χρησιμοποιείται συνεχώς. Δεν είναι αυστηρός κανόνας, μόνο σημείο εκκίνησης.
Αναβάθμιση από το πάνελ
Στο πάνελ της Seturack, αναβαθμίζετε τον server με το ρυθμιστικό στην καρτέλα Μέγεθος. Μετά την πληρωμή ο server κάνει μία επανεκκίνηση μόνος του και η διεύθυνση IP και τα δεδομένα σας παραμένουν τα ίδια. Έτσι το να ξεκινήσετε με μικρό μέγεθος είναι ασφαλής διαδρομή. Ένας server με προεγκατεστημένο WordPress είναι έτοιμος σε περίπου 3,5 έως 4 λεπτά. Δείτε τη σελίδα του server WordPress.
Σχόλια0
Δεν υπάρχουν ακόμη σχόλια
Μοιραστείτε πρώτοι τις σκέψεις σας.
Συνδεθείτε ή εγγραφείτε για να αφήσετε σχόλιο.