Apache Modules & Php Optimizers Για Να Δοκιμάσετε

Ο web server Apache και η PHP γλώσσα είναι παρόντες  σε πάνω από το 70% του συνόλου των online servers. Χωρίς αυτούς θα ήταν αδύνατο να τρέξουν εκατομμύρια script και σελίδων για τους επισκέπτες. Αυτά είναι 2 εργαλεία που είναι πραγματικά απαραίτητα για τη λειτουργία των web server  σε όλο τον κόσμο.

Φυσικά, υπάρχουν εναλλακτικές λύσεις και και για τα δύο (πχ ASP, JavaScript, για την PHP και αντίστοιχα Lighttpd ή Nginx για τον Apache), αλλά κανένας από αυτούς δεν έχει αποκτήσει τόση ευρεία χρήση στο web hosting. Πλέον, όπως είπα παραπάνω, υπάρχουν πολλά scripts γραμμένα σε PHP, και χωρίς αυτό σε ένα διακομιστή, θα ήταν αδύνατο να τα τρέξει. Αρκετά μικρές εταιρίες Web Hosting πλέον μπορούν, να προσφέρουν PHP, CGI, Ruby (RoR), Perl κλπ.,

Όπως και με κάθε άλλο λογισμικό, οι χρήστες μπορούν να τροποποιήσουν και να βελτιστοποιήσουν την Apache και την PHP για να ταιριάζουν στις ανάγκες τους. Για το λόγο αυτό, υπάρχουν πολλά  modules, extensions και optimizers, για αυτό και θα ρίξουμε μια ματιά στα πιο σημαντικό από αυτά, μιας και πρέπει κάθε διακομιστή που εκτελεί PHP και Apache να τα έχει.

mod_deflate: Αυτό το  Apache module θα σας βοηθήσει να μειώσετε το bandwidth και το χρόνο φόρτωσης της σελίδας σας (ιδιαίτερα χρήσιμο σε όλους τους επισκέπτες που δεν έχουν σύνδεση στο Internet άνω των 10Mbit). Λειτουργεί με συμπίεση στην έξοδο (output) του διακομιστή πριν την αποστολή στο χρήστη. Μπορείτε να ρυθμίσετε ποίον browsers θα αγνοήσετε (δεν είναι όλοι συμβατοί με αυτό το module) και το επίπεδο συμπίεσης. Το μειονέκτημα είναι ότι ο server θα έχει ψηλότερο φορτίο στην CPU και ενδεχομένως, ένα ελαφρώς αυξημένο latency, το οποίο οφείλεται στο ότι χρειάζεται να επεξεργαστεί και να συμπιέσει όλα τα αρχεία και τα δεδομένα πριν από την αποστολή τους.

mod_gzip: Αυτό το  Apache module  λειτουργεί με τον ίδιο τρόπο όπως mod_deflate, η διαφορά είναι ότι χρησιμοποιεί gzip για τη συμπίεση όλων των δεδομένων, η οποία οδηγεί σε ακόμα μικρότερες (20-30%) από ό, τι το output size του mod_deflate. Είναι καλύτερο να χρησιμοποιήσετε mod_gzip μαζί με mod_deflate, επειδή πολλές εκδόσεις από των πιο συχνά χρησιμοποιούμενα προγράμματα περιήγησης (IE, Firefox, Safari και άλλα) δεν υποστηρίζουν mod_gzip και σχεδόν πάντα έχουν bugs. Επιπλέον, το  mod_gzip χρησιμοποιεί περισσότερο χρόνο από το  mod_deflate στην CPU, άρα χρησιμοποιήστε  το μόνο αν έχετε καλή επεξεργαστική ισχύ (4 πυρήνες τουλάχιστον).

mod_bw: Μια άλλη μονάδα Apache που μπορεί να σας βοηθήσει να εξοικονομήσετε bandwidth (τόσο με την έννοια του μηνιαίου όγκου όσο και Mbits ανά δευτερόλεπτο). Λειτουργεί σαν φίλτρο εξόδου στην αλυσίδα φίλτρων του Apache. Όλα τα δεδομένα που μεταφορτώνονται από τους χρήστες περνούν μέσα από αυτό και αν έχετε ορίσει όριο εύρους ζώνης (για παράδειγμα, να επιτρέπει μόνο 20Mbit / s  των συνολικά 100Mbit / s), η μονάδα θα ξεκινήσει τον διαχωρισμό δεδομένων σε μικρότερα τμήματα και θα αυξήσει την καθυστέρηση αποστολής σε κάθε τμήμα, το οποίο θα καταλήξει σε μια πιο αργή ταχύτητα λήψης για τον χρήστη, το οποίο με τη σειρά του θα εξοικονομήσει bandwidth. Μπορεί να είναι πολύ χρήσιμο όταν, για παράδειγμα, έχετε ένα δικτυακό τόπο φιλοξενίας αρχείων και βρίσκετε ένα δημοφιλές blog στον ίδιο server. Αν το blog έχει πολύ traffic επειδή πχ έρχεται κόσμος λόγω του ότι έχει backlink  στην πρώτη σελίδα ενός κοινωνικού δικτύου όπως το Digg ) και δεν θέλετε να πέσει επειδή πολλοί χρήστες κατεβάζουν αρχεία σε πλήρη ταχύτητα από τον server, μπορείτε να περιορίσετε το bandwidth το οποίο θα οδηγήσει σε ένα προσβάσιμο λειτουργικό blog με πολλή κίνηση έστω και με χαμηλότερες ταχύτητες download.

Zend Optimizer: Αυτή είναι μια δωρεάν εφαρμογή που δίνει τη δυνατότητα εκτέλεσης στον server με εγκατεστημένα PHP scripts να κωδικοποιούνται με Zend Guard και, το πιο σημαντικό, να επιταχύνει τον κωδικό (opcode) για καλύτερη απόδοση. Υπάρχουν πολλά scripts που είναι κωδικοποιημένα με Zend Guard. Το να έχετε τον  Zend Optimizer προ-εγκατεστημένο και ρυθμισμένο, θα σας βοηθήσει να αποφύγετε τυχόν προβλήματα που μπορεί να προκύψουν κατά την προσπάθεια να τα εκτελέσετε.

eAccelerator: Αυτή είναι μια πολύ χρήσιμη εφαρμογή για κάθε διακομιστή που έχει συνεχή load. Πρόκειται για ένα PHP επιταχυντή και optimizer, που αυξάνει την απόδοση σημαντικά των PHP scripts (συνήθως 3-10 φορές γρηγορότερα) και μειώνει τα φορτία διακομιστή (επίσης  3-10 φορές γρηγορότερα) με την προσωρινή αποθήκευση όλων αυτών, σε κατάσταση compiled, έτσι ώστε κάθε φορά που ξανατρέχουν, δεν πρέπει να κάνουν  πάλι compile. Αυτό βέβαια, μειώνει το χρόνο επεξεργαστή και την μνήμη RAM που χρησιμοποιείται σε μεγάλο βαθμό, και επειδή ένα τυπικό σύγχρονο website αποτελείτε κατά 80% από PHP scripts, Άρα είναι ένα πολύ καλό εργαλείο για τον καθένα.

Έτσι, τώρα ξέρετε μερικά module και εφαρμογές που θα αυξήσουν την απόδοση και τη σταθερότητα του κάθε διακομιστή που εκτελεί Apache και PHP, μειώνοντας τη χρήση bandwidth άρα και κόστους. Δοκιμάστε τα!