Still celebrating National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

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

Posted on 2008-06-12
12
Medium Priority
?
520 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 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
Visualize your virtual and backup environments

Create well-organized and polished visualizations of your virtual and backup environments when planning VMware vSphere, Microsoft Hyper-V or Veeam deployments. It helps you to gain better visibility and valuable business insights.

 

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 500 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

U.S. Department of Agriculture and Acronis Access

With the new era of mobile computing, smartphones and tablets, wireless communications and cloud services, the USDA sought to take advantage of a mobilized workforce and the blurring lines between personal and corporate computing resources.

Question has a verified solution.

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

Ready to get certified? Check out some courses that help you prepare for third-party exams.
Without even knowing it, most of us are using web applications on a daily basis.  In fact, Gmail and Yahoo email, Twitter, Facebook, and eBay are used by most of us daily—and they are web applications. We generally confuse these web applications to…
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…
The viewer will learn how to count occurrences of each item in an array.

704 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