Tip: Πληκτρολογήστε για άμεσα αποτελέσματα αναζήτησης.
Hosting account resources exceeded και Πόροι CloudLinux
Σε κάθε σύγχρονο περιβάλλον web hosting, όπου λειτουργούν παράλληλα διαφορετικά accounts στον ίδιο server (πχ. shared hosting, reseller hosting, semi-dedicated hosting), η σταθερότητα και η απόδοση του website σας εξαρτώνται όχι μόνο από τους διαθέσιμους πόρους, αλλά και από το πόσο αποτελεσματικά κατανέμονται αυτοί οι πόροι μεταξύ των χρηστών που μοιράζονται τον ίδιο server.
Οι servers μας με DirectAdmin panel και CloudLinux προσφέρουν ισχυρή απομόνωση χρηστών και εξασφάλιση πόρων ανά χρήστη, αυξάνοντας την ασφάλεια και την σταθερότητα σε περιβάλλοντα shared, reseller και semi-dedicated hosting. Αυτό σημαίνει ότι το website σας προστατεύεται από τυχόν υπερκατανάλωση πόρων άλλων λογαριασμών και λειτουργεί με προβλέψιμη απόδοση.
Τι είναι οι Πόροι (Resources) στο CloudLinux;
Το LVE υποσύστημα
Το CloudLinux χρησιμοποιεί ένα υποσύστημα που ονομάζεται LVE (Lightweight Virtual Environment) για να κατανέμει δίκαια τους πόρους του server σε κάθε λογαριασμό hosting. Κάθε website λειτουργεί στο δικό του απομονωμένο περιβάλλον με συγκεκριμένα όρια πόρων, ώστε να μην είναι δυνατόν ένα website στον server να καταλάβει άδικα υψηλούς πόρους προκαλώντας δυσλειτουργίες σε γειτονικά accounts στον ίδιο server.
Πόροι που Ελέγχονται
Οι κύριοι πόροι που ελέγχονται, και εφαρμόζονται ανά λογαριασμό χρήστη, είναι:
- CPU (Processor): Η επεξεργαστική ισχύς που μπορεί να χρησιμοποιήσει το website σας
- RAM/Memory (Μνήμη): Η μνήμη που καταλαμβάνουν οι διεργασίες του site σας
- Entry Processes (Ταυτόχρονες Web Server Διεργασίες): Ο μέγιστος αριθμός ενεργών διεργασιών που μπορεί να εκτελεί ο Web Server ταυτόχρονα
- Processes (Ταυτόχρονες Διεργασίες Συστήματος): Ο μέγιστος αριθμός ενεργών παράλληλων διεργασιών συστήματος (Linux Processes)
- Disk I/O και IOPS (Disk Operations): Η ταχύτητα ανάγνωσης/εγγραφής στο δίσκο
Να σημειωθεί ότι στα shared hosting πλάνα φιλοξενίας μας παρέχουμε απεριόριστο αριθμό IOPS και απεριόριστο I/O Usage. Αυτό εξασφαλίζει την καλύτερη δυνατή απόδοση του website σας χωρίς περιορισμούς στις λειτουργίες δίσκου, ακόμα και κατά τις περιόδους υψηλής κίνησης.
Πότε και πώς να ελέγξετε τους πόρους που καταλαμβάνει το hosting σας στο DirectAdmin
Μπορείτε να δείτε τους πόρους που χρησιμοποιεί το site σας ανά πάσα στιγμή, όμως θα πρέπει να ελέγξετε τους πόρους του λογαριασμού σας στο DirectAdmin όταν το website σας εμφανίζει περιοδικά προσωρινά σφάλματα όπως:
- 508 Resource Limit Reached
- 507 Insufficient Storage
- 500 Internal Server Error
- 503 Service Unavailable
Για να δείτε τη χρήση των πόρων του λογαριασμού σας:
- Συνδεθείτε στο DirectAdmin control panel
- Πηγαίνετε στην ενότητα “Extra Features”
- Επιλέξτε “Resource Usage”
Στην οθόνη “Current Usage” θα δείτε αναλυτικά τη χρήση των πόρων σας. Οι βασικές στήλες είναι:
- Usage (Χρήση)
- Δείχνει τους πόρους που καταλαμβάνει την τρέχουσα χρονική στιγμή ο λογαριασμός σας σε πραγματικό χρόνο.
- Limit (Όριο)
- Δείχνει τα μέγιστα όρια που μπορούν να φτάσουν οι πόροι του λογαριασμού σας.
- Fault (Σφάλμα)
- Αν την τρέχουσα χρονική στιγμή υπάρχει υπέρβαση πόρων, τότε θα έχει μη μηδενική τιμή η αντίστοιχη γραμμή. Όσο υψηλότερη η τιμή εδώ, τόσο περισσότερες φορές το σύστημα αρνήθηκε προσωρινά εξυπηρέτηση λόγω υπέρβασης πόρων.
Παρακάτω στην ίδια σελίδα Resource Usage θα βρείτε:
- Ξεχωριστά διαγράμματα χρήσης για: CPU, Physical Memory (PMEM), Entry Processes (EP), Number of Processes (NPROC), I/O, IOPS
- Χρονική περίοδος (Timeframe): Δυνατότητα επιλογής της περιόδου που θέλετε να εξετάσετε (τελευταία 10 λεπτά, τελευταίες 4 ώρες, 24 ώρες, 7 ημέρες κ.λπ.)
- Συγκεντρωτικό διάγραμμα faults: Ένα συνολικό γράφημα που εμφανίζει όλα τα faults (υπερβάσεις ορίων) που παρουσιάστηκαν στο λογαριασμό σας ανά τύπο και χρόνο
- Πίνακες με αναλυτικά στοιχεία: Μέσες τιμές (average), μέγιστες τιμές (max) και αριθμό faults ανά χρονική στιγμή
Χρησιμοποιώντας αυτά τα διαγράμματα και στατιστικά, μπορείτε να:
- Εντοπίσετε τάσεις στη χρήση πόρων
- Αναγνωρίσετε πότε ακριβώς συνέβησαν τα faults
- Λάβετε τεκμηριωμένες αποφάσεις για βελτιστοποίηση ή αναβάθμιση
Πρακτικό παράδειγμα υπέρβασης ορίων
Παρακάτω μπορούμε να δούμε ένα χαρακτηριστικό παράδειγμα ενός website που όλη την τρέχουσα ημέρα υπερβαίνει τα όρια σχεδόν σε όλους τους πόρους:
- CPU Usage: Το γράφημα δείχνει ότι η χρήση CPU αγγίζει συχνά το όριο (κόκκινη γραμμή), με πολλαπλά faults κατά τη διάρκεια της τρέχουσας ημέρας
- Physical Memory: Δεν πιάνει όρια αλλά βλέπουμε υψηλές αιχμές κατανάλωσης κοντά στο όριο των 4GB
- Entry Processes: Πλησιάζουν συχνά το όριο των 100 παράλληλων διεργασίων
- Processes: Ο συνολικός αριθμός διεργασιών φτάνει επανειλημμένα το όριο των 200
- Faults Graph: Το τελευταίο γράφημα δείχνει καθαρά την κατανομή των faults ανά τύπο (CPU, NPROC) την τρέχουσα ημέρα
Σημαντικό: Ιδιαίτερη προσοχή απαιτεί το τελευταίο διάγραμμα των Faults, καθώς παρέχει άμεση ένδειξη αν υπάρχει υπέρβαση ορίων. Κανονικά το διάγραμμα αυτό (Faults) πρέπει να είναι μια ευθεία γραμμή χωρίς καμία αιχμή, δηλαδή δεν συμβαίνει υπέρβαση πόρων.
Κάτω από τα διαγράμματα στην ίδια σελίδα, υπάρχει ένας πίνακας, όπου μπορείτε να δείτε συγκεκριμένα τον αριθμό των υπερβάσεων (Faults) που έχουν καταγραφεί ανά ώρα (πρόκειται για τις τιμές των γραφημάτων, αλλά υπό μορφή πίνακα).
Συνήθεις αιτίες υπέρβασης ορίων και προτάσεις αντιμετώπισης
Η διάρκεια και η συχνότητα των σφαλμάτων (υπέρβασης ορίων), δίνουν σημαντικές πληροφορίες ώστε να βρεθεί η αιτία του προβλήματος και στη συνέχεια να αντιμετωπιστεί. Παρακάτω παρουσιάζουμε συχνές αιτίες υπέρβασης των ορίων, πώς μπορείτε να τις αναγνωρίσετε/εντοπίσετε, αλλά και τί μπορείτε να κάνετε για να τις αντιμετωπίσετε.
Πρόσφατες αλλαγές στο site, προγραμματιστικές ή μη
Αν η υπέρβαση ξεκίνησε μετά από κάποια αλλαγή, ελέγξτε προσεκτικά τι τροποποιήθηκε. Για παράδειγμα:
- Αν πραγματοποιήθηκε κάποιο plugin update, τότε χρειάζεται να γίνει downgrade στην προηγούμενη έκδοση
- Αν πραγματοποιήθηκε ενεργοποίηση plugin τότε χρειάζεται είτε να γίνει απενεργοποίηση είτε να γίνουν οι κατάλληλες ρυθμίσεις για να διορθωθεί το πρόβλημα
- Αν πραγματοποιήθηκαν αλλαγές σε settings/configurations, τότε εξετάστε αν η επαναφορά τους λύνει το πρόβλημα
- Αν πραγματοποιήθηκαν προγραμματιστικές αλλαγές ή προστέθηκε custom κώδικας, τότε θα πρέπει να ελέγξετε αν πχ. ο νέος κώδικας περιέχει loops χωρίς optimization, βαριά database queries, ή εκτελεί external API calls που προκαλούν έξτρα latency
- Αν πραγματοποιήθηκε theme update ή αλλαγή theme, τότε δοκιμάστε να γυρίσετε στο προηγούμενο theme
Γενικά, δοκιμάστε να απενεργοποιήσετε μία μία τις αλλαγές για να εντοπίσετε από που προκαλείται το πρόβλημα.
Αυξημένες επισκέψεις από bots
Αν η υπέρβαση κατάγραφηκε για κάποιο χρονικό διάστημα μέσα στην ημέρα ή εμφανίζεται σε ακανόνιστες χρονικές περιόδους, τότε είναι σκόπιμο να ελέγξετε το ενδέχομενο να προκαλείται από bots. Είτε πρόκειται για γνωστά bots (πχ. Google, Facebook, Pinterest, κ.α.) είτε για κακόβουλα bots, μία αύξηση των επισκέψεων από bots μπορεί να προκαλέσει την αύξηση κατανάλωσης των πόρων και πιθανώς και την υπέρβαση αυτών. Δείτε αν από τα logs μπορείτε να εντοπίσετε συγκεκριμένες IP ή bots που έκαναν πολλά requests κατά τις περιόδους που υπήρξε η υπέρβαση των ορίων. Χρησιμοποιήστε κάποιο firewall plugin και εξετάστε το ενδεχόμενο rate limiting ή περιορισμού (block) συγκεκριμένων bots ή IPs. Στους servers μας λειτουργεί ήδη πολυεπίπεδη προστασία για κακόβουλα bots και επιθέσεις. Σε κάθε περίπτωση αν δείτε αυξημένη κίνηση από κακόβουλα bots μπορείτε να επικοινωνήσετε και μαζί μας ώστε να βοηθήσουμε άμεσα.
Scheduled Tasks / Cronjobs
Αν παρατηρείτε πως η υπέρβαση των ορίων καταγράφεται ομοιόμορφα σε συγκεκριμένες μόνο χρονικές στιγμές ή περιόδους κατά την διάρκεια της ημέρας συστηματικά, τότε είναι κρίσιμο να εξετάσετε αν εκείνες τις χρονικές περιόδους τρέχουν προγραμματισμένες εργασίες (crons ή scheduled tasks της εφαρμογής σας). Δοκιμάστε να απενεργοποιήσετε ή μεταθέσετε αυτές τις εργασίες σε διαφορετικό χρόνο μέσα στην ημέρα να δείτε αν αλλάζει και η ώρα υπέρβασης ορίων, ή για να το λύσετε δοκιμάστε να “σπάσετε” την διαδικασία σε περισσότερες (πχ. import σε ομάδες). Γενικώς, προγραμματίστε τα βαριά tasks σε ώρες χαμηλής κίνησης.
“Βαρύ” website και αυξημένη επισκεψιμότητα
Αν έχετε ξεκινήσει καμπάνιες marketing (πχ. newsletter campaigns, instagram προώθηση, viber), είναι φυσιολογικό να αυξηθεί η επισκεψιμότητα και μαζί της, η χρήση πόρων. Ειδικά αν πρόκειται για ένα website με πολλά plugins που εκτελούν σύνθετα και πολλά queries σε κάθε request, scripts τρίτων που καθυστερούν την απόκριση, κλπ. μία μέτρια κίνηση από κάποια προωθητική ενέργεια μπορεί να προκαλέσει υπέρβαση των ορίων του hosting σε μικρό χρονικό διάστημα. Σε αυτή την περίπτωση, θα δείτε πως η υπέρβαση των ορίων ξεκινάει μετά την έναρξη των προωθητικών ενεργειών σας. Μπορείτε για αυτό να δοκιμάστε να πραγματοποιήσετε κάποιες από τις βελτιστοποιήσεις που προτείνουμε παρακάτω.
Γενικές συστάσεις βελτιστοποίησης χρήσης πόρων
Ανεξάρτητα από την αιτία, υπάρχουν βήματα που μπορούν γενικά να μειώσουν την χρήση των πόρων και να βελτιώσουν την απόδοση ενός website.
- Εγκαταστήστε ή ενεργοποιήστε λειτουργίες caching, πχ κάποιο caching plugin
- Αναβαθμίστε την PHP σε νεότερη έκδοση (είναι ταχύτερη και καταναλώνει λιγότερη μνήμη)
- Ελέγξτε την συμβατότητα των plugins και των themes πριν από κάθε αναβάθμιση
- Μειώστε τα plugins στα απαραίτητα
- Προτιμήστε δοκιμασμένα και αποδεδειγμένως ελαφριά themes
- Κάντε debug περιοδικά για να εντοπίζετε πιθανά προβλήματα, για παράδειγμα κατά την πορεία ανάπτυξης να έχετε μια επαφή με χρόνους φόρτωσης
- Ελέγχετε τακτικά τα error logs των website σας
Εάν μετά από όλες τις παραπάνω βελτιστοποιήσεις το website σας εξακολουθεί να υπερβαίνει τα όρια, μπορείτε να επικοινωνήστε μαζί μας. Αν για παράδειγμα το website σας φτάνει τα παραπάνω όρια επειδή μεγαλώνει και αυξάνεται η κίνηση και το μέγεθος του, τότε φυσικά μπορούμε να προτείνουμε την κατάλληλη αναβάθμιση του πλάνου hosting σας ώστε να είναι πολύ γρήγορο και να μπορεί να εξυπηρετήσει πολλούς επισκέπτες ταυτόχρονα.

