Elxis CMS Forum
Ελληνικό Forum => Δημόσιο Βήμα => Topic started by: ArXoS on June 05, 2008, 23:40:10
-
Γεια σας βρε παιδια .. καιρό έχω να σας γράψω, μιας και είχαν πέσει πολλά (εκτος νετ) .. αλλά επανέρχομαι ;D
Ο λόγος είναι επειδή βλέπω οτι όσο πάει το site μου χρειάζεται όλο και πιο πολύ χρόνο για να φορτώσει .. Δεν έχω αλλάξει τίποτε από τότε που το έστησα, τα ίδια components και modules αρχικής σελίδας, έχω προσέξει όλες μου τις εικόνες σε μέγεθος .. γενικά, είναι περιποιημένο σιτε ...
Το μόνο που έχει αλάξει είναι η επισκεψημότητα και ο όγκος δεδομένων στη βάση ..
Το σίτε σε ώρες αιχμής, μπορεί να κάνει και 15 secs να φορτώσει (ενώ το ίδιο σιτε κάποτε σηκώνονταν στο klick πάνω) (σε ώρες αιχμής έχω κάπου 400 επισκέπτες Online που αρθρογραφούν και σχολιάζουν, και η βάση μου έχει 2000 δημοσιεύσεις εκτός αρχειοθέτησης)
Ήθελα να ρωτήσω λοιπόν αν υπάρχουν τίποτε εγρασίες ρουτίνας που πρέπει να κάνει ο κάθε διαχειριστής ωστε να μην χάνει το σιτε "τη φόρμα του"
Κάνω βελτιστοποίηση βάσης συχνά, εκκαθάριση προσωρινών άρχείων-cache, ελέγχους, όλα τα προβλεπόμενα ..
Μήπως υπάρχουν και τίποτε ειδικές ρυθμίσεις που πρέπει να κάνω στο php.ini για την αύξηση της απόδοσης του elxis μου ? Το elxis με προβληματίζει πιο πολύ, γιατί ένα smf γεφυρωμένο που έχω, φαίνεται να πηγαίνει καλά ακόμα, και ας έχει τριπλάσιο σε όγκο βάση δεδομένων (ξεχωριστή βάση από το elxis)
Λίγα στοιχεία ακόμα, μπας και βοηθήσω ..
Έχω ένα htaccess 2-3 σειρών μόνο
Δεν έχω blogged ips από το defender
Έχω 13 όρους στο defender
Defender και flooder ενεργοποιημένους
Cache και gzip ενεργοποιημένα
Τα modules μου χρησιμοποιούν chache
Δεν έχω errors
σε ώρες αιχμής, από το cpanel βλέπω server load από το status στο κόκκινο, στα 8-10% (τα ξημερώματα, όταν έχει πέσει η κίνηση, πέφτει στα 0,5%)
Κάθε συμβουλή καλοδεχούμενη
Ευχαριστώ :D
-
Το elxis είναι μία μεγάλη και σχετικά βαριά εφαρμογή, μπορεί να αποδώσει πολύ καλά κάτω από κατάλληλες συνθήκες αλλά και χάλια όταν ο server μας είναι αδύναμος να ανταπεξέλθει σε αυξημένη ζήτηση. Γενικά ο server σου έχει πολλά site και πολύ κίνηση; Μην συγκρίνεις το elxis με το smf, είναι εντελώς ανόμοια πράγματα.
Ο φόρτος είναι στον apache και όχι στη βάση δεδομένων.
Αν έχεις πρόσβαση στις ρυθμίσεις του apache ανέβασε τον αριθμό των maxclients (σε αναλογία με τη διαθέσιμη ram στο σύστημα - θα σε βοηθήσει αρκετά). Αν δεν έχεις πολύ Ram βάλε περισσότερη. Πόσο ram έχεις τώρα και τι τιμή στο Maxclients;
Απενεργοποίησε όσα bot δεν χρησιμοποιείς.
Μην φορτώνεις πολλά module ταυτόχρονα.
Απενεργοποίησε το flood blocker.
Βελτιστοποίησε τις εικόνες σου ώστε να καταλαμβάνουν όσο γίνεται μικρότερο χώρο.
Αν έχεις ssh πρόσβαση τι σου δείχνει η εντολή: free -m
Δοκίμασε συμπίεση gzip (το καλύτερο είναι μέσω του apache mod_gzip/mod_deflate). θα πρέπει ϊσως να κάνεις κάποιες επεμβάσεις στο header του template σου σε αυτή την περίπτωση ή στο htaccess.
Αν θες να δοκιμάσεις και με τη βάση (δεν νομίζω να είναι εκεί το πρόβλημα) άλλαξε τον τρόπο που συνδέεται το Elxis στη βάση δεδομένων από PConnect (persistent connection) σε Connect (αρχείο Includes/Core/database.php)
Μπορείς αν χρησιμοποιήσεις τον lighttpd για να σερβίρεις στατικά αρχεία όπως εικόνες, βίντεο, αρχεία xml και html και τον apache για τα php αρχεία.
Κάπου στο elxis.org έχω γράψει για benckmark για την μνήμη που καταλαμβάνει το elxis. Μπορείς να κάνεις ένα τέτοιο benchmark και να δεις τα αποτελέσματα (μέχρι 8mb είναι πάρα πολύ καλά από 8mb ως 12mb είναι καλά, 12mb-14mb σχετικά καλά). Αυτός ο αριθμός εξαρτάται από το πόσο φορτωμένο έχεις το site σου. Ως δείγμα σύγκρισης το isternia.net που μόλις μέτρησα έχει 12,2mb.
Υπόμνημα
Για να μετρήσεις την μνήμη που καταλαμβάνει το Elxis κάνε το εξής:
Άνοιξε το Index.php γράψε στην κορυφή του:
$km = memory_get_usage();
Πήγαινε στο τέλος τώρα του ίδιου αρχείου και γράψε:
echo memory_get_usage() - $km;
Το αποτέλεσμα είναι η μνήμη (ram) που καταλαμβάνει το Elxis.
-
Επειδή κάποια στιγμή είχα και γω το ίδιο πρόβλημα σε ένα site μου με τεράστιο όγκο δεδομένων - ο οποίος καθημερινά αυξανόταν:
Σου συστίνω να κάνεις Archive παλαιά δεδομένα και καταχωρήσεις. Εγώ ανά 1-2 μήνα "αρχειοθετώ" άρθρα προηγούμενα και έχω παρατηρήσει σημαντικότατη βελτίωση. Το site ανοίγει πιο γρήγορα πλέον!
++++ Όπως είπες, όσο ποιο συχνά γίνετε, να κάνεις βελτιστοποίηση της Β.Δ. σου.
-
σας ευχαριστώ βρε παιδιά για την ανταπόκριση (απενεργοποίησα τον flooder, με είχε μπλοκάρει άλλωστε ουκ ολιγες φορές και πολύ το φχαριστήθηκα που τον έστειλα!!)
με την εντολή free -m παίρνω
total used free shared buffers cached
Mem: 1009 961 48 0 159 421
-/+ buffers/cache: 380 629
Swap: 1992 19 1973
οι εντολές memory_get_usage δε δουλεύουν (δε φορτώνει καθόλου το σιτε)
Τα bots που δε χρησιμοποιώ τα έχω απενεργοποιημένα (από παλιότερη συζήτηση που είχαμε κάνει τα είχαμε ψάξει ένα-ένα και απενεργοποίησα τότε αρκετά)
Οι εικόνες μου, αν και μικρές, τρέχουν όλες από photobucher (εκτος σιτε)
Πρόσβαση στον apache δεν έχω δυστηχως ..
Γιατρέ θα ζήσω ???
( sorry για το off topic, αλλά δε μπορώ να μην ρωτήσω!!)
1. Για τα modules, θα μπορούσα να τα κάνω να τρέχουν σε μία δημοσίευση μέσα για να μην τρέχουν όλα στην αρχική μου σελίδα ? (έχω για παράδειγμα τα πιο δημοφιλή, τα most voted κτλ. Θα μπορούσα π.χ. να έχω ένα λινκ στο μενου μου που πατόντας το να βγαίνουν τα πιο δημοφιλή σε μια σελίδα ή ότι άλλο module θέλω?
2. To site μου είναι site μαγειρικής, με δημοσιευμένες συνταγές ανά κατηγορία. Αν τα έκανα αρχειοθέτηση, θα χάναν τις θέσεις τους στις κατηγορίες που τις έχω (ίσως δεν έχω καταλάβει καλά και πως δουλεύει η αρχειοθέτηση). Θα υπάρχει ένας τρόπος να τις κάνω αρχειοθέτηση, αλλά να μπορώ να τις βλέπω στις κατηγορίες που ήταν αποθηκευμένες ??
Κατα τα άλλα, να επικοινωνήσω με τον server μου και να του ζητήσω να μου αυξήσει τη μνήμη 'η το max clients ?
-
(ok, το πως θα εμφανίζω Modules στα contents μου, το βρήκα. Προσθέτω ένα mosloadposition σε συγκεκριμένα contents, τα συνδέω με το menu και θα πετάξω τα πολλά modules από την αρχική σελίδα. Ελπίζω να δω βελτίωση)
-
Έχεις πολύ λίγη ram, φαντάζομαι ο server είναι παλιός (apache 1.3, php 4.4.7). Τα processes σε ώρες αιχμής αντί να εξυπηρετούνται άμεσα μπαίνουν σε σειρά αναμονής (queued) και χρησιμοποιείτια η swap του server για να εξυπηρετήσει την αυξημένη ζήτηση. Γι αυτό και η καθυστέρηση στη φόρτωση των σελίδων. Επίσης φαντάζομαι ότι και η τιμή του maxclients θα είναι και αυτή πολύ μικρή. Ο server σου έχει τουλάχιστον 44 domain πάνω στην ίδια Ip και μπορεί να έχει περισσότερα σε άλλες. Θες καινούργιο server ή αύξηση της ram στα 4gb (αν την παίρνει ο server) και αύξηση της τιμής του maxclients (μόνο αν αυξήσεις τη ram).
Αν κάνεις τη μνήμη 4gb δοκίμασε στον apache αυτές τις τιμές (ή λίγο μικρότερες):
StartServers 8
MinSpareServers 8
MaxSpareServers 16
ServerLimit 400
MaxClients 400
sites:
1) HELLASTODAY.COM
2) HELLASTODAY.NET
3) aegeanoncanvas.com
4) aeroview.gr
5) alostfutureplan.com
6) ammonovis.com
7) anatoliahotel.gr
8) apopsissound.gr
9) archeolithos.gr
10) asfaliste.com
11) autoxatzinikolaou.gr
12) beenet.gr
13) ciel.gr
14) cielairlines.com
15) conmet.gr
16) flyridemotoshop.com
17) forest-park.gr
18) funds.gr
19) greekmasa.gr
20) hellaservers.com
21) hellastoday.gr
22) hellastoday.net
23) ibc.gr
24) idcplus4.com
25) iliadis.net
26) independentartscouncil.org
27) intercitytravel.gr
28) jayasridutta.org
29) johntripoulaspoetry.com
30) mamalinga.gr
31) ozzi.gr
32) paintball.gr
33) polemarchakis.com
34) polemarchakis.net
35) polemarchakis.org
36) pslpaintball.gr
37) radiogrevena.gr
38) rpmxtremeltd.com
39) skourascamp.com
40) thalassaresorts.com
41) tivoliaudio.gr
42) tsimasport.com
43) vertigo.gr
44) vertigostudios.net
-
Παιδιά, σας ευχαριστώ για τη βοήθειά σας ...
Κάθησα και πέταξα όλα τα modules μέσα σε content items (άφησα έξω μόνο 2) και το σίτε ΠΕΤΑΕΙ !!
Θα το τρέξω 1-2 weeks να δώ πως πάει, και αν τελικά αυτό εφταιγε, δε νομίζω να χρειαστεί dedicated server (γιατί έκανα και μια αναζήτηση και ακόμα τρέχω με τις τιμές .. είναι απαγορευτικές για χομπίστες !!)
Σας ευχαριστώ και πάλι για τη βοήθειά σας. Δε θα μου πέρναγε ποτέ από το μυαλό οτι τα modules μου κόβαν την ταχύτητα :-[
-
Τα module που αντλούν δεδομένα από 3ους ιστότοπους είναι σχεδόν σίγουρο ότι καθυστερούν έναν ιστότοπο, εκτός και εάν έχουν cache.