Hi everyone ,

I have a server with SATA RAID on it and a problem that disk IO would slow the system almost to freeze.

in short, doing anything like:

$ tar zxfp largesourcecodearchive.tar.gz

(or anything fairly disk i/o intensive, but especially that type of thing)

...brings my system to it's knees. although the extraction moves along
fairly quickly, all other tasks on my system happen at an unnacceptably slow
rate.
as this is going to be a multi-user system, it is not acceptable to have one
user's source code extraction (or backup creation) cause all other user's processes be slown to a complete crawl. in fact, in my case, this amounts to a local denial-of-service issue. extracting three or more tar archives at once
causes the entire system to nearly stop responding until they're finished.


I tried using nice and ionice , but this is not really a solution for my situation , as I cannot monitore all the process and setting nice and ionice values to them .

I believe that something like unmask irq or 32bitaccess and maybe write cache would help me , but hdparm is not working as I have SATA drives, and Im not sure how do i set those with sdparm (taking in mind i have mirrored RAID)

Any help would be appreciated .

Below goes information on my HDD:

Code:
hdparm -I /dev/sda

/dev/sda:

ATA device, with non-removable media
        Model Number:       ST3250820AS
        Serial Number:      6QE1QBQ5
        Firmware Revision:  3.AAE
Standards:
        Supported: 7 6 5 4
        Likely used: 7
Configuration:
        Logical         max     current
        cylinders       16383   16383
        heads           16      16
        sectors/track   63      63
        --
        CHS current addressable sectors:   16514064
        LBA    user addressable sectors:  268435455
        LBA48  user addressable sectors:  488397168
        device size with M = 1024*1024:      238475 MBytes
        device size with M = 1000*1000:      250059 MBytes (250 GB)
Capabilities:
        LBA, IORDY(can be disabled)
        Queue depth: 32
        Standby timer values: spec'd by Standard, no device specific minimum
        R/W multiple sector transfer: Max = 16  Current = 16
        Recommended acoustic management value: 254, current value: 0
        DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 udma5 *udma6
             Cycle time: min=120ns recommended=120ns
        PIO: pio0 pio1 pio2 pio3 pio4
             Cycle time: no flow control=120ns  IORDY flow control=120ns
Commands/features:
        Enabled Supported:
           *    SMART feature set
                Security Mode feature set
           *    Power Management feature set
                Write cache
           *    Look-ahead
           *    Host Protected Area feature set
           *    WRITE_BUFFER command
           *    READ_BUFFER command
           *    DOWNLOAD_MICROCODE
                SET_MAX security extension
           *    48-bit Address feature set
           *    Device Configuration Overlay feature set
           *    Mandatory FLUSH_CACHE
           *    FLUSH_CACHE_EXT
           *    SMART error logging
           *    SMART self-test
           *    General Purpose Logging feature set
           *    SATA-I signaling speed (1.5Gb/s)
           *    Native Command Queueing (NCQ)
           *    Phy event counters
                Device-initiated interface power management
           *    Software settings preservation
Security:
        Master password revision code = 65534
                supported
        not     enabled
        not     locked
                frozen
        not     expired: security count
        not     supported: enhanced erase
----------------------------------------------

 hdparm -i /dev/sda

/dev/sda:

 Model=ST3250820AS                             , FwRev=3.AAE   , SerialNo=            6QE1QBQ5
 Config={ HardSect NotMFM HdSw>15uSec Fixed DTR>10Mbs RotSpdTol>.5% }
 RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=4
 BuffType=unknown, BuffSize=8192kB, MaxMultSect=16, MultSect=?16?
 CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=268435455
 IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
 PIO modes:  pio0 pio1 pio2 pio3 pio4
 DMA modes:  mdma0 mdma1 mdma2
 UDMA modes: udma0 udma1 udma2
 AdvancedPM=no WriteCache=disabled
 Drive conforms to: Unspecified:  ATA/ATAPI-1 ATA/ATAPI-2 ATA/ATAPI-3 ATA/ATAPI-4 ATA/ATAPI-5 ATA/ATAPI-6 ATA/ATAPI-7

 * signifies the current active mode

---------------------------------------------------
 sdparm  /dev/sda -a -l
    /dev/sda: ATA       ST3250820AS       3.AA
    Direct access device specific parameters: WP=0  DPOFUA=0
Read write error recovery [rw] mode page:
  AWRE        1  Automatic write reallocation enabled
  ARRE        1  Automatic read reallocation enabled
  TB          0  Transfer block
  RC          0  Read continuous
  EER         0  Enable early recovery
  PER         0  Post error
  DTE         0  Data terminate on error
  DCR         0  Disable correction
  RRC         0  Read retry count
  COR_S       0  Correction span (obsolete)
  HOC         0  Head offset count (obsolete)
  DSOC        0  Data strobe offset count (obsolete)
  WRC         0  Write retry count
  RTL         0  Recovery time limit (ms)
Caching (SBC) [ca] mode page:
  IC          0  Initiator control
  ABPF        0  Abort pre-fetch
  CAP         0  Caching analysis permitted
  DISC        0  Discontinuity
  SIZE        0  Size enable
  WCE         0  Write cache enable
  MF          0  Multiplication factor
  RCD         0  Read cache disable
  DRRP        0  Demand read retention priority
  WRP         0  Write retention priority
  DPTL        0  Disable pre-fetch transfer length
  MIPF        0  Minimum pre-fetch
  MAPF        0  Maximum pre-fetch
  MAPFC       0  Maximum pre-fetch ceiling
  FSW         0  Force sequential write
  LBCSS       0  Logical block cache segment size
  DRA         0  Disable read ahead
  NV_DIS      0  Non-volatile cache disable
  NCS         0  Number of cache segments
  CSS         0  Cache segment size
Control [co] mode page:
  TST         0  Task set type
  TMF_ONLY    0  Task management functions only
  D_SENSE     0  Descriptor format sense data
  GLTSD       1  Global logging target save disable
  RLEC        0  Report log exception condition
  QAM         0  Queue algorithm modifier
  QERR        0  Queue error management
  RAC         0  Report a check
  UA_INTLCK   0  Unit attention interlocks control
  SWP         0  Software write protect
  ATO         0  Application tag owner
  TAS         0  Task aborted status
  AUTOLOAD    0  Autoload mode
  BTP        -1  Busy timeout period (100us)
  ESTCT      30  Extended self test completion time (sec)

------------------------------------------------

 hdparm -Tt /dev/sda

/dev/sda:
 Timing cached reads:   3376 MB in  2.00 seconds = 1688.60 MB/sec
 Timing buffered disk reads:  162 MB in  3.02 seconds =  53.70 MB/sec