Solved

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

Posted on 2008-06-12
12
510 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
Ransomware-A Revenue Bonanza for Service Providers

Ransomware – malware that gets on your customers’ computers, encrypts their data, and extorts a hefty ransom for the decryption keys – is a surging new threat.  The purpose of this eBook is to educate the reader about ransomware attacks.

 

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

Efficient way to get backups off site to Azure

This user guide provides instructions on how to deploy and configure both a StoneFly Scale Out NAS Enterprise Cloud Drive virtual machine and Veeam Cloud Connect in the Microsoft Azure Cloud.

Question has a verified solution.

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

FAQ pages provide a simple way for you to supply and for customers to find answers to the most common questions about your company. Here are six reasons why your company website should have a FAQ page
Although a lot of people devote their energy toward marketing for specific industries, there are some basic principles that can be applied to any sector imaginable. We’ll look at four steps to take and examine how those steps were put into action fo…
This tutorial walks through the best practices in adding a local business to Google Maps including how to properly search for duplicates, marker placement, and inputing business details. Login to your Google Account, then search for "Google Mapmaker…
The viewer will get a basic understanding of what section 508 compliance can entail, learn about skip navigation links, alt text, transcripts, and font size controls.

713 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