IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

Queue application affecting performance


IBM Mainframe Forums -> CICS
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
Ziko13

New User


Joined: 19 Jul 2018
Posts: 43
Location: Greece

PostPosted: Thu Jun 26, 2025 1:32 pm
Reply with quote

Dear all,

We have a screen in our shop which is letting users write comments. Currently the users have the right to write up to 12 lines in one page and the results are written in a table.
We recently had an improvement which was allowing users to write more than one pages. The comments are written to a CICS queue and when the user presses ENTER the contents of the queue are written to the table. Pages are changed when PF8 is pressed.
Everything was working well in the test partition but unfortunately in production it was stuck and as a result we put the old version back.
What can be the reason for this decrease in performance? Any ideas?
At your service if you need more information.

Thank you in advance.
Back to top
View user's profile Send private message
Rohit Umarjikar

Global Moderator


Joined: 21 Sep 2010
Posts: 3108
Location: NYC,USA

PostPosted: Sat Jun 28, 2025 7:46 am
Reply with quote

Did you find out what part of the code it was stuck ?

You may not have enqued the resources like queues and multiple users hitting it causing one to go on lock or hold .. in test may always be one person testing it so never got to point to test this scenario.

Try putting enq deq logic if it’s not already coded
Back to top
View user's profile Send private message
Ziko13

New User


Joined: 19 Jul 2018
Posts: 43
Location: Greece

PostPosted: Sun Jun 29, 2025 9:48 am
Reply with quote

Thank you very much for your responce. I will definitely try your suggestion. One more improvement we thought was to use multiple row fetching. The contents of the table are loaded to the queue firstly and the users can browse with pf08 and pf07. We cannot recreate the problem in test unfortunately. Users in production are a few thousands.
Back to top
View user's profile Send private message
Rohit Umarjikar

Global Moderator


Joined: 21 Sep 2010
Posts: 3108
Location: NYC,USA

PostPosted: Sun Jun 29, 2025 9:50 am
Reply with quote

Welcome - multi row fetch will only help if you have many rows of it just few hundreds I don’t think it will solve your problem unless tasks are serialized.

Good luck !
Back to top
View user's profile Send private message
Ziko13

New User


Joined: 19 Jul 2018
Posts: 43
Location: Greece

PostPosted: Mon Jun 30, 2025 5:27 pm
Reply with quote

Code:
EXEC CICS ENQ RESOURCE ('QUEUE2') END-EXEC
EXEC CICS WRITEQ TS QUEUE ('QUEUE2')     
     FROM                  (QUEUE-ARRAY1)
END-EXEC                                 
EXEC CICS DEQ RESOURCE ('QUEUE2') END-EXEC


Coded

For ENQ it says CICS compiler option i not in effect but WRITEQ compiles ok. Am I doing something wrong here?
Back to top
View user's profile Send private message
Ziko13

New User


Joined: 19 Jul 2018
Posts: 43
Location: Greece

PostPosted: Mon Jun 30, 2025 5:57 pm
Reply with quote

Nevermind....queue2 had to be in a variable
Back to top
View user's profile Send private message
Rohit Umarjikar

Global Moderator


Joined: 21 Sep 2010
Posts: 3108
Location: NYC,USA

PostPosted: Mon Jun 30, 2025 10:58 pm
Reply with quote

Yes and you need to check enqbusy if you get that means resource isn’t an available and you can delay task and go back check enq again 3 times or so until you fail.
Back to top
View user's profile Send private message
Ziko13

New User


Joined: 19 Jul 2018
Posts: 43
Location: Greece

PostPosted: Tue Jul 01, 2025 1:02 pm
Reply with quote

Code example? Management gaves us one more shot at this icon_biggrin.gif...

The screen is divided into two programs. First program is deleting the queue , creates it and loads the contents of the table and the second is doing the processing.
Writeq , deleteq are done with enq , deq.
My main concern is regarding the deleting of the queue. Shall we have it the way it is now or it is more appropriate to create it in the system and emptying it instead of deleting it?
Back to top
View user's profile Send private message
Rohit Umarjikar

Global Moderator


Joined: 21 Sep 2010
Posts: 3108
Location: NYC,USA

PostPosted: Tue Jul 01, 2025 1:19 pm
Reply with quote

Delete queues the end of processing is standard to avoid any bad data showing
Back to top
View user's profile Send private message
Ziko13

New User


Joined: 19 Jul 2018
Posts: 43
Location: Greece

PostPosted: Fri Jul 04, 2025 1:15 pm
Reply with quote

Hello,
Our change is ready. We are thinking now of a way to test. I have seen here that with the feature called EXCI you can trigger transcations from a batch program.
Just a COBOL program with a simple loop starting the transaction lets say 50 times.
Do you think this might work?

Best Regards,
Dimitrios
Back to top
View user's profile Send private message
Ziko13

New User


Joined: 19 Jul 2018
Posts: 43
Location: Greece

PostPosted: Fri Jul 04, 2025 1:15 pm
Reply with quote

Hello,
Our change is ready. We are thinking now of a way to test. I have seen here that with the feature called EXCI you can trigger transcations from a batch program.
Just a COBOL program with a simple loop starting the transaction lets say 50 times.
Do you think this might work?

Best Regards,
Dimitrios
Back to top
View user's profile Send private message
Rohit Umarjikar

Global Moderator


Joined: 21 Sep 2010
Posts: 3108
Location: NYC,USA

PostPosted: Fri Jul 04, 2025 5:20 pm
Reply with quote

Yes.. also you can create an mq and trigger Trx based on queue depth of 100or so .. once 100 messages are being put it will trigger trxs ..
ibmmainframes.com/about62979.html#gsc.tab=0
Back to top
View user's profile Send private message
Ziko13

New User


Joined: 19 Jul 2018
Posts: 43
Location: Greece

PostPosted: Tue Jul 08, 2025 12:23 pm
Reply with quote

I have seen there that EXCI works with transactions that are not interactive ie use maps. My transaction is using a map. Do that mean I cannot use EXCI?
Back to top
View user's profile Send private message
View previous topic : : View next topic  
Post new topic   Reply to topic All times are GMT + 6 Hours
Forum Index -> CICS

 


Similar Topics
Topic Forum Replies
No new posts External data queue (changes?) CLIST & REXX 0
No new posts Two where-criteria with GT - Performa... DB2 4
No new posts 10 byte RBA conversion -non applicati... JCL & VSAM 1
No new posts DB2 Event passed to the Application P... DB2 1
No new posts exploiting Z16 performance PL/I & Assembler 2
Search our Forums:


Back to Top