Question Re DB2EE stage and partioning

Post questions here relative to DataStage Enterprise/PX Edition for such areas as Parallel job design, Parallel datasets, BuildOps, Wrappers, etc.

Moderators: chulett, rschirm, roy

Post Reply
fridge
Premium Member
Premium Member
Posts: 136
Joined: Sat Jan 10, 2004 8:51 am

Question Re DB2EE stage and partioning

Post by fridge »

Hi, having some less than performant results with writing to db2 (insert mode) and want to get some input.

Basically have a partioned db2 table (20x) and have set up a config.apt on appserver with 4x on app and 1 node for db2 (the db2nodes.cfg) says 20.

When using the db2 stage for reads it launchs 20 processes on db2 server and runs like a steamtrain/whippit/bullet (depending on preference) but the the writing to db2 seems very slow (few 100 rows a second across all parts)

When using monitor to ... err monitor whats going on, it seems to take a while to get all 20 instances up and also even when they are it seems that the data is heavily skewed to one or two partions.

I have left the default partioning on the input link to the db2 stage (i.e. db2 partioning) but would expect much better performance than this

Any ideas

Thx in advance
bcarlson
Premium Member
Premium Member
Posts: 772
Joined: Fri Oct 01, 2004 3:06 pm
Location: Minnesota

Post by bcarlson »

There is a variable that we set at the project level (can also be set for each job) called APT_RDBMS_COMMIT_ROWS. By default, DataStage commits every 100 rows - which creates a lot of overhead and slows things down when you are processing potentially millions of records.

We set the var to 8192 for the most part, sometimes higher. We use the rule of thumb of using some number that is 2 ^ y (2 ^ 8 = 256, 2 ^ 13 = 8192, etc.).

HTH,
Brad.
Post Reply