Link to home
Start Free TrialLog in
Avatar of kevb258
kevb258

asked on

Tuning DB2Connect

Hi All,

I suspect I already know the answer to this, but I am asking to be sure.

First some background info. I have a large multi-table database on DB2 z/OS which is a repository for a CASE tool. It has millions of rows in each of the tables. Normally these are accessed via native DB2/COBOL or DB2/ASM applications running on z/OS. All that runs well and performs without any problems, in Batch and interactively.

We are trying to develop a utility that runs on Wintel boxes that will read from those tables and call other applications using the data obtained from them. We have been advised to use "db2connect" for this access, the IBM supplied ODBC equivalent. While this does work, it performs attrociously...

Now to the questions:
1) Can anyone shed some light on performance tuning db2connect? (Practical success stories are what I am looking for here)
2) Would it be possible to setup database mirroring of the DB2 tables onto a non-z/OS platform, and then use that copy of the data to get the info we want? If so, some nice "how to" tips would be greatly appreciated...

Thanks in advance
Kevin
SOLUTION
Avatar of Kent Olsen
Kent Olsen
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of kevb258
kevb258

ASKER

Hi Kent,

Can you explain... This is the DB2 Connect I am referring to: http://www-01.ibm.com/software/data/db2/db2connect/

Kevin
well, it depends greatly on your network
you should have a very solid network if you want to configure such mirroring
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of kevb258

ASKER

@Kdo: Thanks. What kind of speed difference can I expect between DB2 Client and DB2 Connect on the same network?

@momi_sabag: the question is: Is it even technically possible to mirror across platforms, e.g. main DB on z/OS and mirror on dedicated AIX or Wintel 64bit server?
ASKER CERTIFIED SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of kevb258

ASKER

Hi Kent,

I believe the piece of our puzzle that uses DB2connect is supplied by a 3rd party (the same people who own the Repository and CASE software) , so how easy would it be to convert an application that currently uses DB2connect to start using DB2 Client instead?

Kevin
Hi Kevin,

That would depend on how the connection is made and whether the application allows you to change enough of the connection parameters to use a different driver.




Avatar of kevb258

ASKER

Hi Kent

Thanks for the info so far, any views on the mirroring question?
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of kevb258

ASKER

I've requested that this question be deleted for the following reason:

While some guidance about related issues has been offered, I feel the questions I posted remain unanswered.
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of kevb258

ASKER

A new comment has been added
Avatar of kevb258

ASKER

@giltjr: We are testing this on a 1Gbit network, we have a 1Gbit switch between the z/OS box and the Windows machine, no other h/w. We don't have the tools to measure where the time is being spent, our "gut feeling" is that it is on z/OS. As I mentioned in the original posting, when we run "native z/OS" applications against the database doing similar SQL against the same database, response time are fine, so it is my belief that the actual DB2 databse is healthy.

We have a customer who is a Beta partner for our new s/w and they are experiencing long delays too. I believe that they are looking into the "where is the time spent" question as they have the tools to do so. As yet we have no answer back from them. I do not know what their h/w architure is like with respect to the "route" from Windows to z/OS... Ours could not be simpler.

Since raising this question, I have been trying to understand the IBM literature concerning this topic, in particular, what are my actual options for connecting an application running on Windows to DB2 running on z/OS... it seems many people (via Google searches) are saying that DB2 Connect is the only way possible... can anyone confirm this, or is DB2 Client distinctly different and an alternative to this???

SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of kevb258

ASKER

Thanks for the update and suggestions. We're a small IT shop and do not have to DB2 tools you're referring to. We have full access to the z/OS system. I believe we're running DB2 v9 on z/OS and v9.7 DB2 connect.

Could you tell me more about accessing the DB2 SMF records?

The problem with trying to do "like for like" tests is that the complexity of our application would be extremely difficult to replicate as standalone queries. There would be 1000's of them... as I said this DB2 database is a CASE Repository which we are using to generate code. Generating COBOL on z/OS is a lot quicker since the calling chain infrastructure is much simpler. When we generate Java from the Wintel platform, the calling-chain-interface requirements are a lot more onerous, so the number of queries being run is much greater...  Our applications are C++ with embedded calls to the 3rd party utiltiy that performs the DB2 Connect calls, so we don't even have access to the SQL being run, except through logs etc.

We think that the Java interface requirements are turning this into many "open connection, run query, close connection" requests, is there an easy way to confirm this? And, is there anyway to streamline this process if true?

Kevin
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of kevb258

ASKER

Thanks for the response... Java is the code we are generating... so there is no JDBC involved at all, the DB2 calls are via the 3rd party utility which uses DB2 Connect. Is there an option to access the data via JDBC through DB2 Connect?

I will discuss SMF with my colleagues.

Could you point me to a packet trace utility that would let me see whether open/fetch/close is being done?
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of kevb258

ASKER

The 3rd party utility comes from the same people who make the repository... sorry but there are non-disclosure agreements in place, suffice to say we don't have access to their source code...

Thanks for the link to wireshark... I'll have a go
SOLUTION
Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of kevb258

ASKER

Thanks, it looks like a lot to take in...
Any updates?
Avatar of kevb258

ASKER

Hi All,
Our progress on investigating this problem has halted since we are reliant on the 3rd Party vendor changing their code to allow us to debug things further.

Thanks one and all for the suggestions and information. I hope to return to this in the near future, but for now feel that this question should be closed.

Kevin
Avatar of kevb258

ASKER

No solution, just suggestions and information.