5 Replies Latest reply on Jan 13, 2007 12:11 PM by Salccnpp

    Long time to display page with debug turned on

    Salccnpp Level 1
      I have a CFM page that returns in under a second except when I want to see the robust debugging info. When I set the client machine to be one of the debugging IP addresses ( CFMX 7.02.142559) , it takes several minutes to return. The execution time displayed was under a second and the debugging rendering time at the bottom of the page says 47 ms.. Other pages in the app do not get lost like this one and come back with the debug info. I have enable robust exception info and enable debugging turned on.
      I've stopped and restarted the CF service but I can't noodle out why this one page takes forever to come back if I try to debug it
        • 1. Re: Long time to display page with debug turned on
          Dan Bracuk Level 5
          My guess is that it's due to a query in a loop or something like that which provides lots of debugging info that your browser must render. Try putting a cfflush tag somewhere near the end of your page.
          • 2. Re: Long time to display page with debug turned on
            Salccnpp Level 1

            This is so squirrely ... as the page returns fast unless I have debug enabled. After a few minutes with debug enabled, the page returns and all of the 'times' are fast. I'm not sure why CF is struggling on this page. I'll try to add the code above and see what happens. But here is the debug output, when the page finally returns and it looks like I have a good fast page.


            Execution Time

            Total Time Avg Time Count Template
            734 ms 734 ms 1 C:\Inetpub\wwwroot\AccValid\SauAR.cfm
            578 ms 289 ms 2 C:\Inetpub\wwwroot\AccValid\SauAR_ss_acc_valid.cfm
            221 ms 7 ms 32 C:\Inetpub\wwwroot\AccValid\CCFormatDate.cfm
            94 ms 47 ms 2 C:\Inetpub\wwwroot\AccValid\SauAR_SS_ACC_VALIDSearch.cfm
            47 ms 8 ms 6 C:\Inetpub\wwwroot\AccValid\CCGetQueryString.cfm
            31 ms 31 ms 1 C:\Inetpub\wwwroot\AccValid\CCExecuteSQL.cfm
            31 ms 31 ms 1 C:\Inetpub\wwwroot\AccValid\CCOpenRS.cfm
            31 ms 3 ms 11 C:\Inetpub\wwwroot\AccValid\CCWhereParams.cfm
            31 ms 31 ms 1 C:\Inetpub\wwwroot\AccValid\Common.cfm
            16 ms 8 ms 2 C:\Inetpub\wwwroot\AccValid\AccValidHeader.cfm
            16 ms 8 ms 2 C:\Inetpub\wwwroot\AccValid\CCDLookUp.cfm
            16 ms 16 ms 1 C:\Inetpub\wwwroot\AccValid\CCToSQL.cfm
            0 ms 0 ms 5 C:\Inetpub\wwwroot\AccValid\CCAddParam.cfm
            0 ms 0 ms 4 C:\Inetpub\wwwroot\AccValid\CCGetParam.cfm
            0 ms 0 ms 2 C:\Inetpub\wwwroot\AccValid\CCParseDate.cfm
            0 ms 0 ms 13 C:\Inetpub\wwwroot\AccValid\CommonConst.cfm
            0 ms 0 ms 2 CFC[ C:\Inetpub\wwwroot\AccValid\CCSLocales.cfc | GetText(CCS_LocaleID) ] from C:\Inetpub\wwwroot\AccValid\CCSLocales.cfc
            0 ms STARTUP, PARSING, COMPILING, LOADING, & SHUTDOWN
            734 ms TOTAL EXECUTION TIME
            red = over 250 ms average execution time


            --------------------------------------------------------------------------------
            SQL Queries

            queryExec (Datasource=connSSDSP, Time=0ms, Records=0) in C:\Inetpub\wwwroot\AccValid\CCExecuteSQL.cfm @ 17:14:31.031

            ALTER SESSION SET NLS_DATE_FORMAT = 'MM/DD/YYYY HH24:MI:SS'

            queryDlookUp (Datasource=connSSDSP, Time=16ms, Records=1) in C:\Inetpub\wwwroot\AccValid\CCDLookUp.cfm @ 17:14:31.031

            select rtrim(upper(GLOBAL_NAME)) AS RES from GLOBAL_NAME where 1=1

            queryDlookUp (Datasource=connSSDSP, Time=0ms, Records=1) in C:\Inetpub\wwwroot\AccValid\CCDLookUp.cfm @ 17:14:31.031

            select rtrim(upper(description_short)) AS RES from ss_coded_list_values where type='ACC_VALID' and code='SID_PROD' and obsolete = 'N'

            queryS_RUN_NUM (Datasource=connSSDSP, Time=15ms, Records=1) in C:\Inetpub\wwwroot\AccValid\SauAR_SS_ACC_VALIDSearch.cfm @ 17:14:31.031

            SELECT distinct RUN_NUM, max(generated_date) GenDate
            FROM SS_ACC_VALID
            Where run_num is not null
            group by run_num ORDER BY run_num desc

            CALLER.queryss_acc_valid (Datasource=connSSDSP, Time=31ms, Records=14) in C:\Inetpub\wwwroot\AccValid\CCOpenRS.cfm @ 17:14:31.031

            SELECT P.ID_TYPE AS P_ID_TYPE, P.PERSON_ID AS P_PERSON_ID, P.CNTL_NO AS P_CNTL_NO, P.NAME_LAST AS P_NAME_LAST, P.NAME_MIDDLE AS P_NAME_MIDDLE,
            P.NAME_FIRST AS P_NAME_FIRST, ACC_VALID_GEN_NBR, SS_ACC_VALID.PERSON_GEN_NBR AS PERSON_GEN_NBR, SS_ACC_VALID.ACCESS_REQ_GEN_NBR AS ACCESS_REQ_GEN_NBR,
            GENERATED_DATE, SUBMITTED_BY, SUBMITTED_DATE, COMMENTS, NEWACCREQ, AR_XFER_LUB, AR_XFER_LUD, RUN_NUM, AR.PERSON_ID AS AR_PERSON_ID,
            AR.NAME_LAST AS AR_NAME_LAST, AR.NAME_MIDDLE AS AR_NAME_MIDDLE, AR.NAME_FIRST AS AR_NAME_FIRST, NEWAR.PERSON_ID AS NEWAR_PERSON_ID,
            NEWAR.NAME_LAST AS NEWAR_NAME_LAST, NEWAR.NAME_FIRST AS NEWAR_NAME_FIRST, NEWAR.NAME_MIDDLE AS NEWAR_NAME_MIDDLE
            FROM ss_acc_valid,
            SS_PERSONS p,
            SS_PERSONS ar,
            SS_PERSONS newar WHERE
            ( (SS_ACC_VALID.PERSON_GEN_NBR = P.PERSON_GEN_NBR) AND (SS_ACC_VALID.ACCESS_REQ_GEN_NBR = AR.PERSON_GEN_NBR) AND (SS_ACC_VALID.NEWACCREQ = NEWAR.PERSON_GEN_NBR) ) AND SS_ACC_VALID.RUN_NUM = 130946 And (ss_acc_valid.newaccreq IS NOT NULL)



            --------------------------------------------------------------------------------
            Scope Variables

            CGI Variables:
            AUTH_PASSWORD=
            AUTH_TYPE=
            AUTH_USER=
            CERT_COOKIE=
            CERT_FLAGS=
            CERT_ISSUER=
            CERT_KEYSIZE=
            CERT_SECRETKEYSIZE=
            CERT_SERIALNUMBER=
            CERT_SERVER_ISSUER=
            CERT_SERVER_SUBJECT=
            CERT_SUBJECT=
            CF_TEMPLATE_PATH=C:\Inetpub\wwwroot\AccValid\SauAR.cfm
            CONTENT_LENGTH=
            CONTENT_TYPE=
            CONTEXT_PATH=
            GATEWAY_INTERFACE=CGI/1.1
            HTTPS=off
            HTTPS_KEYSIZE=
            HTTPS_SECRETKEYSIZE=
            HTTPS_SERVER_ISSUER=
            HTTPS_SERVER_SUBJECT=
            HTTP_ACCEPT=image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, application/x-shockwave-flash, */*
            HTTP_ACCEPT_ENCODING=gzip, deflate
            HTTP_ACCEPT_LANGUAGE=en-us
            HTTP_CONNECTION=Keep-Alive
            HTTP_COOKIE=CFID=14; CFTOKEN=33114963; JSESSIONID=ba30b9597906$F5V$A8$
            HTTP_HOST=localhost
            HTTP_REFERER=http://localhost/accvalid/SauAR.cfm
            HTTP_USER_AGENT=Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)
            PATH_INFO=/accvalid/SauAR.cfm
            PATH_TRANSLATED=C:\Inetpub\wwwroot\AccValid\SauAR.cfm
            QUERY_STRING=S_RUN_NUM=130946&S_PERSON_ID=&S_ACCESS_REQ_GEN_NBR=&S_SUBMITTED_BY=&S_COMMENT S=&S_NEWACCREQ=&S_AR_XFER_LUB=&S_AR_XFER_LUD=&SS_ACC_VALIDPAGESIZE=%20&CFID=14&CFTOKEN=331 14963
            REMOTE_ADDR=127.0.0.1
            REMOTE_HOST=127.0.0.1
            REMOTE_USER=
            REQUEST_METHOD=GET
            SCRIPT_NAME=/accvalid/SauAR.cfm
            SERVER_NAME=localhost
            SERVER_PORT=80
            SERVER_PORT_SECURE=0
            SERVER_PROTOCOL=HTTP/1.1
            SERVER_SOFTWARE=Microsoft-IIS/5.1
            WEB_SERVER_API=

            Cookie Variables:
            CFID=14
            CFTOKEN=33114963
            JSESSIONID=ba30b9597906$F5V$A8$

            Session Variables:
            cfid=14
            cftoken=33114963
            sessionid=C_INETPUB_WWWROOT_ACCVALID_14_33114963
            urltoken=CFID=14&CFTOKEN=33114963

            URL Parameters:
            CFID=14
            CFTOKEN=33114963
            SS_ACC_VALIDPAGESIZE=
            S_ACCESS_REQ_GEN_NBR=
            S_AR_XFER_LUB=
            S_AR_XFER_LUD=
            S_COMMENTS=
            S_NEWACCREQ=
            S_PERSON_ID=
            S_RUN_NUM=130946
            S_SUBMITTED_BY=

            Debug Rendering Time: 250 ms
            • 3. Re: Long time to display page with debug turned on
              Salccnpp Level 1
              <cfflush> had no affect.
              Withl debugging off, page returns fast. add that client IP to debugging addresses and it takes > 1 minute for the page to come back.
              • 4. Re: Long time to display page with debug turned on
                Avatar Level 1
                That is usually indicative of just a lot of data being sent across the network and also into the browser. The amount of text being written on-screen and sent to the browser to display can easily bog down IE for example. If I dump out 3 relatively small xml repsonses the code is rendered quickly but it could take 3 minutes for the browser to render in on-screen for me.
                • 5. Re: Long time to display page with debug turned on
                  Salccnpp Level 1
                  Per the vendor YesSoftware of the generated code used, CF server cannot debug properly with the way they are issuing the javascript.
                  According to them:
                  Actually yes, it is a known issue that &#1057;F debug information conflicts with the javascript code like:
                  <script language="JavaScript" src="ClientI18N.cfm?file=Functions.js&locale=<CFOUTPUT>#Request.CCSLocales.GetText('CCS_L ocaleID')#</CFOUTPUT>" type="text/javascript" charset="utf-8"></script>
                  So when you need to use cf debug output and javascript you should call js file directly:
                  <script language="JavaScript" src="Functions.js" type="text/javascript" charset="utf-8"></script>

                  This is CCS restriction on using debug information together with JavaScript files call with the help of code like
                  <script language="JavaScript" src="ClientI18N.cfm?file=Functions....
                  In general this is a workaround that applied to ColdFusion code generating patterns only because debug information is valid for HTML code but invalid for JavaScript. But CF Server has a feature that let you add debug html data into output string.
                  So it’s ColdFusion solution only.

                  One can block debug output for a certain page in a following way:
                  The folder coldfusionroot/wwwroot/WEB-INF/debug stores cfm files which are used to create debug output. For example if “classic output” is used, you can edit classic.cfm file and add a check code at its beginning, like
                  <CFIF Find("ClientI18N.cfm", CGI.CF_TEMPLATE_PATH) GT 0>
                  <CFEXIT>
                  </CFIF>