I'm asking this question "for a friend"... personally, I've learned this lesson well:

"Don't! [whack] mess [whack] with [whack] minus [whack] gn!"

Seriously, this was posted as a comment on my blog...

mba said...

for dbsrv10/dbsrv11 with -gn option what is the max number that we can set? is there any performance hit by increasing number of concurrent server requests.

asked 31 Jul '10, 10:14

Breck%20Carter's gravatar image

Breck Carter
accept rate: 21%

The maximum gn value (aka multiprogramming level) that you can set is going to vary depending on:

  • whether you are using 32 or 64 bit software
  • the version that you are using
  • what other features that you are using in the software and hence what other DLLs/SOs the server process will be loading: e.g. OMNI/CIS/proxy tables, external stored procedures
  • how many concurrent connections (and hence how much communications buffer space needs to be allocated)
  • ... and likely a few other things that I can't think of at the moment

Increasing the gn value arbitrarily is definitely a bad idea. As you increase gn you may initially see an increase in total throughput but then you will see a decrease in overall performance as the server sees increased contention for resources (e.g. row locks).

Version 12 contains a new feature called "automatic multiprogramming level tuning" and it is on by default. This feature in the server automatically adjusts the gn value of your running server to best suit the workload on the server at that time. The server continuously monitors the workload and total throughput (number of completed requests) and will do this adjustment every 30 seconds. This paper talks more about how this works. You can read more about this feature and other new features in SA 12 here.

permanent link

answered 31 Jul '10, 13:09

Mark%20Culp's gravatar image

Mark Culp
accept rate: 40%

Your answer
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here



Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "title")
  • image?![alt text](/path/img.jpg "title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported

Question tags:


question asked: 31 Jul '10, 10:14

question was seen: 528 times

last updated: 31 Jul '10, 13:09