[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Obciążenie procesora 30% - jak zrobić więcej?



Oto dołączone moje wyniki, z 40, 80 i 160 GB barracudy. Wszystkie ATA100 i
odpowiednio 2, 2 i 8 MB cache.  Kontroler: SiI680: chipset revision 2 (karta na
PCI, bo ten na płycie się na mnie obraził), komputer to Athlon 1600+ z niecałym
1 GB RAM. Płyta na KT266A. Kernel 2.4.26.

Version  1.03       ------Sequential Output------ --Sequential Input- --Random-
                    -Per Chr- --Block-- -Rewrite- -Per Chr- --Block-- --Seeks--
Machine        Size K/sec %CP K/sec %CP K/sec %CP K/sec %CP K/sec %CP  /sec %CP
Marek            3G 11313  89 20409  17  6645   4  5020  29 11981   5  64.5   0
Marcin  40 GB    3G 10993  93 23633  17 12511   6 14471  78 30720   8  88.4   0
Marcin  80 GB    3G 11885  96 41084  25 19260   8 13593  74 45058  12  71.5   0
Marcin 160 GB    3G 11578  94 43063  24 18302   8 15302  82 44225  11  86.8   0
                    ------Sequential Create------ --------Random Create--------
                    -Create-- --Read--- -Delete-- -Create-- --Read--- -Delete--
              files  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP  /sec %CP
Marek            16   291  23 +++++ +++ 19621  49   707  57 +++++ +++  1279  49
Marcin  40 GB    16  1118  96 +++++ +++ +++++ +++  1368  98 +++++ +++  3172  97
Marcin  80 GB    16  1399  97 +++++ +++ +++++ +++  1452  99 +++++ +++  3373  98
Marcin 160 GB    16  1292  93 +++++ +++ +++++ +++  1420  98 +++++ +++  3345  97

Nie wiem jakie były warunki obciążenia podczas testów (u mnie tylko odtwarzanie
mp3-jek, więc paręnaście odczytów na minutę).

Ale widać tutaj, że w porównaniu do mojej 40-ki Twój dysk daje o połowę gorsze
wyniki przy dostępie mieszanym (rewrite - a to jest chyba właśnie to, co Twój
postgres robi) i ponad 3 razy gorsze w porównaniu do większych dysków.
Seksencyjny odczyt też jest fatalny: ok. 3 razy gorsze wyniki niż przy moich
dyskach. Losowy dostęp też jest gorszy w każdym przypadku, choć różnice sięgają
co najwyżej 30%

Radziłbym jakiś mirroring na 2 dużych dyskach (albo przynajmniej jedny, ale
conajmniej 80 GB) na dane - żeby poprawić odczyty, a transaction log zostawił
na tym dysku co jest, bo sekwencyjny zapis nie obsysa aż tak bardzo.

Swoją drogą tych odczytów masz zaskakująco dużo jak na coś co robi "dużo
insertów". Nie masz czasem zbyt dużej ilości indeksów na tej bazie?

> > zacznij się interesować hdparmem, jeśli tego jeszcze nie zrobiłeś.
> 
> Interesowałem się 'trochę', poniżej ustawienia.
> 
> multcount    = 16 (on)
>  I/O support  =  1 (32-bit)
>  unmaskirq    =  1 (on)
>  using_dma    =  1 (on)
>  keepsettings =  1 (on)
>  nowerr       =  0 (off)
>  readonly     =  0 (off)
>  readahead    =  8 (on)
>  geometry     = 4865/255/63, sectors = 78165360, start = 0
>  busstate     =  1 (on)

Wygląda OK.

> > Jaki masz kontoler IDE? Jakiej wielkości dysk?
> 
> Kontroler: "VP_IDE: VIA vt8235 (rev 00) IDE UDMA133", płyta z chipsetem
> KT333
> 
> Dysk WDC WD400JB-00ENA0 40GB 7200 8MB ATA100

Jak widać na załączonym obrazku 80-ki są o klasę lepsze od 40-tek. Być może w
przypadku WDC też się to sprawdza.

Marcin
-- 
Marcin Owsiany <porridge@debian.org>             http://marcin.owsiany.pl/
GnuPG: 1024D/60F41216  FE67 DA2D 0ACA FC5E 3F75  D6F6 3A0D 8AA0 60F4 1216



Reply to: