[BSD] I/O sebesseg merese
Laszlo Nagy
gandalf at designaproduct.biz
2006. Sze. 12., K, 15:57:57 CEST
Attila Nagy írta:
> On 09/12/06 10:26, Laszlo Nagy wrote:
>
>>> Több diszkkel? Hardveres RAID-del? Gyorsabb (10kRPM-es, SCSI) diszkekkel?
>>>
>>>
>> A SCSI biztosan jo lenne, de draga.
>>
>>
> Akkor vegyél még SATA diszkeket. :)
>
Az van, 2 x SATA150.
>
>> Tegyuk fol, hogy random io-rol van szo. Miert van az, hogy egy seq scan
>> fizikailag random io-ban vegzodik (full vacuum utan)?
>>
>>
> Nem ismerem a postgres táblaszerkezetét, de el tudom képzelni azt, hogy
> ami nála szekvenciális, az fizikailag a diszken töredezett.
> Lehet játszani a blokkméretek állításával is, ezzel talán segíthetsz ezen.
>
> Azért egy dd-t csinálj már, hogy lássuk, mennyivel megy az a diszk.
>
1GB memóriám van. Írás:
time sh -c "dd if=/dev/zero of=/usr/test/bigfile bs=8k count=250000 &&
sync "
250000+0 records in
250000+0 records out
2048000000 bytes transferred in 48.030627 secs (42639460 bytes/sec)
0.178u 8.912s 0:48.31 18.7% 9+96k 37+15701io 0pf+0w
Olvasás:
time sh -c "dd if=/usr/test/bigfile of=/dev/null bs=8k"
250000+0 records in
250000+0 records out
2048000000 bytes transferred in 120.198224 secs (17038521 bytes/sec)
0.063u 5.780s 2:00.21 4.8% 10+98k 29776+0io 0pf+0w
Ez már magában is furcsa, pont fordítva kellene lennie (gmirror van). :-)
Na közben rájöttem a megoldásra, kis segítséggel. Sok más oszlop is van
a táblában, és a pg MINDEN adatot beolvas a táblából. Szóval nem azt
csinálja hogy az index file-on megy végig (ami 66MB) és ha van találat
akkor beolvassa a rekordot; hanem a tábla file-on megy végig, ami 1,1GB.
Csináltam egy ilyet:
create table test(id int8 not null primary key, name text);
insert into test select id,name from product;
Ezután a
select id,name from test where name like '%Mug%';
1 másodpercen belül lefutott. Szóval azzal van a baj, hogy nagy a
rekordok mérete. Majdnem hússzor annyi adatot nyal végig mint kellene.
Tehát kiderült, hogy nem az oprendszerrel vagy a hardverrel van a baj.
Elnézést kérek mindenkitől akit ezzel zavartam. Átmentem egy másik
listára ezzel. :-)
Laci
További információk a(z) BSD levelezőlistáról