Hi, I required one small help regarding performance issue... I have mainframe system(DB2) + CICS + Weblogic(My application) I am sending http request thr' CICS to access DB2 and passing accountno,percentage,managerid as a Input so CICS prepares a query fires on DB2 and send result back to my application. Once I see the result if I want to update or insert something either one action will take place.. And according to the percentage what u r seeing in http request mentioned above will be updated to all records displayed on the screen.. But in mainframe its taking too much time for commiting coz' one by one.. So I need to build some interface in between which will cache my data and atleast retrival performance will be increased..but the prob is COMMIT now if I cache data I cann't get the fresh updated data right... So throw some ideas... U can think for Db2 performance issues even hardware related also ,I dont have much exposure to Mainframe... Hope u understood the problem... ASAP pl.. Thanks Pash
The only times I've integrated with mainframes we either communicated via copybooks or messaging. In both cases the data was always sent as one batch and the processing reponsibilities were managed on the mainframe. Dave
"p pp", Welcome to the Ranch! I'm sorry to say, but your display name does not conform to out naming policy. You can check out the rules here. Your display name must be two words: your first name, a space, then your last name. Initials are only allowed for your first name, and obviously fictitious names are not allowed at all. You can edit your display name here. Please make sure you do, accounts with invalid display names get deleted. Thanks, Dave.
My experience has always been that our mainframes and DB2 are blindingly fast, but trips across the network can be expensive. So generally we optimize to cut down the number of trips, even if it compromises the beauty of the APIs. So, as David says, it might pay to bundle up a number of requests into a more complex message structure and have the mainframe unbundle them and process them. What is your middleware? We mostly use MQ-Series to mainframe COBOL programs that then do the DB2 interaction. Messages can contain rich nested, optional or or recurring structures. Other teams use DB-Connect or some remote DB2 connection to invoke SQL or stored procedures. SQL syntax is more restrictive in complex message formats. But nowadays you can write your stored procs in Java or COBOL and do pretty much anything you want in them.
A good question is never answered. It is not a bolt to be tightened into place but a seed to be planted and to bear more seed toward the hope of greening the landscape of the idea. John Ciardi
Joined: Sep 18, 2003
HI James, I am using CICS to connect to DB2 as a middle layer..We can control no of jobs but what ab the data chaching...means what ab the new request to ur application u have to retrieve a data or update it right.. i required this process to be faster ...so no of calls to DB2 will be laser..
Man, that was hard to read. Here's a translation: no = number ab = about ur = your u = you To get the best chance of a response, please try to make your question easy to answer. When you combine contractions like these with spelling and grammar mistakes it makes an awful mess very quickly. thanks, Dave.
Joined: Jan 29, 2003
I'm guessing you have something like a mid-tier server going on? client----server----CICS My current project is set up that way, going to Oracle, MQ-Series, web services, etc on the back-end. We cache some things in the client, some in the server and some not at all. For example, all calls from client to server go through a framework class on the client. The framework can generate a unique key for a request and store the result in a hash table. Then if a new request comes in for the same key, it can return the stored result. The server has a slightly different scheme where it reads some complete tables from the database at startup and works in memory for the rest of the day. The issues with caching are usually how current is the data and how much memory do you have. Some of our server caches have a "refresh" function that is used after infrequent database updates. Others can wait until the overnight shutdown & restart on the server. Does any of that sound like what you want to do?
Joined: Sep 18, 2003
Hi James, Exactly the same scenarion I am having.. We can cache the data as you said in the starting it self in the hashtable fine..but my main database DB2 is accessed by some other systems too means its legacy system. So whenever there is any update or insert in DB2 my cached data should be refreshed right. As in Mainframe every request processes one by one according to job control right. So if there are so many request lying from other applications which are not at all related to our system but can update DB2 which will be having impact on our system then performance will be down due to delay in processing. So throw some idea in this direction as we both are thinking in the same.. Hope it will sort out... Thanks James