Solved

Application on asp classic pages performance is slow after moving it to windows server 2003

Posted on 2008-06-12
12
509 Views
Last Modified: 2012-08-13
Hi

We recently migrated from windows server 2000 IIS5 to windows server 2003 IIS6. We have an application developed on asp classic, that used to run well in windows server 2000, slowed down to 18 more seconds now on windows 2003. I'm having a lot of complaints and need to have the performance that I used to have with server 2000.

thanks iin advanced
0
Comment
Question by:jirivera51
  • 3
  • 3
  • 3
  • +1
12 Comments
 
LVL 5

Expert Comment

by:squillman
ID: 21773890
There are tons of reasons that this could happen.  Can you give us some more information about your environment?

1) Was your migration to different server hardware or was it an upgrade to W2k3 / IIS6?  If it is to new hardware is the hardware comparable to the 2000 server?  What are the hardware specs of the new box?
2) What other web apps do you have running on the 2003 box?
3) What does your app do?  Does it interact with other network services (databases, directories, etc)?
4) IIS 5 had application isolation levels and IIS6 now uses application pools.  What was the isolation level in IIS5 for your app?  Was it running in a shared space with other apps?  Is it now running in its own app pool in IIS6 or is it in the default app pool?
0
 

Author Comment

by:jirivera51
ID: 21779298
We actually migrated to a different server and kept the old one for development. both of them are running now on server 2003 Std. Edition and are having the same problem with this asp application, so I dont think is a hardware issue.  Any how, the new server is a dell power edge 1950 quad core with 4 Gb of memory and the old one is an HP NetServer  pentium III 854 Mhz 1Gb of memory.

we have other .net apps running on this server but they are light apps not to heavy. they all run in the same default pool. the asp aplication in this matter is also a light app. it interacts with SQL database executing some stored procedures. all this stored procedures run very well, in miliseconds.

dont remember the isolation level in II5 since we already reformat that server but I sure it was the default one and it was running with the same aplications as now on the 2003 server.

hope this info is helpful for helping me with this issue. let me know if you need anything else.

thanks a lot

0
 
LVL 29

Expert Comment

by:rdivilbiss
ID: 21809620
Put your classic ASP application in its own application pool.
0
Master Your Team's Linux and Cloud Stack!

The average business loses $13.5M per year to ineffective training (per 1,000 employees). Keep ahead of the competition and combine in-person quality with online cost and flexibility by training with Linux Academy.

 

Expert Comment

by:tim794
ID: 21824683
I'm having the same issue.  IIS v6.0 machine is many times faster than the IIS v5.1 machine but a key asp form loads in 5 seconds in IIS v5.1 and takes 1:42 in IIS v6.  I tried running it in its own pool but that doesn't help.
0
 

Author Comment

by:jirivera51
ID: 21824808
Thanks but I tried it and it did not work. the same result when the aplication is on another pool.
0
 
LVL 29

Expert Comment

by:rdivilbiss
ID: 21826303
Bother.... :(

Did you change drivers?
0
 
LVL 29

Expert Comment

by:rdivilbiss
ID: 21826341
From Q_22913541.html

I determined the problem. In the IIS config for application configuration Response Buffer was not enabled. I enabled it and the page are now flying. Found help in the following links.

http://msdn2.microsoft.com/en-us/library/ms526001.aspx

http://support.microsoft.com/default.aspx?scid=kb;en-us;840875  (at the bottom)
0
 

Expert Comment

by:tim794
ID: 21834174
The Response Buffer was enabled so that isn't it either.   There are 2 loops in the code that repeatedly open and close recordsets.  An SQL Trace shows the Quries are fast on both servers but the duration of the Audit Logout Event is much longer on the slow one.   Not much is going on in the loops except building a string so I'm guessing the recordset open is where the difference is but I don't know why.
	rsBuilding.Open sqlStr, SourceConn
 
	iBldCount = rsBuilding.RecordCount
 
	if not rsBuilding.EOF then		'site has buildings
		
		SelectText = SelectText & "new Array(new Array(""   "", 0, new Array(new Array(""   "", 0))),"
		
		while not rsBuilding.EOF
			'Open Floor Recordset
			if Application("db_platform") <> "ORACLE" THEN
				sqlArray = "SELECT Building_ID, Floor_ID" & _
						" FROM ""Floors"" WHERE " & _
						"Building_ID = '" & rsBuilding("Building_ID") & "' ORDER BY Building_ID, Floor_ID"
			else
							sqlArray = "SELECT Building_ID, Floor_ID" & _
						" FROM FLOORS WHERE " & _
						"Building_ID = '" & rsBuilding("Building_ID") & "' ORDER BY Building_ID, Floor_ID"
			end if
 
			rsFloor.Open sqlArray, SourceConn	
 
		  
			if not rsFloor.EOF then  'This building has floors
		  
				if iBldCount > 1 and iRecCount=1 then
 
					SelectText = SelectText & "new Array(""" & Trim(rsBuilding("Building_ID")) & _
								""", """ & Trim(rsBuilding("Building_ID")) & """, new Array(new Array(""   "", 0)," & vbcrlf
 
				else
 
					SelectText = SelectText & "new Array(""" & Trim(rsBuilding("Building_ID")) & _
								""", """ & Trim(rsBuilding("Building_ID")) & """, new Array(new Array(""   "", 0)," & vbcrlf
 
				end if
				
				while not rsFloor.EOF
					SelectText = SelectText & " new Array(""" & Trim(rsFloor("Floor_ID")) & """, """ & Trim(rsFloor("Floor_ID")) & """)," & vbcrlf	
				  
					rsFloor.MoveNext	
				wend
				SelectText=left(SelectText,(len(SelectText) - 3))
				SelectText=SelectText & "))," & vbcrlf
			else  'This building has no floors
				SelectText = SelectText & "new Array(""" & Trim(rsBuilding("Building_ID")) & _
					         """, """ & Trim(rsBuilding("Building_ID")) & """, new Array(new Array(""   "", 0)))," & vbcrlf
			end if
			rsFloor.Close
			rsBuilding.MoveNext	  
		wend
		SelectText=left(SelectText,(len(SelectText) - 3))
		SelectText=SelectText & "),"
	else	'no buildings for this site
	   SelectText = SelectText & "new Array(new Array(""   "", 0, new Array(new Array(""   "", 0)))),"
	end if
 
	iRecCount = iRecCount + 1
 
	rsBuilding.Close

Open in new window

0
 

Author Comment

by:jirivera51
ID: 21902884
nop the buffer.response was set to true that did not work either. what else can I try?
0
 

Accepted Solution

by:
tim794 earned 125 total points
ID: 21907927
For my similar issue, I was able to narrow it down to it being a major difference in the time it took to open a recordset even though the queries were actually faster on IIS v6 when tested in Query analyzer.
 However, I never solved the problem and had to work around it.  I'm still interested if anyone solves this because I'm sure I will run into it again.
0

Featured Post

MIM Survival Guide for Service Desk Managers

Major incidents can send mastered service desk processes into disorder. Systems and tools produce the data needed to resolve these incidents, but your challenge is getting that information to the right people fast. Check out the Survival Guide and begin bringing order to chaos.

Question has a verified solution.

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

If you are a web developer, you would be aware of the <iframe> tag in HTML. The <iframe> stands for inline frame and is used to embed another document within the current HTML document. The embedded document could be even another website.
Boost your ability to deliver ambitious and competitive web apps by choosing the right JavaScript framework to best suit your project’s needs.
Explain concepts important to validation of email addresses with regular expressions. Applies to most languages/tools that uses regular expressions. Consider email address RFCs: Look at HTML5 form input element (with type=email) regex pattern: T…
Any person in technology especially those working for big companies should at least know about the basics of web accessibility. Believe it or not there are even laws in place that require businesses to provide such means for the disabled and aging p…

856 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