c/fe

http://d.hatena.ne.jp/uzulla から移行しました。

PIO転送の遅さは異常

どうにも遅くて仕方ないサーバーがあったのだが、原因はディスクの速度が致命的に遅い事だと判った。

# hdparm -t /dev/hda1
/dev/hda1:(ちょっと古いがまともなディスク)
 Timing buffered disk reads:  64 MB in  5.58 seconds = 11.47 MB/sec 
#
# hdparm -t /dev/hdb1
/dev/hdb1:(1.4って…
 Timing buffered disk reads:  64 MB in 44.87 seconds =  1.43 MB/sec 

これはひどいね(苦笑)1.4 MB/sって10BaseかCDROMドライブかよ。


hdparmを確認した所、DiskがPIO転送におっこってしまっていたかららしい。

# hdparm  /dev/hdb

/dev/hdb:
 multcount    = 16 (on)
 I/O support  =  0 (default 16-bit)
 unmaskirq    =  0 (off)
 using_dma    =  0 (off)   (PIO転送になっちゃってる…
 keepsettings =  0 (off)
 nowerr       =  0 (off)
 readonly     =  0 (off)
 readahead    =  8 (on)
 geometry     = 30401/255/63, sectors = 488397168, start = 0
 busstate     =  1 (on)
# hdparm -d1 /dev/hdb (DMAを有効に
# hdparm  /dev/hdb

/dev/hdb:
 multcount    = 16 (on)
 I/O support  =  0 (default 16-bit)
 unmaskirq    =  0 (off)
 using_dma    =  1 (on)   (DMAが有効になった
 keepsettings =  0 (off)
 nowerr       =  0 (off)
 readonly     =  0 (off)
 readahead    =  8 (on)
 geometry     = 30401/255/63, sectors = 488397168, start = 0
 busstate     =  1 (on)

# hdparm -t /dev/hdb1

/dev/hdb1:
 Timing buffered disk reads:  64 MB in  1.35 seconds = 47.41 MB/sec

無事直った。


一応原因究明のためにLoadは見ていて、ミョーにSystemが上がっていたは知っていた。古いサーバーだったので*1てっきりメモリスワップ処理やディスクキャッシュ処理だと思っていたのだが…、PIOの処理だったとは。
うーん、基本的な事はちゃんとしらべなきゃダメですね。

つかHDDが1台しかついてないとおもっていて、S.M.A.R.Tまでちゃんと確認したのに気付かなかったよ…。

ちなみに、SMARTの出力もちょっと微妙なので、PIO転送に落ちた理由はちゃんとあるんだろうな、と思った。

# /usr/sbin/smartctl -a /dev/hdb
Device: ST3250824A  Supports ATA Version 7
Drive supports S.M.A.R.T. and is enabled
Check S.M.A.R.T. Passed.

General Smart Values:
Off-line data collection status: (0x82) Offline data collection activity
                                        completed without error

Self-test execution status:      (   0) The previous self-test routine completed
                                        without error or no self-test has ever
                                        been run

Total time to complete off-line
data collection:                 ( 430) Seconds

Offline data collection
Capabilities:                    (0x5b)SMART EXECUTE OFF-LINE IMMEDIATE
                                        Automatic timer ON/OFF support
                                        Suspend Offline Collection upon new
                                        command
                                        Offline surface scan supported
                                        Self-test supported

Smart Capablilities:           (0x0003) Saves SMART data before entering
                                        power-saving mode
                                        Supports SMART auto save timer

Error logging capability:        (0x01) Error logging supported

Short self-test routine
recommended polling time:        (   1) Minutes

Extended self-test routine
recommended polling time:        ( 100) Minutes

Vendor Specific SMART Attributes with Thresholds:
Revision Number: 10
Attribute                    Flag     Value Worst Threshold Raw Value
(  1)Raw Read Error Rate     0x000f   117   086   006       132190999
(  3)Spin Up Time            0x0003   098   098   000       0
(  4)Start Stop Count        0x0032   100   100   020       9
(  5)Reallocated Sector Ct   0x0033   100   100   036       0
(  7)Seek Error Rate         0x000f   053   045   030       61977077
(  9)Power On Hours          0x0032   097   097   000       2731
( 10)Spin Retry Count        0x0013   100   100   097       0
( 12)Power Cycle Count       0x0032   100   100   020       20
(187)Unknown Attribute       0x0032   100   100   000       0
(189)Unknown Attribute       0x003a   100   100   000       0
(190)Unknown Attribute       0x0022   060   051   045       824705064
(194)Temperature             0x0022   040   049   000       40
(195)Hardware ECC Recovered  0x001a   067   052   000       88921148
(197)Current Pending Sector  0x0012   100   100   000       0
(198)Offline Uncorrectable   0x0010   100   100   000       0
(199)UDMA CRC Error Count    0x003e   200   200   000       0
(200)Unknown Attribute       0x0000   100   253   000       0
(202)Unknown Attribute       0x0032   100   253   000       0
SMART Error Log:
SMART Error Logging Version: 1
No Errors Logged

ケーブルかな?それともドライブかな?SEEKエラー 多いし、ドライブだろうな。
まだ閾値を超えている物はないけれど、一応近日中にはHDD交換しなきゃな。

*1:REDHAT Linux7.3(笑)