Extremely high load on lamp server
Giorgos Keramidas
keramida at ceid.upatras.gr
Thu Dec 10 00:07:40 EET 2009
On Wed, 9 Dec 2009 23:45:52 +0200, Vangelis Pothos <vpothos at gmail.com> wrote:
> Έχω έναν LAMP server (Core 2 Duo 2,3Ghz, 2GBRam, single sata disk) που
> κάνει host καμια 15ρια δυναμικά sites και forums, ένα από τα οποία
> έχει 600k posts και σχετικά υψηλή κίνηση (~100k impressions per day)
Η μνήμη δεν είναι και τόσο πολλή. Αν μπορείς εγώ θα πρότεινα να του
πετάξεις κι άλλο ένα GB, έτσι για το γαμώτο της υπόθεσης.
> Το πρόβλημα που παρατηρείται είναι ότι μερικές φορές το load average
> ανεβαίνει ραγδαία στο 100 μέσα σε διάστημα 2,3 λεπτών. Κατά την
> υπερφόρτωση απαντάει σε ping, αλλά δεν μπορεί να γίνει login μέσω ssh,
> οπότε συνέρχεται μόνο με reboot.
>
> Από ό,τι καταλαβαίνω ο server αποσταθεροποιείται λόγω κάποιας δύσκολης
> διεργασίας (πχ σβήσιμο μεγάλου thread όπου γίνονται lock πίνακες) είτε
> λόγω κάποιου aggresive crawler, με αποτέλεσμα να ξεκινάει κάποιο
> domino effect στη Mysql και να καθυστερούν όλα τα queries και να
> μένουν πολλή ώρα locked πίνακες. Επίσης παρατηρώ ότι το io wait
> ανεβαίνει στο 90%.
>
> - Υποθέτω ότι το bottleneck είναι ο δίσκος, αλλά εξηγείται τέτοια
> κατάρρευση του server?
>
> - Υπάρχει κάποιος τρόπος να δω το I/O per process? Βρήκα το iotop το
> οποίο όμως θέλει να είναι ενεργοποιημένo το I/O accounting στον
> kernel.
>
> - Καμια ιδέα για διάσωση χωρίς reboot?
Μια πρώτη ιδέα είναι: Έλεγξε ότι δεν έχεις ενεργοποιημένο το «binlog»
της MySQL. Έχω δει να γράφει μερικές δεκάδες MB το δευτερόλεπτο, που
πλησιάζουν πολύ κοντά στο disk throughput ενός δίσκου που δεν είναι σε
συστοιχία RAID.
Πριν το απενεργοποιήσεις όμως δες το σχετικό τμήμα στο manual της MySQL
<http://dev.mysql.com/doc/refman/5.0/en/binary-log.html> και σκέψου πόσο
σε συμφέρει το binlog ενεργοποιημένο ή όχι.
More information about the Linux-greek-users
mailing list