Unix Technical Forum

Sizing of mulitple tempdb's ? ? ?

This is a discussion on Sizing of mulitple tempdb's ? ? ? within the Sybase forums, part of the Database Server Software category; --> We considering implementing multiple tempdb's to deal with a tempdb system table contention problem. I've read what I can ...


Go Back   Unix Technical Forum > Database Server Software > Sybase

FAQ Members List Calendar Search Today's Posts Mark Forums Read
  #1 (permalink)  
Old 04-08-2008, 04:06 PM
How'd they do that?
 
Posts: n/a
Default Sizing of mulitple tempdb's ? ? ?

We considering implementing multiple tempdb's to deal with a tempdb
system table contention problem. I've read what I can from the
documentation
and white-papers (maybe I missed something), but there doesn't seem to be
any recommendation on how to size them. BTW, we're currently running
12.5.0.3, but will be migrating to12.5.1 withing a few months.

Our current tempdb is 2.0 Gb. It's that size because we were given some
extra disk space with a recent hardware upgrade. We didn't do any careful
calculation (is there one?) to determine the required tempdb size. We
figured if our old 1.0 Gb tempdb was big enough, increasing it to 2.0 Gb
couldn't hurt and will allow for future growth (without having to fight
operations
for more disk space <-- a sad story).

We have one particular application that is experiencing slowdowns because
of contention on syscolumns (among others). There are about 35 users of
this application, but only about 20 of those 35 are doing the job function
that
experiences the contention. The other 15 use a different function in the
application,
which doesn't seem to be affected.

We were thinking about creating three (no reason, it's just more) additional
tempdb's,
which we would bind that application to. The space for the additional
tempdb's would
be taken from the existing 2.0 Gb tempdb, so it will be shrinking in size.

Here are the questions we have:

How do you determine the correct number of additional tempdb's for this
application? Do you just add two, bind the application, and see if the
problem
goes away. If not, add a third, and so on?

How do we know what size to make the additional tempdb's. Since we're
only binding one application to them, we're thinking they should all be the
same
size. The new tempdb's would have to be a minimum size of, the maximum
amount
of space any one user of the application would need. That would likely NOT
be
big enough for concurrent access.

When we bind the application to the new tempdb's, do we unbind from the
default
tempdb? It seems like that should be the approach we take, but I don't
remember
reading that anywhere.

How do you determine the maximum size that our current tempdb is utilized?
I
recall a query based on OAM pages that showed usage at a point-in-time, but
that was long ago (4.9.2). Maybe there's something better now. Is it
possible
to determine the maximum amount of tempdb that any one user uses? That
would be interesting to know for sizing the new tempdb's.

Thanks.

Richard


Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #2 (permalink)  
Old 04-08-2008, 04:07 PM
Carl Kayser
 
Posts: n/a
Default Re: Sizing of mulitple tempdb's ? ? ?


"How'd they do that?" <rmcgorman_usenet@n__o__s__p__a__m__spamex.com> wrote
in message newsaKxb.516658$9l5.256570@pd7tw2no...
> We considering implementing multiple tempdb's to deal with a tempdb
> system table contention problem. I've read what I can from the
> documentation
> and white-papers (maybe I missed something), but there doesn't seem to be
> any recommendation on how to size them. BTW, we're currently running
> 12.5.0.3, but will be migrating to12.5.1 withing a few months.
>
> Our current tempdb is 2.0 Gb. It's that size because we were given some
> extra disk space with a recent hardware upgrade. We didn't do any careful
> calculation (is there one?) to determine the required tempdb size. We
> figured if our old 1.0 Gb tempdb was big enough, increasing it to 2.0 Gb
> couldn't hurt and will allow for future growth (without having to fight
> operations
> for more disk space <-- a sad story).
>
> We have one particular application that is experiencing slowdowns because
> of contention on syscolumns (among others). There are about 35 users of
> this application, but only about 20 of those 35 are doing the job function
> that
> experiences the contention. The other 15 use a different function in the
> application,
> which doesn't seem to be affected.
>
> We were thinking about creating three (no reason, it's just more)

additional
> tempdb's,
> which we would bind that application to. The space for the additional
> tempdb's would
> be taken from the existing 2.0 Gb tempdb, so it will be shrinking in size.
>
> Here are the questions we have:
>
> How do you determine the correct number of additional tempdb's for this
> application? Do you just add two, bind the application, and see if the
> problem
> goes away. If not, add a third, and so on?
>
> How do we know what size to make the additional tempdb's. Since we're
> only binding one application to them, we're thinking they should all be

the
> same
> size. The new tempdb's would have to be a minimum size of, the maximum
> amount
> of space any one user of the application would need. That would likely NOT
> be
> big enough for concurrent access.
>
> When we bind the application to the new tempdb's, do we unbind from the
> default
> tempdb? It seems like that should be the approach we take, but I don't
> remember
> reading that anywhere.
>
> How do you determine the maximum size that our current tempdb is utilized?


I would add on thresholds at, say, 1800MB, 1600MB, 1300MB, and 1100MB
(assuming a 2 GB tempdb). You could exepect a number of messages in the
error log and would sequentially eliminate the highest-valued thresholds
until you felt comfortable that you wouldn't trip the remaining high-value
threshold. A threshold is listed below for printing to your error log.
Then you can basically divide 2GB by the needed tempdb size to determine how
many tempdbs you could have.

The difficulty is that you can't directly identify the application that's
hogging the tempdb. (I have a more complex version for that - but you can't
disaggregate the tempdb information, so it is limited.)

> I
> recall a query based on OAM pages that showed usage at a point-in-time,

but
> that was long ago (4.9.2). Maybe there's something better now. Is it
> possible
> to determine the maximum amount of tempdb that any one user uses? That
> would be interesting to know for sizing the new tempdb's.
>
> Thanks.
>
> Richard
>
>


create procedure sp_thaprint (@DBNAME varchar (30),

@SEGMENTNAME varchar (30),

@FREE_SPACE int,

@STATUS int) as



-- IF THIS STORED PROCEDURE IS USER EXECUTED THE PRINT MESSAGES ARE SENT
TO

-- THE CLIENT. IF SYSTEM INVOKED THE PRINT MESSAGES GO TO THE ERROR LOG.



set ansinull on

set flushmessage on

set string_rtruncation on



declare @fsprint varchar (11)



print '-----------------------------------------------'



print 'Sp_thaprint invoked.'



print ' Database = %1!,', @DBNAME



print ' Segment = %1!,', @SEGMENTNAME



select @fsprint = ltrim (substring (convert (char (14),

convert (money,

@FREE_SPACE),

1),

1,

11))



print ' Threshold = %1! free pages,', @fsprint



print ' Status = %1!.', @STATUS



print '-----------------------------------------------'

go


Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #3 (permalink)  
Old 04-08-2008, 04:07 PM
noone
 
Posts: n/a
Default Re: Sizing of mulitple tempdb's ? ? ?

Carl Kayser wrote:
>
> The difficulty is that you can't directly identify the application that's
> hogging the tempdb. (I have a more complex version for that - but you can't
> disaggregate the tempdb information, so it is limited.)
>


Have not yet implemented multiple tempdb, but ...

Why did Sybase choose to implement multiple tempdb this way anyway ?
I would have preferred that Sybase let me, the SA, tell the database
which tempdb a user database or a login will use.

Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #4 (permalink)  
Old 04-08-2008, 04:07 PM
How'd they do that?
 
Posts: n/a
Default Re: Sizing of mulitple tempdb's ? ? ?

>
> Have not yet implemented multiple tempdb, but ...
>
> Why did Sybase choose to implement multiple tempdb this way anyway ?
> I would have preferred that Sybase let me, the SA, tell the database
> which tempdb a user database or a login will use.
>


If memory serves, you can bind a logins or applications to one or more
of the new tempdb's.


Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #5 (permalink)  
Old 04-08-2008, 04:07 PM
Carl Kayser
 
Posts: n/a
Default Re: Sizing of mulitple tempdb's ? ? ?

I'm not sure as to what you mean by "which tempdb a user database ...will
use". You may want to look at
http://www.sybase.com/detail/1,6904,1023731,00.html.

However, I believe there are some options in 12.5.1 that are available in
12.5.0.3. Unfortunately the documentation is unclear on the differences.

"noone" <noone@noone.org> wrote in message
news:mNuyb.34067$aT.20881@news-server.bigpond.net.au...
> Carl Kayser wrote:
> >
> > The difficulty is that you can't directly identify the application

that's
> > hogging the tempdb. (I have a more complex version for that - but you

can't
> > disaggregate the tempdb information, so it is limited.)
> >

>
> Have not yet implemented multiple tempdb, but ...
>
> Why did Sybase choose to implement multiple tempdb this way anyway ?
> I would have preferred that Sybase let me, the SA, tell the database
> which tempdb a user database or a login will use.
>



Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #6 (permalink)  
Old 04-08-2008, 04:07 PM
How'd they do that?
 
Posts: n/a
Default Re: Sizing of mulitple tempdb's ? ? ?

Thanks for the post Carl. :-)

I'll certainly implement the thresholds to help us determine how "used" our
current tempdb is. That'll help with the sizing of new tempdb's.

Hopefully, someone will respond to my other questions.

Richard


Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #7 (permalink)  
Old 04-08-2008, 04:07 PM
noone
 
Posts: n/a
Default Re: Sizing of mulitple tempdb's ? ? ?

Carl Kayser wrote:

> I'm not sure as to what you mean by "which tempdb a user database ...will
> use".


Meaning, I don't what ASE to round-robin among several tempdbs.
I was thinking of "assigning / attaching" a tempdb to a user database.
I could then have each user database "assigned" to their own tempdb.



Digg this Post!Add Post to del.icio.usBookmark Post in TechnoratiFurl this Post!
Reply With Quote
  #8 (permalink)  
Old 04-08-2008, 04:07 PM
Carl Kayser
 
Posts: n/a
Default Re: Sizing of mulitple tempdb's ? ? ?

OK, I see your point. I guess that you would assign a large tempdb to a DSS
database and a smaller one to an OLTP database. I presume that the current
ASE technique would be to allocate DSS applications (e.g., InfoMaker) to the
large tempdb and everything else default to a smaller tempdb. (A devious
user could "use DSS database" and select stuff from the OLTP database in
order to get more tempdb space.)

To clarify (I hope) on the White Paper previously sent:

In 12.5.0.3 applications can be bound to a tempdb. Also the "sa" login can
be bound to a tempdb. (I find this bothersome since it is generally
recommended that the "sa" account be locked and individual accounts with
sa_role be used instead.)

In 12.5.1 any login can be bound to a tempdb as well.

"noone" <noone@noone.org> wrote in message
news:O%Vyb.35987$aT.25443@news-server.bigpond.net.au...
> Carl Kayser wrote:
>
> > I'm not sure as to what you mean by "which tempdb a user database

....will
> > use".

>
> Meaning, I don't what ASE to round-robin among several tempdbs.
> I was thinking of "assigning / attaching" a tempdb to a user database.
> I could then have each user database "assigned" to their own tempdb.
>
>
>



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 08:36 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