Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 22 Mar 2007 08:32:23 -0500
From:      Eric Anderson <anderson@freebsd.org>
To:        "roma.a.g" <roma.a.g@gmail.com>
Cc:        Oliver Fromme <freebsd-performance@freebsd.org>
Subject:   Re: Slow on heavy I/O operations.
Message-ID:  <46028567.8080209@freebsd.org>
In-Reply-To: <1465093066.20070322162026@gmail.com>
References:  <1036039198.20070321153412@gmail.com>	<200703211354.l2LDsKnV080911@lurza.secnetix.de> <1465093066.20070322162026@gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 03/22/07 08:20, Roman Gorohov. wrote:
> Hi, Oliver.
> Thanks for explanations.
> 
>> Roman Gorohov. <roma.a.g@gmail.com> wrote:
>  >> Hello list.
>  >> There is a server with FreeBSD FreeBSD 4.11-STABLE(can't upgrade fornow) on HP ProLiant DL140.
>  >> Disk system: <SEAGATE ST373207LC 0005> at scbus0 target 0 lun0(pass0,da0) on a ASC-29320A.
>  >> If I do:
>  >> [idle@hst ~]#dd if=/dev/zero of=bigfile bs=64k count=5000
>  >> 5000+0 records in
>  >> 5000+0 records out
>  >> 327680000 bytes transferred in 37.515699 secs (8734477 bytes/sec)
>  >> All is hung while dd working.
>  >> 
>  >> Its look like that:
>  >> [idle@hst ~]#systat -v
>  >> skip...
>  >> Disks   da0 pass0 pass1   md0         
>  >> KB/t  20.33  0.00  0.00  0.00        
>  >> tps     812     0     0     0        
>  >> MB/s  16.11  0.00  0.00  0.00                      
>  >> % busy  100     0     0     0                                                               
>  >> skip...
>  >> 
>  >> [idle@hst ~]#vmstat -w 5
>  >>  procs      memory      page                    disks     faults      cpu
>  >>  r b w     avm    fre  flt  re  pi  po  fr  sr da0 md0   in   sy  cs us sy id
>  >>  1 0 0 1996756  54208   42  23  25   7  39 336   0   0  531  638 404 21  5 74
>  >>  1 6 0 2011488  13272  571   0   0   1 2506   8 129   0 1356 2125 159  3  4 93
>  >>  4 27 0 2022852   4228  267   0   0   1 1657   4 272   0 1450  784  96  1  3 96
>  >>  1 10 0 2027492  40220  449   5   0  12 3257 9384 574   0 1773 4366 189  8  7 85
>  >>  1 10 0 2035064  25604  746   2   1   7 2965 4466 157   0 1380 4486 184  8  7 85
>  >>  0 11 0 2030860   4228  515   2   1   3 2098  31 214   0 1412 3077 149 16  5 79
>  >>  3 14 0 2042792  10004 1014   4   1   5 2787 4432 267   0 1440 1735 118  2  4 94
>  >>  2 16 0 2062664   4228  301   0   1   2 2843  27 564   0 1759 1250 107  5  4 91
>  >> 
>  >> [idle@hst ~]#iostat -w 5
>  >>       tty             da0            pass0            pass1             cpu
>  >>  tin tout  KB/t tps  MB/s   KB/t tps  MB/s   KB/t tps  MB/s  us ni sy in id
>  >>    0   25  0.00   0  0.00   0.00   0  0.00   0.00   0  0.00  21  0  4  0 74
>  >>    1  109 62.56 242 14.81   0.00   0  0.00   0.00   0  0.00   7  0  9  0 83
>  >>    0  101 18.29 433  7.73   0.00   0  0.00   0.00   0  0.00   2  0  2  0 95
>  >>    0   76 26.45 281  7.25   0.00   0  0.00   0.00   0  0.00   3  0  4  0 93
>  >>    0   94 15.99 357  5.57   0.00   0  0.00   0.00   0  0.00   2  0  2  0 96
>  >>    0   15 16.04 667 10.45   0.00   0  0.00   0.00   0  0.00   0  0  3  1 96
>  >>    0   93 15.99 558  8.71   0.00   0  0.00   0.00   0  0.00   0  0  2  1 97
>  >>    0   80 16.16 252  3.98   0.00   0  0.00   0.00   0  0.00   0  0  1  0 98
>  >>    0  117 23.44 240  5.49   0.00   0  0.00   0.00   0  0.00   9  0  6  0 85
>  >> 
>  >> Why this happen?
> 
>> The numbers from your vmstat output indicate that your
>> machine is paging ("swapping"), i.e. it's running out
>> or RAM.
> 
> That seems like true, and I forget to mention that 2/3 of swap is
> located at physical disk(da0).
> [idle@hst ~]#swapinfo
> Device          1K-blocks     Used    Avail Capacity  Type
> /dev/da0s1b        524160   463300    60860    88%    Interleaved
> /dev/rvn0b        1048448   578724   469724    55%    Interleaved
> Total             1572608  1042024   530584    66%
> 
> But what I can't understand - why such non-critical(as it seems to me) disk activity,
> cause 100% busyness for disk? Its claim to be 40.000MB/s transfers, but
> sometimes its 100% busy when iostat show only 1 MB/s.


If the disks are truly busy, then the heads might be wiggling away all 
your 40MB/s due to seeks.  Run gstat and see what it shows also.

I don't think you can do any real tests while the machine is swapping, 
since that will most likely destroy any notion of performance for you.

The dd test you did above also isn't that accurate, because you were 
writing to a file system on the disk, and that can change your 
performance quite a bit depending on a lot of factors based on the file 
system.

Eric





Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?46028567.8080209>