Παράξενες καθυστερήσεις όταν γράφω στο δίσκο
Antonis Christofides
anthony at itia.ntua.gr
Mon Mar 12 11:54:59 EET 2012
On 2012-03-10 16:17, Antonis Christofides wrote:
> το /tmp είναι tmpfs και το root file system είναι XFS πάνω
> σε LVM πάνω σε soft RAID5. Το μηχάνημα είναι Pentium D 2.8 GHz, 1GB
> RAM, Debian 6.0 με linux 2.6.32-5-686, και οι τρεις δίσκοι είναι
> SATA, WDC WD7500AAKS--00RBA0.
(Απαντάω σε όλους μαζί.)
Με τη βοήθεια του dmidecode βλέπω ότι το motherboard είναι Asus
P5QPL-AM (φαίνεται να είναι τελευταίας πενταετίας).
Κάνω τώρα το πείραμα του Νίκου Δήμου, αλλά με 10 χιλιάδες αρχεία αντί
με 22 χιλιάδες:
mkdir /tmp/lolo
for i in {1..10000}; do dd if=/dev/zero of=/tmp/lolo/pipi$i bs=19000
count=1; done
mkdir /var/tmp/lolo
cd /var/tmp/lolo
cp /tmp/lolo/* .
Ξέχασα να βάλω time στην cp, αλλά έκανε αρκετά λεπτά (5-10), ενώ του
Νίκου Δήμου έκανε 20 δευτερόλεπτα για τα διπλάσια αρχεία. (Για 2
χιλιάδες αρχεία το δικό μου έκανε 9 δευτερόλεπτα, αλλά για 10 χιλιάδες
έκανε ΠΟΛΥ παραπάνω από 45 δευτερόλεπτα, δηλαδή γύρω στα 5-10 λεπτά
όπως είπα.) Στη διάρκεια της αντιγραφής το atop έδειχνε:
DSK | sdb | busy 95% | read 123 | write 487 | avio
15 ms |
DSK | sda | busy 94% | read 149 | write 469 | avio
15 ms |
DSK | sdc | busy 65% | read 168 | write 459 | avio
10 ms |
Τα read & write έπαιζαν και ήταν περίπου ίδια για τους τρεις δίσκους.
Όμως το busy ήταν σταθερά 95% για sd[ab] και 65% για sdc, ενώ το avio
ήταν σταθερά 15 ms για sd[ab] και 10 ms για sdc. (Αναρωτιέμαι αν
υπάρχουν κανάλια SATA όπως υπάρχουν κανάλια για RAM & PATA, και οι
sd[ab] μπορεί να είναι μαζί στο ίδιο κανάλι.)
Το μηχάνημα είναι production αλλά η μόνη του δουλειά είναι να κάνει
backup άλλων μηχανημάτων τη νύχτα (τώρα λόγω των καθυστερήσεων
συνεχίζει και το πρωί). Όταν δεν κάνει backup το μόνο που κάνει είναι
να τρέχει ένα DHCP server με καμιά 20αριά clients. Το load average στη
διάρκεια της μέρας είναι κάτω του 0.10, ενώ πολύ συχνά το βλέπω και
στο 0.00. Εννοείται πως τα πειράματα τα κάνω όταν το backup έχει
τελειώσει και το μηχάνημα κάθεται.
Τι να κοιτάξω τώρα;
Ψιλοάσχετα:
rouvas: Διαβάζω πως το rsync, σε εκδόσεις 3.0.5 και μεταγενέστερες,
δεν έχει πρόβλημα με τα μικρά αρχεία (εδώ βέβαια το πρόβλημα φαίνεται
να μην είναι στο rsync ούτως ή άλλως).
Thanasis: Χρησιμοποιώ XFS πάνω από 5 χρόνια και ποτέ δεν είδα
πρόβλημα. Υπήρχαν προβλήματα με το XFS παλιότερα, αν και δεν έφταιγε
το XFS: "[O]ne of the reasons this filesystem has a bad reputation in
some circles relates to how early it introduced this feature. It
enabled barriers before either the drives available or the underlying
device drivers always did the right thing to flush data out, which
meant the barriers it relied upon for data integrity were not
themselves reliable. This resulted in reports of XFS causing
corruption, caused by bugs elsewhere in the software or hardware
chain, but XFS was blamed for them." (G. Smith, PostgreSQL 9.0 High
Performance, p. 79)
More information about the Linux-greek-users
mailing list