Αυτό το άρθρο είναι μέρος της σειράς 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 στην επόμενη ανάρτησή μου. Μη διστάσετε να σχολιάσετε εάν έχετε οποιεσδήποτε ερωτήσεις.