I recently tweaked Oracle (8K blocks, log_buffer gt 2M) on a Solaris
AMD64 system for max performance on a Sun 6140 with one tray of 73 GB
15K RPM drives. Definitely needed to place the datafiles and redo logs
on isolated RAID groups. Wasn't sure how many blocks Oracle batches for
IO. Used dtrace's bitesize script to generate the distributions below.
Based on the dtrace output, and after testing multiple segment sizes,
finally settled on Segment Size (stripe size) 256K for both datafiles
and redo logs.

Also observed performance boost by using forcedirectio and noatime on
the 6140 mount points and observed smoother performance by using 2M
pagesize (MPSS) by adding the line below to Oracle's .profile (and
verified with pmap -s [ORACLE PID]|grep 2M). 

Oracle MPSS .profile
LD_PRELOAD=$LD_PRELOAD:mpss.so.1
MPSSHEAP=2M
MPSSSTACK=2M
export LD_PRELOAD MPSSHEAP MPSSSTACK
MPSSERRFILE=~/mpsserr
export MPSSERRFILE  

Here's the final 6140 config:
Oracle datafiles => 12 drives RAID 10 Sement Size 256
Oracle redo log A => 2 drives RAID 0 Sement Size 256
Oracle redo log B => 2 drives RAID 0 Sement Size 256

./bitesize.d 
 1452  ora_dbw2_prf02\0

           value  ------------- Distribution ------------- count
           16384 |                                         0
           32768 |@@@@@@@@@@@@@@@@@@@@                     1
           65536 |                                         0
          131072 |@@@@@@@@@@@@@@@@@@@@                     1
          262144 |                                         0

    1454  ora_dbw3_prf02\0

           value  ------------- Distribution ------------- count
            4096 |                                         0
            8192 |@@@@@@@@@@@@@@@@@@@@@@@                  4
           16384 |@@@@@@                                   1
           32768 |@@@@@@                                   1
           65536 |                                         0
          131072 |@@@@@@                                   1
          262144 |                                         0

    1448  ora_dbw0_prf02\0

           value  ------------- Distribution ------------- count
            4096 |                                         0
            8192 |@@@@@@@@@@@@@@@@@@@@@@                   5
           16384 |@@@@@@@@@@@@@                            3
           32768 |                                         0
           65536 |                                         0
          131072 |@@@@                                     1
          262144 |                                         0

    1450  ora_dbw1_prf02\0

           value  ------------- Distribution ------------- count
           65536 |                                         0
          131072 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 2
          262144 |                                         0

    1458  ora_ckpt_prf02\0

           value  ------------- Distribution ------------- count
            8192 |                                         0
           16384 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ 43
           32768 |                                         0

    1456  ora_lgwr_prf02\0

           value  ------------- Distribution ------------- count
             256 |                                         0
             512 |@@@@@@@@                                 24
            1024 |@@@@                                     12
            2048 |@@@@@                                    15
            4096 |@@@@@                                    14
            8192 |                                         0
           16384 |                                         1
           32768 |@                                        4
           65536 |                                         0
          131072 |@                                        4
          262144 |@@                                       6
          524288 |@@@@@@@@@@@@@@                           42
         1048576 |                                         0 


This email message is for the sole use of the intended recipient(s) and
may contain GDC4S confidential or privileged information. Any
unauthorized review, use, disclosure or distribution is prohibited. If
you are not an intended recipient, please contact the sender by reply
email and destroy all copies of the original message.

-----Original Message-----
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Asif Iqbal
Sent: Tuesday, November 20, 2007 3:08 PM
To: [EMAIL PROTECTED]
Cc: [EMAIL PROTECTED]; perf-discuss@opensolaris.org;
[EMAIL PROTECTED]
Subject: Re: [perf-discuss] [storage-discuss] zpool io to 6140 is really
slow

On Nov 20, 2007 10:40 AM, Andrew Wilson <[EMAIL PROTECTED]> wrote:
>
>  What kind of workload are you running. If you are you doing these 
> measurements with some sort of "write as fast as possible" 
> microbenchmark,

Oracle database with blocksize 16K .. populating the database as fast I
can

> once the 4 GB of nvram is full, you will be limited by backend 
> performance (FC disks and their interconnect) rather than the host /
controller bus.
>
>  Since, best case, 4 gbit FC can transfer 4 GBytes of data in about 10

> seconds, you will fill it up, even with the backend writing out data 
> as fast as it can, in about 20 seconds. Once the nvram is full, you 
> will only see the backend (e.g. 2 Gbit) rate.
>
>  The reason these controller buffers are useful with real applications

> is that they smooth the bursts of writes that real applications tend 
> to generate, thus reducing the latency of those writes and improving 
> performance. They will then "catch up" during periods when few writes 
> are being issued. But a typical microbenchmark that pumps out a steady

> stream of writes won't see this benefit.
>
>  Drew Wilson
>
>
>
>  Asif Iqbal wrote:
>  On Nov 20, 2007 7:01 AM, Chad Mynhier <[EMAIL PROTECTED]> wrote:
>
>
>  On 11/20/07, Asif Iqbal <[EMAIL PROTECTED]> wrote:
>
>
>  On Nov 19, 2007 1:43 AM, Louwtjie Burger <[EMAIL PROTECTED]>
wrote:
>
>
>  On Nov 17, 2007 9:40 PM, Asif Iqbal <[EMAIL PROTECTED]> wrote:
>
>
>  (Including storage-discuss)
>
> I have 6 6140s with 96 disks. Out of which 64 of them are Seagate 
> ST3300007FC (300GB - 10000 RPM FC-AL)
>
>  Those disks are 2Gb disks, so the tray will operate at 2Gb.
>
>
>  That is still 256MB/s . I am getting about 194MB/s
>
>  2Gb fibre channel is going to max out at a data transmission rate
>
>  But I am running 4GB fiber channels with 4GB NVRAM on a 6 tray of 
> 300GB FC 10K rpm (2Gb/s) disks
>
> So I should get "a lot" more than ~ 200MB/s. Shouldn't I?
>
>
>
>
>  around 200MB/s rather than the 256MB/s that you'd expect. Fibre 
> channel uses an 8-bit/10-bit encoding, so it transmits 8-bits of data 
> in 10 bits on the wire. So while 256MB/s is being transmitted on the 
> connection itself, only 200MB/s of that is the data that you're 
> transmitting.
>
> Chad Mynhier
>
>
>
>
>
>
>



--
Asif Iqbal
PGP Key: 0xE62693C5 KeyServer: pgp.mit.edu
_______________________________________________
perf-discuss mailing list
perf-discuss@opensolaris.org
_______________________________________________
perf-discuss mailing list
perf-discuss@opensolaris.org

Reply via email to