Unix Technical Forum

Oracle Performance Degradation at Large Table sizes

This is a discussion on Oracle Performance Degradation at Large Table sizes within the Oracle Miscellaneous forums, part of the Oracle Database category; --> Hi all, Environment: HP Proliant. Red Hat AS 3. RAID 5 (3 HD 330 GB each). 8 GB RAM. ...


Go Back   Unix Technical Forum > Database Server Software > Oracle Database > Oracle Miscellaneous

FAQ Members List Calendar Search Today's Posts Mark Forums Read
  #1 (permalink)  
Old 04-08-2008, 12:20 PM
enigma
 
Posts: n/a
Default Oracle Performance Degradation at Large Table sizes

Hi all,

Environment: HP Proliant. Red Hat AS 3. RAID 5 (3 HD 330 GB each). 8
GB RAM.

Background: The DB is installed for a GSM operator of a big country
and has records for all the subscribers in that country. The number of
subscribers is increasing and we now have some tables that contain
about 13 million entries. We are experiencing unstable performance on
insert on all tables. sometimes an insert takes about 1.5 ms and other
times it goes down to 500 micro seconds.

Does Oracle have problems with large table sizes? Since this problem
was not there when the number of subscribers was significantly less.
Can you point me to a study on oracle performance?

Does RAID have to do with this?

I appreciate any initial direction that could help me start narrowing
down the problem.

Thank you.

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #2 (permalink)  
Old 04-08-2008, 12:20 PM
enigma
 
Posts: n/a
Default Re: Oracle Performance Degradation at Large Table sizes

Sorry the database is oracle 10g

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #3 (permalink)  
Old 04-08-2008, 12:20 PM
Frank van Bortel
 
Posts: n/a
Default Re: Oracle Performance Degradation at Large Table sizes

On 21 feb, 10:24, "enigma" <maboun...@gmail.com> wrote:
> Hi all,
>
> Environment: HP Proliant. Red Hat AS 3. RAID 5 (3 HD 330 GB each). 8
> GB RAM.
>
> Background: The DB is installed for a GSM operator of a big country
> and has records for all the subscribers in that country. The number of
> subscribers is increasing and we now have some tables that contain
> about 13 million entries. We are experiencing unstable performance on
> insert on all tables. sometimes an insert takes about 1.5 ms and other
> times it goes down to 500 micro seconds.
>
> Does Oracle have problems with large table sizes? Since this problem
> was not there when the number of subscribers was significantly less.


Table layout? # of indexes?

> Can you point me to a study on oracle performance?


tpm.org
>
> Does RAID have to do with this?


Sure - software based RAID5 would have a severe negative impact.
What do you have?
>
> I appreciate any initial direction that could help me start narrowing
> down the problem.
>
> Thank you.



Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #4 (permalink)  
Old 04-08-2008, 12:20 PM
Mark D Powell
 
Posts: n/a
Default Re: Oracle Performance Degradation at Large Table sizes

On Feb 21, 10:35 am, "Frank van Bortel" <frank.van.bor...@gmail.com>
wrote:
> On 21 feb, 10:24, "enigma" <maboun...@gmail.com> wrote:
>
> > Hi all,

>
> > Environment: HP Proliant. Red Hat AS 3. RAID 5 (3 HD 330 GB each). 8
> > GB RAM.

>
> > Background: The DB is installed for a GSM operator of a big country
> > and has records for all the subscribers in that country. The number of
> > subscribers is increasing and we now have some tables that contain
> > about 13 million entries. We are experiencing unstable performance on
> > insert on all tables. sometimes an insert takes about 1.5 ms and other
> > times it goes down to 500 micro seconds.

>
> > Does Oracle have problems with large table sizes? Since this problem
> > was not there when the number of subscribers was significantly less.

>
> Table layout? # of indexes?
>
> > Can you point me to a study on oracle performance?

>
> tpm.org
>
>
>
> > Does RAID have to do with this?

>
> Sure - software based RAID5 would have a severe negative impact.
> What do you have?
>
>
>
>
>
> > I appreciate any initial direction that could help me start narrowing
> > down the problem.

>
> > Thank you.- Hide quoted text -

>
> - Show quoted text -


You need to look at the explain plans for the SQL operations that are
having a problem. Is the Oracle provided gather statistics routine in
use or was it modified? Have you verified that the statistics are
current and being updated properly? You could be having issued
related to bind variable peeking or SQL that has been hinted to run a
certain way that really should be ran how the CBO wants to run it.
You need the plans to know.

It is very possible that the issues your site is experiencing are
application design issues that are not noticable with small data
quantities. I have seen this a few times.

A few statspack runs along with the plans should prove helpful.

HTH -- Mark D Powell --



Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #5 (permalink)  
Old 04-08-2008, 12:20 PM
joel garry
 
Posts: n/a
Default Re: Oracle Performance Degradation at Large Table sizes

On Feb 21, 1:24 am, "enigma" <maboun...@gmail.com> wrote:
> Hi all,
>
> Environment: HP Proliant. Red Hat AS 3. RAID 5 (3 HD 330 GB each). 8
> GB RAM.
>
> Background: The DB is installed for a GSM operator of a big country
> and has records for all the subscribers in that country. The number of
> subscribers is increasing and we now have some tables that contain
> about 13 million entries. We are experiencing unstable performance on
> insert on all tables. sometimes an insert takes about 1.5 ms and other
> times it goes down to 500 micro seconds.
>
> Does Oracle have problems with large table sizes? Since this problem
> was not there when the number of subscribers was significantly less.
> Can you point me to a study on oracle performance?
>
> Does RAID have to do with this?
>
> I appreciate any initial direction that could help me start narrowing
> down the problem.
>
> Thank you.


To narrow down the problem, you must follow a performance tuning
methodology. There are a number of them, including Oracle's own. A
lot of people like Cary Milsap's http://www.hotsos.com/e-library/oop.php

Some people might skip all that and start hooting about RAID-5. It
might very well be your problem, if you are doing something that
causes contention among writers, in particular if you have redo, undo,
regular database writes and archiving all going to the same device.
Redo and archiving in particular are sensitive to that disk
architecture, especially with just 3 disks and a single controller
path.

Since your problem is intermittent, it may be due to periodic system
activities possibly combined with application inefficiencies (in
general, most performance problems are application oriented, but some
really thoughtless system configuration can override that). It is not
as likely due to the simple size of the tables, unless you have some
strange deletion routines (the former was less true in earlier
versions of Oracle, but that may also depend on if you've upgraded in
certain ways and which exact [ie 10.1.2.0] version of Oracle you use -
so post that!). If you have many tens of thousands of extents in the
tables there may be more issues so post that, too. You say it is on
all tables - how have you determined that?

The first thing you should do is look at the alert log and see if it
is complaining about anything. A millisecond doesn't strike me as
much of a variance on an insert, so are you really talking about a lot
of inserts adding up? Are your cpu's pegged? What does your swapinfo
look like? Where exactly are all these inserts coming from?

As Mark suggested, some statspacks may be informative. They will give
some clues about what the system is waiting on. Also see the Oracle
manual on Performance Tuning to see some other things to look at.
Post your init.ora parameters that are non-default. Look for system
tables named something like advisor.

jg
--
@home.com is bogus.
http://www.freud.org.uk/indexdream.html

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #6 (permalink)  
Old 04-08-2008, 12:21 PM
Robert Klemme
 
Posts: n/a
Default Re: Oracle Performance Degradation at Large Table sizes

On 21.02.2007 19:41, Mark D Powell wrote:
> It is very possible that the issues your site is experiencing are
> application design issues that are not noticable with small data
> quantities. I have seen this a few times.


Since the difference between fast and slow is 1ms the variance could
also be caused by other activity (log writing, EM activity) going on
concurrently or just different access times on the disk, couldn't it?

Kind regards

robert
Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #7 (permalink)  
Old 04-08-2008, 12:21 PM
Mark D Powell
 
Posts: n/a
Default Re: Oracle Performance Degradation at Large Table sizes

On Feb 22, 5:29 am, Robert Klemme <shortcut...@googlemail.com> wrote:
> On 21.02.2007 19:41, Mark D Powell wrote:
>
> > It is very possible that the issues your site is experiencing are
> > application design issues that are not noticable with small data
> > quantities. I have seen this a few times.

>
> Since the difference between fast and slow is 1ms the variance could
> also be caused by other activity (log writing, EM activity) going on
> concurrently or just different access times on the disk, couldn't it?
>
> Kind regards
>
> robert


Robert, you have a very good point. I do not know how I missed the
time difference being so small with only two posts between the OP and
my response. Other activity is a definite possibility as I think is
free space management overhead and buffer pool management overhead.
Some of these inserts are going to go into newly formatted blocks and
others are going to fill up these blocks. Some inserts are going to
require new extents be allocated to the target table/indexes, some are
not. Some of these inserts are going to have to wait for a free block
to be fetched into the buffer pool, some are not.

enigma, a series of statspack reports should help you determine if
part of what you are seeing are related to buffer pool management
related activities: DBWR make free requests, summed dirty queue
length, etc ....

You can monitor dba_segments to see how often the target table/indexes
are allocating extents. Provided you are using locally managed
tablespaces the cost should not be too high but I believe you will
find that uniform extent allocation has a small advantage over auto-
allocate (less logic involved). If you are using dictionary mangement
that is a definite potential time consumption problem.

HTH -- Mark D Powell --







Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #8 (permalink)  
Old 04-08-2008, 12:21 PM
William Robertson
 
Posts: n/a
Default Re: Oracle Performance Degradation at Large Table sizes

On Feb 22, 2:50 pm, "Mark D Powell" <Mark.Pow...@eds.com> wrote:
> On Feb 22, 5:29 am, Robert Klemme <shortcut...@googlemail.com> wrote:
>
> > On 21.02.2007 19:41, Mark D Powell wrote:

>
> > > It is very possible that the issues your site is experiencing are
> > > application design issues that are not noticable with small data
> > > quantities. I have seen this a few times.

>
> > Since the difference between fast and slow is 1ms the variance could
> > also be caused by other activity (log writing, EM activity) going on
> > concurrently or just different access times on the disk, couldn't it?

>
> > Kind regards

>
> > robert

>
> Robert, you have a very good point. I do not know how I missed the
> time difference being so small with only two posts between the OP and
> my response. Other activity is a definite possibility as I think is
> free space management overhead and buffer pool management overhead.
> Some of these inserts are going to go into newly formatted blocks and
> others are going to fill up these blocks. Some inserts are going to
> require new extents be allocated to the target table/indexes, some are
> not. Some of these inserts are going to have to wait for a free block
> to be fetched into the buffer pool, some are not.
>
> enigma, a series of statspack reports should help you determine if
> part of what you are seeing are related to buffer pool management
> related activities: DBWR make free requests, summed dirty queue
> length, etc ....
>
> You can monitor dba_segments to see how often the target table/indexes
> are allocating extents. Provided you are using locally managed
> tablespaces the cost should not be too high but I believe you will
> find that uniform extent allocation has a small advantage over auto-
> allocate (less logic involved). If you are using dictionary mangement
> that is a definite potential time consumption problem.
>
> HTH -- Mark D Powell --


I would also recommend reading up on freelist contention, if the slow
insert times are associated with multiple processes inserting
simultaneously. A good article by Howard Rogers on Dizwell.com:
http://www.dizwell.com/prod/node/541
You might also need to look at partitioning depending on what the
extended trace tells you. Which reminds me, have a look at the OraSRP
(Session Resource Profiler) https://twiki.cern.ch/twiki/bin/view...LTraceAnalysis

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On
Forum Jump


All times are GMT. The time now is 07:18 AM.


Powered by vBulletin® Version 3.6.5
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
www.UnixAdminTalk.com