DBAsupport.com Forums - Powered by vBulletin
Results 1 to 10 of 34

Thread: slow inserts

Threaded View

  1. #9
    Join Date
    Jan 2006
    Posts
    23
    Thanks a lot, Tamil. Here's where I'm at.
    The insert rate is what the business measures and they want to see at about 60,000 inserts per min for Oracle (the second system is running on DB2 and already does that with almost no tuning). So they consider Oracle a bad system because of it's bad performance for this app. I'm trying to tune it up so I could get better insert rate - whatever is required.
    The reason for PCT free=60 is that I need to keep less data in the block. I can see how 5-6 (sometimes 12-13 sessions) are going after the same data on selects/updates - that causes my big contention on db sequential reads. I use 4K page size for the same reason - less data in the block. The data is selected very randomly - the possibility of not finding it in the cache is pretty big... especially where there are 100,000 mln of records in the 10 base tables.
    I started with ASSM - the insert rate I'm getting is the same like now. Then I tried using manual + freelists like 48 per table - and my troughput went a little bit up but had waits. Adding of 1 freelist group did not help a lot but ncreasing them to 5-7 did. I know this will cause me space though.
    My wait events are buffer busy waits and enq: TX - index contention. Oracle advices to increase initran on this indexes/tables to eliminate these waits.
    After I went to 7freelist groups/20 freelist my undo table space start getting slammed - I guess there's more activity now. Here are my waits by class:
    PHP Code:
    data block    921559    47037
    segment header    311    18
    free 
    list    4440    1734
    1st level bmb    14    2
    2nd level bmb    2    0
    undo header    107972    9673
    undo block    237835    3804 
    The data blocks waits reported include the freelist waits as well.
    I still use auto undo handling - may be I have to go to manual one if the auto doesn't handle it.
    I must consider between 72 to 96 concurent sessions - app instances running together. The problems with Oracle is that I get the same insert rate no matter how many processes I run. Let's say I run 25 processes - I get 10,000 inserts a min. You would expect if I run 50 processes to get may be no 20,000 (because of the contention) but at least 15-18,000. No, this is not the case... I get the same 10,000 inserts no matter what tuning I do (ASSM, ASM, freelist or no, freelist groups, etc.)
    I'm starting new testing today - I'll try single freelist group and different % of Pctfree = and I'll post the results.
    I cannot use partitioning for the moment - still waiting for approval per license agreement.
    Thanks a lot for the help - really appreciated.
    mj
    Last edited by mjschwenger; 01-11-2006 at 12:39 PM.

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •  


Click Here to Expand Forum to Full Width