× Discuss on Template programming, jBASE programming, Enquiries, No-File enquiry, Enquiry routines, Version, Version routines, Menus, Abbriviations, Creating local reference fields, Fast path enquiries, Creating charts and graphs, Generating Reports, Deal slips, Straight through processing, Multi Company and Multi Book setup, Tabbed screens, Composite Screens, T24 API, etc...

Multithreaded authorization very slow response

  • ariz1234
  • Topic Author
  • Offline
  • New Member
  • New Member
More
2 years 10 months ago #23801 by ariz1234
I have single threaded routine which authorized more then 5000 records in 2 hours. I have converted it in multithereaded and define more then 10 agents but its authorization time is same. i,e 2 hours minimum. i am providing routine please check and help me where i am doing mistake. we are at R08 version

common:

I_PK.MRAF.TRD.AUTH.MT.COMMON

COM/PK.MRAF.TRD.AUTH.MT/FN.MF.TRADE,
F.MF.TRADE,
OFS.TYPE,
OFS.MSG.ID,
TOT.TRADE,
TRADE.ERR,
TRADE.LIST,
Y.ID.REL

Load:

SUBROUTINE PK.MRAF.TRD.AUTH.MT.LOAD

        $INSERT I_COMMON
        $INSERT I_EQUATE
        $INSERT I_ENQUIRY.COMMON
        $INSERT I_F.MF.TRADE
        $INSERT AM.BP I_PK.MRAF.TRD.AUTH.MT.COMMON

        FN.MF.TRADE  = "F.MF.TRADE$NAU"
        F.MF.TRADE  = ""
        CALL OPF(FN.MF.TRADE,F.MF.TRADE)

        RETURN
END

Select:

SUBROUTINE PK.MRAF.TRD.AUTH.MT.SELECT

        $INSERT I_COMMON
                $INSERT I_EQUATE
                $INSERT I_ENQUIRY.COMMON
                $INSERT I_BATCH.FILES
                $INSERT I_F.MF.TRADE
        $INSERT AM.BP I_PK.MRAF.TRD.AUTH.MT.COMMON

          QRY.TRADE =  "SELECT ":FN.MF.TRADE:" WITH L.TRAN.DESC EQ 'DIVIDEND INVEST' AND FUND.ID EQ '800142-100' "
        CALL EB.READLIST(QRY.TRADE,TRADE.LIST,'',TOT.TRADE,TRADE.ERR)
        CALL BATCH.BUILD.LIST("",TRADE.LIST)
        RETURN
END

MainProcess:

SUBROUTINE PK.MRAF.TRD.AUTH.MT(TRADE.REF)
        $INSERT I_COMMON
        $INSERT I_EQUATE
        $INSERT I_ENQUIRY.COMMON
                $INSERT I_TSA.COMMON
                $INSERT I_F.MF.TRADE
        $INSERT AM.BP I_PK.MRAF.TRD.AUTH.MT.COMMON


        GOSUB GET.POSITION.DATA
        RETURN

GET.POSITION.DATA:

                  OFS.TYPE    = "MFOFS"
            OFS.MSG = "MF.TRADE,/A/PROCESS,//":ID.COMPANY:"/,":TRADE.REF
            CALL OFS.GLOBUS.MANAGER(OFS.TYPE,OFS.MSG)

    RETURN
END



 

Please Log in or Create an account to join the conversation.

  • VK
  • VK's Avatar
  • Offline
  • Platinum Member
  • Platinum Member
  • Globus:G9-G13|TAFC:R05-R23|TAFJ:R19,R23,R24:test
More
2 years 10 months ago - 2 years 10 months ago #23802 by VK
Hi
as for the source code, you definitely don't need the following:
$INSERT I_ENQUIRY.COMMON
$INSERT I_TSA.COMMON
$INSERT I_F.MF.TRADE


also, the OPF call - CALL OPF(FN.MF.TRADE,F.MF.TRADE) - isn't really necessary on .LOAD routine because you need to resolve FN.MF.TRADE only for SELECT. You can do it once there and exclude FN.MF.TRADE and F.MF.TRADE from your COMMON.

But I don't think you'll get any significant speed gain after such changes. Maybe something is being locked when you proceed with authorisation? Any local routines attached?

What is file type (both LIVE and $NAU)? J4? If yes - how is its sizing?

Some speed improvement also might be achieved by switching off writes to OFS.REQUEST.DETAIL in OFS.SOURCE.

Last but not least - how many CPUs you have?
 

Cheers
VK
Last edit: 2 years 10 months ago by VK.

Please Log in or Create an account to join the conversation.

  • ariz1234
  • Topic Author
  • Offline
  • New Member
  • New Member
More
2 years 7 months ago #23902 by ariz1234
Replied by ariz1234 on topic Multithreaded authorization very slow response
We have 2 different funds, i.e FUND A and FUND B, if i executed same mainline on BNK level for authorization of 10,000 trade ids. FUND A Takes 6 hours while FUND B ids take 1 hour to authorized all records.

My question is How we can check where it takes time. or log table etc

Please Log in or Create an account to join the conversation.

  • VK
  • VK's Avatar
  • Offline
  • Platinum Member
  • Platinum Member
  • Globus:G9-G13|TAFC:R05-R23|TAFJ:R19,R23,R24:test
More
2 years 7 months ago #23903 by VK
Hi
is it related to code samples you supplied before? if yes, answer my questions.

Cheers
VK

Please Log in or Create an account to join the conversation.

  • ariz1234
  • Topic Author
  • Offline
  • New Member
  • New Member
More
2 years 7 months ago #23904 by ariz1234
Replied by ariz1234 on topic Multithreaded authorization very slow response
Yes, it related to code sample.
Multithreaded was not working properly so i transform it on single threaded mainline routine but it also takes too much time. 10000 records on authorization takes 4 to 5 hours.

Please Log in or Create an account to join the conversation.

  • VK
  • VK's Avatar
  • Offline
  • Platinum Member
  • Platinum Member
  • Globus:G9-G13|TAFC:R05-R23|TAFJ:R19,R23,R24:test
More
2 years 7 months ago #23905 by VK
still using OFS.GLOBUS.MANAGER?

Cheers
VK

Please Log in or Create an account to join the conversation.

  • ariz1234
  • Topic Author
  • Offline
  • New Member
  • New Member
More
2 years 7 months ago #23906 by ariz1234
Replied by ariz1234 on topic Multithreaded authorization very slow response
I have used both OFS.GLOBUS.MANAGER and OFS.POST.MESSAGE but same issue.

DeadLock in F_TEC_OUTPUT_HISTORY

3.5.5.102962 - 30605352 - (TEC.OUTPUT.ACTIVITY,93) - Tue Nov 15 08:16:45 - F.TEC.OUTPUT.HISTORY - F_TEC_OUTPUT_HISTORY - ** Error ** writeRecordAsBLOB: Unable to write key 85.-19.READ.SIZE record þ40633714ý12205865ý7724329ý5369731ý3066105ý3886838ý1040540ý1609020ý1097891ý2097547ý1166424ý1129025ý949349ý946503ý1094753ý1446396ý3256811ý5617340ý1803054ý1641826ý7471741ý4633734ý30316849þ20960697236ý7090910744ý4141904076ý3279838529ý1656339802ý1588405302ý757161543ý584980233ý924991096ý6486600902ý1367641950ý1376947734ý4252465496ý1034716714ý919965087ý5551183770ý18245297285ý42857582583ý27696256654ý6025371574ý3857223564ý10445459550ý15420114264þ200430025113629.10ý200430004713621.15ý200430004713620.25ý200430004713620.00ý200430033813634.26ý200430033813634.03ý200430033713636.29ý200430033713636.12ý200430033713635.26ý200430033713635.04ý200430024513629.40ý200430024513629.15ý200430024513628.40ý200430029813621.07ý200430029813621.05ý200430029813620.21ý200430029813619.23ý200430028413645.21ý200430028413644.39ý200430028413644.10þ3915ý3375ý4455ý3375ý3780ý3105ý3780ý2295ý3105ý2970ý3375ý3375ý2295ý4457ý274ý3383ý3389ý4326ý3915ý3915
3.5.5.102962 - 30605352 - (TEC.OUTPUT.ACTIVITY,93) - Tue Nov 15 08:16:45 - ** Oracle Error **: ORA-00060: deadlock detected while waiting for resource
3.5.5.102962 - 30736456 - (TEC.OUTPUT.ACTIVITY,93) - Tue Nov 15 08:17:09 - F.TEC.OUTPUT.HISTORY - F_TEC_OUTPUT_HISTORY - ** Error ** writeRecordAsBLOB: Unable to write key 84.-19.READ.SIZE record þ42328757ý11075142ý9373467ý4968724ý4082497ý3765515ý2293708ý1504186ý2204193ý2502938ý1200836ý1034018ý730700ý857928ý830234ý2301627ý1601545ý3856033ý1883907ý2333090ý8339909ý5370650ý27995196þ20993730881ý6997408302ý5928093072ý3153025275ý2706622532ý1703542823ý872301823ý798719491ý6246334835ý8684505729ý972903999ý1344512662ý703353060ý3906835186ý563579328ý2877593257ý3677207291ý15525635878ý28909618432ý48158381431ý50121434122ý18048259733ý12643941311þ200430027913596.03ý200430027913595.13ýMASTERý200430026713616.13ý200430026713615.15ý200430026713615.14ý200430028213623.00ý200430036513575.51ý200430036513575.43ý200430036513575.31ý200430036513575.23ý200430036513575.11ý200430036513575.00ý200430036513574.40ý200430035213634.29ý200430035213634.19ý200430035213634.08ý200430035213633.35ý200430035213633.25ý200430035213633.14þ3510ý3645ý3048ý4050ý2565ý135ý1485ý1487ý1084ý1620ý1080ý1620ý1485ý1620ý1485ý1350ý1485ý1215ý1350ý1485
3.5.5.102962 - 30736456 - (TEC.OUTPUT.ACTIVITY,93) - Tue Nov 15 08:17:09 - ** Oracle Error **: ORA-00060: deadlock detected while waiting for resource
3.5.5.102962 - 40042730 - (TEC.OUTPUT.ACTIVITY,93) - Tue Nov 15 08:17:58 - F.TEC.OUTPUT.HISTORY - F_TEC_OUTPUT_HISTORY - ** Error ** writeRecordAsBLOB: Unable to write key 51.-19.READ.SIZE record þ45374222ý12082671ý9224284ý5806472ý4450335ý2909681ý2661584ý1046763ý1718499ý1295841ý840637ý1042589ý862166ý870862ý1156390ý1913744ý2766866ý7872825ý4054884ý1834958ý7233740ý4999601ý29835240þ22758693739ý7228949320ý5406459376ý3710322354ý2172379470ý1217814152ý950677633ý723434678ý7453405399ý2009464561ý980353635ý1280648239ý2220501034ý646733481ý1021832744ý1355856369ý5549058515ý41418266227ý60530637426ý61600029131ý88919513488ý65391632728ý13507912938þMASTERý200430032923205.13ý200430032923204.16ý200430032923204.04ý200430033322962.14ý200430033322962.00ý200430033322961.06ý200430033322960.10ý200430033322959.22ýPK0010025ýPK0010001ýINTERCOýPKRý1ý200430037822391.06ý200430037822390.14ý200430037822389.12ý200430037822388.22ý200430037822388.14ý200430037822387.20þ200ý828ý966ý828ý972ý832ý966ý972ý836ý1370ý1626ý1680ý13770ý99ý970ý972ý966ý966ý1112ý972
3.5.5.102962 - 40042730 - (TEC.OUTPUT.ACTIVITY,93) - Tue Nov 15 08:17:58 - ** Oracle Error **: ORA-00060: deadlock detected while waiting for resource
3.5.5.102962 - 31981852 - (TEC.OUTPUT.ACTIVITY,93) - Tue Nov 15 08:18:07 - F.TEC.OUTPUT.HISTORY - F_TEC_OUTPUT_HISTORY - ** Error ** writeRecordAsBLOB: Unable to write key 62.-19.READ.SIZE record þ44140017ý13268775ý7020211ý4269307ý4568744ý2903731ý1250292ý1312447ý1079919ý1346980ý1375656ý2082429ý1716469ý2225586ý2723166ý3347733ý4111660ý5868823ý3782333ý1952982ý8107159ý3401107ý31098974þ22301963656ý9492450175ý4754885228ý2731327036ý2101649982ý1518692298ý699292493ý794060834ý952136529ý1175204238ý1700587991ý6257743222ý6411446474ý4771567236ý1502749706ý2869707060ý8086884337ý27630275821ý42489949854ý17253231827ý27236469834ý8887961529ý13684670669þMASTERý1ý200430037621767.00ý200430037621765.16ý200430037621763.12ý200430037621763.00ý200430037621761.00ý200430037621611.08ý200430037621610.06ý200430037621608.12ý200430037621606.14ý200430037621604.02ý200430034221468.02ý200430034221465.06ý200430034221463.02ý200430034221461.00ý200430034221458.02ý200430034221456.02ý200430024113851.15ý200430024113851.04þ13011ý99ý2094ý1950ý1800ý1532ý2082ý2210ý1518ý2224ý2348ý1932ý1800ý2346ý1932ý1518ý2346ý1518ý1509ý1485
3.5.5.102962 - 31981852 - (TEC.OUTPUT.ACTIVITY,93) - Tue Nov 15 08:18:07 - ** Oracle Error **: ORA-00060: deadlock

Please Log in or Create an account to join the conversation.

  • VK
  • VK's Avatar
  • Offline
  • Platinum Member
  • Platinum Member
  • Globus:G9-G13|TAFC:R05-R23|TAFJ:R19,R23,R24:test
More
2 years 7 months ago #23907 by VK
Hi
then it's an issue for Temenos support - there should be a way to switch TEC off (it's just sort of logging).
 

Cheers
VK

Please Log in or Create an account to join the conversation.

  • ariz1234
  • Topic Author
  • Offline
  • New Member
  • New Member
More
2 years 7 months ago #23913 by ariz1234
Replied by ariz1234 on topic Multithreaded authorization very slow response
Ok. Thanks VK for your support

Please Log in or Create an account to join the conversation.

Time to create page: 0.046 seconds