473,508 Members | 2,007 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Performance problem after migration to DB2 v8

We have developed an application which was running under DB2 v7.2.5
quite well for some years. Four weeks ago we installed DB2 v8.1.5
Express Fixpak 5 on a new Server (hardware is nearly the same as on the
DB2 v7.2.5 machine). The new Server runs on Windows 2003. Last week we
installed another server with the same hardware with DB2 8.1.5 Workgroup
Server Fixpak 5 under Windows 2000 Server. Both servers running DB2 v8
databases are about 10x slower than our old server with DB2 v7.2.5.

On our DB2 7.2.5 server we made an offline backup. On the DB2 8.1.5
machines we made a restore to import and migrate the database.

The parameters for the database manager and the parameters for the
database are the same under v7 and v8.

The database under DB2 v7.2.5 was tuned very well. We used a lot of
indexes and we have allocated enough RAM for the buffer pool.
The DB2 v8.1.5 seems to ignore most of our indexes when executing SQL
statements. We have already tried to use another optimization level
rather than the default level, but the performance problems are the same.

We are NOT using runstats because all of our SQL statements were tuned
against v7.2.5 with indexes. In the past we have seen that runstats
would lead to a non predictable performance behavior of the database.
The database has about 150 tables (5 tables > 3 million records, 5
tables > 100.000 records, the other tables are small). All tablespaces
are SMS. The database is used in an OLTP environment, so we have to
assure that the SQL statements have always the same performance behavior.

Hundreds of our SQL statements within the application are extremely slow
under DB2 v8. It is not a suitable solution for us to tune all these
statements against v8, because this would take some months of work.
We rather think that we have overlooked some important new
feature/parameter in the DB2 v8 software. Or maybe the DB2 v8 SQL
optimizer is really that worse .....??

We have also tried to use the Configuration Advisor. We used the
suggested parameters - without success.

We also know that the problems are caused by single (and quite simple)
SQL statements and not by huge sorts or by huge inserts/updates.

The following example is a simple UPDATE statement which should update
one single record. The columns of the where clause are the same as the
primary key index columns. The snapshot utility show us that the
database is making a full table scan, because it reads 115599 rows (the
complete table). Normally we think the database should use the primary
key index to find the row in this simple example. When we try to use the
same where clause within a SELECT statement, then the database uses the
primary key index and reads exactly 1 row.

Anzahl Ausführungen = 1
Anzahl Kompilierungen = 1
Schlechteste Vorbereitungszeit (ms) = 21
Beste Vorbereitungszeit (ms) = 21
Intern gelöschte Zeilen = 0
Intern eingefügte Zeilen = 0
Gelesene Zeilen = 15599
Intern aktualisierte Zeilen = 2
Geschriebene Zeilen = 5
Sortiervorgänge für Anweisungen = 0
Logische Lesevorgänge im Pufferpool = 15389
Physische Lesevorgänge im Pufferpool = 0
Logische Lesevorgänge in temporären Daten des Pufferpools = 6
Physische Lesevorgänge in temporären Daten des Pufferpools = 0
Logische Lesevorgänge im Pufferpoolindex = 15527
Physische Lesevorgänge im Pufferpoolindex = 0
Logische Lesevorgänge im temporären Pufferpoolindex = 0
Physische Lesevorgänge im temporären Pufferpoolindex = 0
Gesamte Ausführungszeit (sek.ms) = 0.318457
Gesamte Benutzer-CPU-Zeit (sek.ms) = 0.312500
Gesamte System-CPU-Zeit (sek.ms) = 0.000000
Anweisungstext =
UPDATE ag_produktion SET stueck_gesamt = stueck_gesamt + ( 1 * 1 ),
takte = takte + 1 WHERE werkscode = 5 AND
maschinennummer = 'abc' AND auftragsnummer = 'anr' AND
splittnummer = 0 AND arbeitsgangnummer = 30 AND (beginn <
'2005-06-05-15.00.00' AND status = 'A')

Any kind of answers or hints would be appreciated.
Nov 12 '05 #1
3 4149
"Mario.Reif" <Ma********@gamed.com> wrote in message
news:40********@e-post.inode.at...

We are NOT using runstats because all of our SQL statements were tuned
against v7.2.5 with indexes. In the past we have seen that runstats
would lead to a non predictable performance behavior of the database.
The database has about 150 tables (5 tables > 3 million records, 5
tables > 100.000 records, the other tables are small). All tablespaces
are SMS. The database is used in an OLTP environment, so we have to
assure that the SQL statements have always the same performance behavior.

DB2 version 8 is not slower than version 7, at least not in any measurable
amount. You have some kind of serious problem.

I don't understand your reason for not running runstats in version 7, but
that sounds like it could be your problem.

First you should reorg your tables, then do runstats with full distribution
and index all. Check the command reference for details on the exact syntax.

You can backup your database before hand and then restore it if you don't
like the performance with the runstats. It is very rare that runstats causes
a performance problem, especially if you have the latest fixpak (which I
don't believe you had with version 7).
Nov 12 '05 #2
Hello Mark,

thank you for your posting!

Today we tried to set all our tables VOLATILE (ALTER TABLE...).
After this the database performance was 500% better than before!!

Tonight we will run a script which will run runstats and reorg for all
tables and indexes as you suggested.
I will let you know about the impact of this script to the database
performance tomorrow.

Regards
Mario
DB2 version 8 is not slower than version 7, at least not in any measurable
amount. You have some kind of serious problem.

I don't understand your reason for not running runstats in version 7, but
that sounds like it could be your problem.

First you should reorg your tables, then do runstats with full distribution
and index all. Check the command reference for details on the exact syntax.

You can backup your database before hand and then restore it if you don't
like the performance with the runstats. It is very rare that runstats causes
a performance problem, especially if you have the latest fixpak (which I
don't believe you had with version 7).

Nov 12 '05 #3
"Mario.Reif" <Ma********@gamed.com> wrote in message
news:40********@e-post.inode.at...
Hello Mark,

thank you for your posting!

Today we tried to set all our tables VOLATILE (ALTER TABLE...).
After this the database performance was 500% better than before!!

Tonight we will run a script which will run runstats and reorg for all
tables and indexes as you suggested.
I will let you know about the impact of this script to the database
performance tomorrow.

Regards
Mario

Setting the table to volatile basically ignores the statistics (which is
good in your case since you didn't run runstats) and uses any indexes which
are available.

When you do the runstats, make sure you gather distribution stats at least
on the key columns. DB2 will ignore the new statistics unless you turn
volatile off.
Nov 12 '05 #4

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

Similar topics

4
2314
by: Bastien Raich | last post by:
Hello, I've been developping a Java application using sun's 1.4.1 on my NT4 box. It's a financial application that retrieves market data in real time, displays it in JTables, do some...
14
7912
by: Ruth | last post by:
Hi All I am not a DBA, but a unix administrator. After our DBA's upgraded from oracle 8.0.5 to oracle 8.1.7.4 on our test server, we have noticed a big slow down in our application...
0
2380
by: Jindrich Prchal | last post by:
Hi there. We are running DB2 v7.2 for Win NT on Windows 2000 SP3 machine with poor configuration AMD 1800+, 512MB RAM and usual IDE harddisk. During tests of migration our batch programmes...
0
930
by: Christian Correa | last post by:
Has anyone experienced a performance decrease after migrating a project to ..NET? We migrated our code from ASP to ASP.NET, modifying sintax whenever needed. Basically, the application is the same...
1
13666
by: marcfischman | last post by:
Please help. I have a website running on a linux/apache/mysql/php server. I receive about 8,000-10,000 visitors a day with about 200,000 to 300,000 page views. The server is a RedHat Linux...
0
1172
by: =?Utf-8?B?U3VuZGVr?= | last post by:
I have a web service application on a server with iis 6. After then conversion from .net 2003 to .net 2005 performance slow down. i have already set iis to work with asp .net 2.0 Someone can...
2
2020
by: manindra | last post by:
Recently we migrated our product from MS-SQL 2000 to Oracle 9i. We see lot of performance degradation due to migration. Some times complex queries are hitting 10 fold slower than SQL Server. ...
2
2760
by: sdanda | last post by:
Hi , Do you have any idea how to improve my java class performance while selecting and inserting data into DB using JDBC Connectivity ......... This has to work for more than 8,00,000...
8
2714
by: Tomasz J | last post by:
Hello developers, After migrating my web project application (using the old model) to .Net Framework 3.5 and Ajax Control Toolkit release 20820 the Accordion control no longer works correctly....
0
7226
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,...
0
7125
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
7328
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers,...
0
7388
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
7499
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
5631
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
0
3199
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The...
0
1561
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated ...
0
422
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence...

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.