Solved

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

Posted on 2008-06-12
12
499 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
Comment Utility
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
Comment Utility
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
Comment Utility
Put your classic ASP application in its own application pool.
0
 

Expert Comment

by:tim794
Comment Utility
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
Comment Utility
Thanks but I tried it and it did not work. the same result when the aplication is on another pool.
0
Free Trending Threat Insights Every Day

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

 
LVL 29

Expert Comment

by:rdivilbiss
Comment Utility
Bother.... :(

Did you change drivers?
0
 
LVL 29

Expert Comment

by:rdivilbiss
Comment Utility
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
Comment Utility
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
Comment Utility
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
Comment Utility
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

Top 6 Sources for Identifying Threat Actor TTPs

Understanding your enemy is essential. These six sources will help you identify the most popular threat actor tactics, techniques, and procedures (TTPs).

Join & Write a Comment

This demonstration started out as a follow up to some recently posted questions on the subject of logging in: http://www.experts-exchange.com/Programming/Languages/Scripting/JavaScript/Q_28634665.html and http://www.experts-exchange.com/Programming/…
"In order to have an organized way for empathy mapping, we rely on a psychological model and trying to model it in a simple way, so we will split the board to three section for each persona and a scenario and try to see what those personas would Do,…
Viewers will get an overview of the benefits and risks of using Bitcoin to accept payments. What Bitcoin is: Legality: Risks: Benefits: Which businesses are best suited?: Other things you should know: How to get started:
The viewer will learn how to look for a specific file type in a local or remote server directory using PHP.

744 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

Need Help in Real-Time?

Connect with top rated Experts

18 Experts available now in Live!

Get 1:1 Help Now