473,387 Members | 1,790 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,387 software developers and data experts.

Log write batch performance problem DB2 V8 for AIX

We are runing a critical batchjob in DB2 V8 fp4 for AIX on a p630 with
AIX 5.2
The job updates only 6 columns of the 100 columns in a 600 bytes wide
row.
The job is very IO bound because of log writes. We seems to be logging
full rows 600 bytes per updated row.
I thought DB2 should be clever enough to only log the modified columns
??
We also seems to write to the log with a lot of small writes, filemon
-v -O lf output indicates
that we write just 18 KB per IO.
The batchjob updates 290 000 rows (read/update) and it does just 58
commit
We can only reach a rate of 1000 rows/sec and we need to increase this.

I have tried to increase log buffer size, this is our values
DBHEAP 10000 logretain OFF LOGBUFSZ 4000
logprimary 14
logsecond 20 logfilsiz 8000
How can we get DB2 to log less and write more on each log write.

Mats Mohlin IBM Sweden

Nov 12 '05 #1
2 3565
Mats,
Just wondering:
Is the sequence of your updates the same as the physical sequence of the
rows in the database?
How exactly are you updating? Based on cursor or on key?

Mats Mohlin wrote:
We are runing a critical batchjob in DB2 V8 fp4 for AIX on a p630 with
AIX 5.2
The job updates only 6 columns of the 100 columns in a 600 bytes wide
row.
The job is very IO bound because of log writes. We seems to be logging
full rows 600 bytes per updated row.
I thought DB2 should be clever enough to only log the modified columns
??
We also seems to write to the log with a lot of small writes, filemon
-v -O lf output indicates
that we write just 18 KB per IO.
The batchjob updates 290 000 rows (read/update) and it does just 58
commit
We can only reach a rate of 1000 rows/sec and we need to increase this.

I have tried to increase log buffer size, this is our values
DBHEAP 10000 logretain OFF LOGBUFSZ 4000
logprimary 14
logsecond 20 logfilsiz 8000
How can we get DB2 to log less and write more on each log write.

Mats Mohlin IBM Sweden


--
Anton Versteeg
IBM Certified DB2 Specialist
IBM Netherlands
Nov 12 '05 #2
> >We are runing a critical batchjob in DB2 V8 fp4 for AIX on a p630 with
AIX 5.2
The job updates only 6 columns of the 100 columns in a 600 bytes wide
row.
The job is very IO bound because of log writes. We seems to be logging
full rows 600 bytes per updated row.
I thought DB2 should be clever enough to only log the modified columns
??
We also seems to write to the log with a lot of small writes, filemon
-v -O lf output indicates
that we write just 18 KB per IO.
The batchjob updates 290 000 rows (read/update) and it does just 58
commit
We can only reach a rate of 1000 rows/sec and we need to increase this.

I have tried to increase log buffer size, this is our values
DBHEAP 10000 logretain OFF LOGBUFSZ 4000
logprimary 14
logsecond 20 logfilsiz 8000
How can we get DB2 to log less and write more on each log write.

Mats Mohlin IBM Sweden

Doesn't DB2 log all data from the changed column to the end of the row? Or
maybe that has changed? I know that is how DB2 for OS/90 worked at one time.

I would do commits more often, perhaps once every 100-500 updates.

As previously mentioned, it is important to process the updates in the same
order as the physical sequence of the table, if possible. This is defined by
the clustering index, or the index used in a reorg if no clustering index is
defined.

Also if the varchar columns are updated (and made larger), make sure you
have enough percent free defined for the table to handle that, otherwise the
row many need to be relocated (very expensive).

Percent free on the indexes is also important if they are changed in the
update statement.
Nov 12 '05 #3

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

15
by: Viviana Vc | last post by:
How can I programatically do the equivalent of the following: cacls "C:\Program Files\test" /T /G Everyone:f ? Thanks, Viv
4
by: Asipu | last post by:
The problem is quite difficult and i'm starting to think that it's impossible to accomplish.. Suppose you have C.exe. When you run C.exe, it must change his 0x4e's byte into 0xff.. Of course,...
1
by: smen | last post by:
hiye, i've got a list of distributers around 300++ and i need to mail each of them and i want performance should i a. loop through it all via stored proc or trigger and send the mail using sql mai...
8
by: John | last post by:
This is a simple, newbe question. In Asp/VB there are 2 ways to display message on page load I can double click on aspx page and aspx.vb file is created: Private Sub Page_Load(ByVal sender As...
3
by: Carlos | last post by:
Hello Forum, I would appreciate it if you could recommend settings to use auto-vacuum in my version 7.4 database. I am uploading several thousands records in the database at a rate of ~1 second...
1
by: matthias | last post by:
I have to execute fairly large batch files (200-300MB) with several million INSERT commands. When I do that from pgsql using the \i switch, I get the echo INSERT 0 1 for every single insert...
7
by: mark.a.lemoine | last post by:
Our application currently interfaces to SQL Server and Oracle, we're implementing it into DB2 currently and I have a question to ask. First a little background - We're interfacing into DB2 v8 on...
0
by: davearkley | last post by:
I'm writing an application to gather the inputs and outputs from a number of batch applications into one console. To do this I launch the batch application from mine and redirect STDIN, STDOUT and...
1
by: bravo | last post by:
hi using mysql 4.1 i wish to update records using batch update but for a batch of 100, records and table having only 5000 records execution time is approx 2.4 sec i want to know whether this time...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: aa123db | last post by:
Variable and constants Use var or let for variables and const fror constants. Var foo ='bar'; Let foo ='bar';const baz ='bar'; Functions function $name$ ($parameters$) { } ...
0
by: ryjfgjl | last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
0
by: ryjfgjl | last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.