Παράξενες καθυστερήσεις όταν γράφω στο δίσκο

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