Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

Browser timeout during SQL execution

Posted on 2004-09-20
7
Medium Priority
?
588 Views
Last Modified: 2013-12-24
Coldfusion MX 6.1
SQL server 2000 sp3

I am having problems with browser timeouts during long-running SQL tasks executed through <CFQUERY>

The process runs for about 30 seconds then I get this in the browser window

The page cannot be displayed
The page you are looking for is currently unavailable. The Web site might be experiencing technical difficulties, or you may need to adjust your browser settings.

I have already added this <cfsetting requesttimeout="10000">
and I have changed the timeout settnig to 600 in the CFIDE admin tool.

I also added <cfflush> throughout.

One last thing... I have verified both through QA testing the tables and through SQL server traces that the code continues to execute AFTER the server sends the "The page cannot be diplayed to browser"...so i know that the SQL is valid...100% sure.  Are there settings on the client that cause the browser to timeout? What am I missing?

One last thing... SQL 2 and 3 (see below) take about 3 minutes to execute on average according to the trace.



code:

<!--- this procedure loads the table
etl.dbo.bldg_permit_fact
--->
<html>
<head>
<title>Process permit fact table</title>
</head>
<body>
<cfflush interval="5">
<h3> Processinig fact table updates...this may take a couple minutes</h3>
<cfflush>
<cfsetting requesttimeout="10000">


      <cfloop from="1" to="4" index="i">
            <cfquery name ="elt_fact#i#" datasource="reports">
                  [ First SQL here...]      
            </cfquery>
            
      </cfloop>
<h3>rows inserted...updates started</h3>
<cfflush>

<cfquery name="etl_fact_metrics" datasource="reports">
  [Second SQL here]
</cfquery>

<cfflush>
<h3>Almost there...one more update!</h3>

<cfquery name="etl_perm" datasource="reports">
   [Third SQL here]
</cfquery>
fact table processed successfully
</body>
</html>
0
Comment
Question by:joegensh
7 Comments
 

Expert Comment

by:speshal
ID: 12105490
Try caching your queries if you can:
<cfquery name="etl_perm" datasource="reports" CachedWithin="#CreateTimeSpan(0,1,0,0)#">
It may not work the first time due to a timeout but should on the rest


Also have a look here at a similar situation:
http://www.experts-exchange.com/Web/WebDevSoftware/ColdFusion/Q_21025883.html

speshal
0
 
LVL 9

Expert Comment

by:Jerry_Pang
ID: 12109690
are thouse update,insert,delete statements?
or just select statements?

it those are select statements, i suggest indexing those tables.
this should give you faster results.

How many records are those tables anyway?
0
 

Author Comment

by:joegensh
ID: 12116667
All the SQL is DML (Update, Inserts and Delets), there are no Selects.  The tables are fairly big for the server (comaq proliant 2 processors). Both tables are 1,000,000 rows+

I feel I've tuned the SQL as good as I can.  All indexes are dropped on the columns being written too and the read columns are PKs.

I've also run SQL through the tunning wizards in SQL server.

I'll try the first suggestion....I am unsure what the cachedWith does or if it is even applicable to DML SQL.

My main question is does sql server support the timeout settings that are being passed from the cfsetting tags?
0
Hire Technology Freelancers with Gigs

Work with freelancers specializing in everything from database administration to programming, who have proven themselves as experts in their field. Hire the best, collaborate easily, pay securely, and get projects done right.

 
LVL 9

Expert Comment

by:Jerry_Pang
ID: 12119318
you might want to try moving your sql statements to storedprocedure.

You may get faster results. if it really takes that long it will time out.

IE will time out regardless of any settings. I have read that somewhere but i could not find the
link anymore. i am unsure what is the timeout limit.
0
 

Author Comment

by:joegensh
ID: 12119742
30 Seconds...

The official company policy is that storedprocs are out of favor....I like stored procs personally.

I actually backed around this issued by creating a <cfschedule> tag with an emai notification to the end user when the page runs its stuff.  Not optimal, but it works

0
 

Accepted Solution

by:
CetusMOD earned 0 total points
ID: 12385268
PAQed, with points refunded (125)

CetusMOD
Community Support Moderator
0

Featured Post

Vote for the Most Valuable Expert

It’s time to recognize experts that go above and beyond with helpful solutions and engagement on site. Choose from the top experts in the Hall of Fame or on the right rail of your favorite topic page. Look for the blue “Nominate” button on their profile to vote.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

If you don't have the right permissions set for your WordPress location in IIS, you won't be able to perform automatic updates. Here's how to fix the problem.
When it comes to security, close monitoring is a must. According to WhiteHat Security annual report, a substantial number of all web applications are vulnerable always. Monitis offers a new product - fully-featured Website security monitoring and pr…
Video by: ITPro.TV
In this episode Don builds upon the troubleshooting techniques by demonstrating how to properly monitor a vSphere deployment to detect problems before they occur. He begins the show using tools found within the vSphere suite as ends the show demonst…
Loops Section Overview
Suggested Courses
Course of the Month12 days, 14 hours left to enroll

971 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question