[BSD] I/O sebesseg merese
Laszlo Nagy
gandalf at designaproduct.biz
2006. Sze. 11., H, 14:50:16 CEST
>> "select count(*) from from nagyon_nagy_tabla where <feltetel>"
>>
>> tipusu lekerdezest futtatok, akkor is nagyon lassu. Ez 1 tablazat, es
>> seq scan-t hasznal a tablara. Tehat gyakorlatilag csak vegigolvas egy
>> file-t. A tablaban 700 000 rekord van es 3GB a tabla merete a lemezen.
>> Megis tobb percig tart mire lefut ez a lekedezes. Hogyan tudnam gyorsitani?
>>
>>
> esetleg mogeraksz egy oracle clustert SANal
> csak 700K rekord es csak 3GB?
> szerinted megis 3GB adat nyers olvasasa meddig tart el? :)
Most is épp vaacum-ozom ezt a táblát. Itt egy érdekes kimenet:
#iostat ad4 ad6 5
tty ad4 ad6 cpu
tin tout KB/t tps MB/s KB/t tps MB/s us ni sy in id
0 709 26.73 39 1.02 26.68 39 1.02 19 0 7 0 74
0 36 21.39 87 1.82 21.38 87 1.82 13 0 53 1 33
0 12 23.86 95 2.21 23.86 95 2.21 14 0 49 1 35
0 12 20.30 108 2.14 20.30 108 2.14 11 0 49 1 39
Elvileg az SATA150 tudja a 150MB/sec-et. De itt láthatólag a vinyó csak
2 MB/sec-en van használva, és a CPU is csak 3%-on van. Viszont az egész
rendszer le van lassulva. Nem értem miért! 3GB nyers adat olvasása egy
SATA150 vinyóval elvileg 20-30 másodperc. Ha föltesszük hogy nem itt a
szűk keresztmetszet, hanem a CPU-nál, akkor miért csak 3%-on áll a CPU?
Ha mégis az I/O a szűk keresztmetszet, akkor miért nem látok legalább
60MB/sec értéket?
Csináltunk még egy tesztet. Nagy file másolása 6MB/sec értéket írt ki.
Szerintem ez kevés! Lehet hogy rosszul kezeli az SATA vezérlőt a rendszer?
Laci
További információk a(z) BSD levelezőlistáról