Βελτιστοποίηση της απόδοσης του Apache - Μέρος 1
Αυτό το άρθρο είναι μέρος της σειράς Apache Server Guide:
- Ασφάλεια Apache στο Ubuntu - Μέρος 1
- Ασφάλεια του Apache στο Ubuntu - Μέρος 2
- Βελτιστοποίηση της απόδοσης του Apache - Μέρος 1
- Βελτιστοποίηση της απόδοσης του Apache - Μέρος 2
- Ρύθμιση του βασισμένου σε όνομα Apache του
- Εγκατάσταση IP και Port-Based Virtualhost στο Apache
- Πώς να ρυθμίσετε τον Κατάλογο Ιστού Προστατέψτε τον Κωδικό στο Apache
- Εγκατάσταση του Apache Server με υποστήριξη SSL στο Ubuntu
- Ρύθμιση του Fail2ban για την προστασία του Apache από επίθεση DDOS
- Πώς να ρυθμίσετε το Webdav με Apache στο Ubuntu
- Παρακολούθηση του διακομιστή Web Apache χρησιμοποιώντας το Mod_status
- Πώς να προστατεύσετε το DDoS με Mod_evasive στο Apache Server
Το Apache είναι μια εφαρμογή ανοιχτού κώδικα web server και είναι ο πιο δημοφιλής εξυπηρετητής ιστού σε όλο τον κόσμο. Σχεδόν το 70% των διακομιστών ιστού στο Διαδίκτυο χρησιμοποιούν το Apache. Ενώ μπορούμε να βελτιώσουμε την απόδοση του διακομιστή Apache με την προσθήκη πρόσθετου υλικού όπως RAM, CPU, κ.λπ., μπορούμε να επιτύχουμε το ίδιο αποτέλεσμα προσαρμόζοντας επίσης τη διαμόρφωση Apache.
Αυτή η ανάρτηση εξηγεί πώς μπορείτε να βελτιώσετε την απόδοση του Apache χωρίς να προσθέσετε πρόσθετους πόρους υλικού στο σύστημά σας.
Σημείωση : αυτός ο οδηγός γίνεται σε διακομιστή Ubuntu 14.04 14.04.
MaxKeepAliveRequests
Το MaxKeepAliveRequests περιορίζει τον αριθμό αιτήσεων που επιτρέπονται ανά σύνδεση. Χρησιμοποιείται για τον έλεγχο των επίμονων συνδέσεων. Στο Ubuntu, η προεπιλεγμένη τιμή του MaxKeepAliveRequests
είναι 100
. Μπορείτε να το αλλάξετε σε οποιαδήποτε επιθυμητή τιμή. Η συνιστώμενη τιμή των MaxKeepAliveRequests
είναι μεταξύ 50 και 75.
Μπορείτε να αλλάξετε αυτήν την τιμή επεξεργάζοντας το αρχείο ρυθμίσεων Apache.
sudo nano /etc/apache2/apache2.conf
Αλλάξτε την τιμή από 100 σε 60.
MaxKeepAliveRequests 60
Αποθηκεύστε το αρχείο και κάντε επανεκκίνηση του Apache.
sudo /etc/init.d/apache2 επανεκκίνηση
KeepAliveTimeout
Το KeepAliveTimeout ορίζει πόσο καιρό ο διακομιστής περιμένει για το νέο αίτημα από συνδεδεμένους πελάτες. Η ρύθμιση του KeepAliveTimeout σε υψηλή τιμή ενδέχεται να προκαλέσει προβλήματα απόδοσης σε έναν πολύ φορτωμένο διακομιστή ιστού. Στο Ubuntu, η προκαθορισμένη τιμή του KeepAliveTimeout
είναι 15
. Η συνιστώμενη τιμή του KeepAliveTimeout
είναι μεταξύ 1 και 5.
Μπορείτε να αλλάξετε αυτήν την τιμή επεξεργάζοντας το αρχείο ρυθμίσεων Apache.
sudo nano /etc/apache2/apache2.conf
Αλλάξτε την τιμή από 15 σε 3.
KeepAliveTimeout 3
Αποθηκεύστε το αρχείο και κάντε επανεκκίνηση του Apache.
MaxClients
Ορίζει το όριο του αριθμού ταυτόχρονων συνδέσεων που θα εξυπηρετηθούν. Κάθε νέα αίτηση σύνδεσης θα τεθεί σε αναμονή μετά από αυτό το όριο. Μόλις μια διαδικασία ελευθερωθεί, τότε η ουρά σύνδεσης θα εξυπηρετηθεί. Στο Ubuntu, η προεπιλεγμένη τιμή MaxClients
είναι 250
. Συνιστάται να διατηρείτε αυτήν την τιμή στο 150
.
Μπορείτε να αλλάξετε αυτήν την τιμή επεξεργάζοντας το αρχείο "mpm_prefork.conf".
sudo nano /etc/apache2/mods-available/mpm_prefork.conf
Αλλάξτε την τιμή από 250 σε 150.
MaxClients 150
Αποθηκεύστε το αρχείο και κάντε επανεκκίνηση του Apache.
MaxConnectionsPerChild
Χρησιμοποιείται για διαδικασίες ανακύκλωσης. Όταν το όριο αυτό έχει οριστεί σε 0
, επιτρέπεται απεριόριστο ποσό αιτήσεων ανά διαδικασία. Το MaxConnectionsPerChild θέτει το όριο στον αριθμό των αιτημάτων που θα χειριστεί μια μεμονωμένη διαδικασία παιδιού. Αφού φτάσει στο καθορισμένο όριο, η διαδικασία του παιδιού θα πεθάνει. Στο Ubuntu, η προεπιλεγμένη τιμή MaxConnectionsPerChild
είναι 100
.
Οι συνιστώμενες τιμές για αυτήν τη ρύθμιση είναι:
- virtualized server 300
- διακομιστή με μνήμη RAM 500 1-4 GB
- διακομιστή με 4 + GB RAM 1000
Μπορείτε να αλλάξετε αυτήν την τιμή επεξεργάζοντας το αρχείο "mpm_prefork.conf".
sudo nano /etc/apache2/mods-available/mpm_prefork.conf
Αλλάξτε την τιμή από 100 σε 300.
MaxConnectionsPerChild 300
Αποθηκεύστε το αρχείο και κάντε επανεκκίνηση του Apache.
Κρατήσει ζωντανή
Από προεπιλογή, αυτή η ρύθμιση έχει οριστεί σε O n
στο Ubuntu. Όταν ο διακομιστής Apache λαμβάνει αιτήματα από εκατοντάδες και χιλιάδες IP ταυτόχρονα, τότε αυτή η ρύθμιση πρέπει να είναι Off
. Συνιστάται να απενεργοποιήσετε αυτήν τη ρύθμιση για να αυξήσετε την απόδοση σύνδεσης.
Μπορείτε να απενεργοποιήσετε αυτήν τη ρύθμιση τροποποιώντας το αρχείο ρυθμίσεων Apache.
sudo nano /etc/apache2/apache2.conf
Αλλάξτε την τιμή από το On
στη θέση Off.
KeepAlive Off
Αποθηκεύστε το αρχείο και κάντε επανεκκίνηση του Apache.
MinSpareServers και MaxSpareServers
Ορίζει τον επιθυμητό ελάχιστο και μέγιστο αριθμό διαδικασιών αδράνειας παιδικού διακομιστή. Ελέγχει πόσες αχρησιμοποίητες παιδικές διαδικασίες Apache θα κρατήσουν ζωντανές ενώ περιμένουν περισσότερα αιτήματα για να τα χρησιμοποιήσουν. Κάθε διαδικασία παιδιού καταναλώνει πόρους, οπότε αν ορίσετε την τιμή MaxSpareServers
πολύ υψηλή, τότε μπορεί να προκαλέσει προβλήματα πόρων.
Οι συνιστώμενες τιμές για το MinSpareServers
είναι:
- virtualized server 5
- διακομιστή με μνήμη RAM 1 - 2 GB 10
- εξυπηρετητή με μνήμη RAM 2 - 4 GB 20
- διακομιστή με μνήμη RAM 25 GB
Οι συνιστώμενες τιμές για την τιμή MaxSpareServers
θα πρέπει να οριστούν ως διπλάσιες από αυτές των MinSpareServers
.
Μπορείτε να αλλάξετε την τιμή MinSpareServers
σε 5
και την τιμή MaxSpareServers
σε 10
, επεξεργάζοντας το αρχείο "mpm_prefork.conf".
sudo nano /etc/apache2/mods-available/mpm_prefork.conf
MinSpareServers 5 MaxSpareServers 10
Αποθηκεύστε το αρχείο και κάντε επανεκκίνηση του Apache.
συμπέρασμα
Η ρύθμιση του Apache για μέγιστη απόδοση είναι πολύ εύκολη. Μπορείτε επίσης να κατανοήσετε τις απαιτήσεις του διακομιστή web και να δοκιμάσετε με διάφορες διαθέσιμες επιλογές. Θα βρείτε περισσότερες συμβουλές για τη βελτιστοποίηση του Apache στην επόμενη ανάρτησή μου. Μη διστάσετε να σχολιάσετε εάν έχετε οποιεσδήποτε ερωτήσεις.