New hard drive, new motherboard, new RAM, new processor ... new PC (upgraded)
I have just iinstalled everything new, from scratch, in my PC: WinXP Pro, VS2010, SQL Server 2008 R2
Even like this, sometimes ASP.Net applications delays a lot of time loading pages
I have seen this also in the past and I tought it might be some issue with my PC or some bugs with my old installed software or memory problems or anything else
but ASP.Net being slow on its own
It is me , my way of feeling or it comes simply to be that ASP.Net applications are slow in performance?
I have tried also deploying feature but sometimes it freezes and it freaks you out because when it comes to your customers, working in real life situations, they don't care any other thing than responding rapidly to their customers waiting on the line
Is ASP.Net slow?
I'm afraid of asking this: Any tool for impoving its performance?
Afraid of receiving an answer which will mean taht this is really an issue and not a simple perception of my own
Who is your webhost Topolov? If its GoDaddy, I can explain why. What they do is if the site is not hit within a few minutes, they shut down the application pools which in turn results in rebuilding the application which can give your site the appearance
that it has hung. It isn't. There is one application that they give you a windows service in which you can keep doing a get on your pages.
The other option if you have access to the web server is a Keep Alive Service for IIS. You would install this on the IIS itself.
http://keepalive.codeplex.com/
I'm talking about my own deployments. By the way, is not my firts one. I have been deploying applications since VS2003 old times
I do nothing special to deploy (now I use the deployment option sometimes) which I understand speeds up applications because it pre-compiles all code at once not waiting the firts time load on the user's side in order to do that
I just do it the normal way it has been done using IIS. Nothing more
PS.S: I HOST MY APPLICATIONS ON THE SERVERS OF MY CUSTOMERS
But even like that, ASP.Net hangs a little while deploying on its own intrinsic development web server
Ok, now that is interesting. Does this slowness occur each time you open the page or just on the first time? Keep in mind, even if the page is pre-compiled, it still has to load the dll files into memory which can take a few anyway. Have you tried running
these apps on a different machine to see if they work better elsewhere?
Specifically I'm talking about my newer applications, based on EF ASp.Net Dynamic Data C#
To be true I can tell you that I can see that behavor in applications which have a lot of entities and the database model has all its linking made through Foreign Keys relationships
The model and MetaData logic works marevouslly this way but sometimes (and not just with tables that have a lot of relationships defined from-to it but also in others rather simple) it also hangs up (or waits a little too long) to display non-complicated
tables
I know you're going to tell me that a lot of this will depend on database schema definition but it is also true that real life applications are not simple and that they are expected to work well to be used in business
Moreover, SQL Server is a 1st class engine for managing 1,000,0000 of records without much trouble, sin't it?
I must also say that I have also defined a good structure for my indexes so searching (queries) is made based on pre-defined criteria
What I'm trying to say is that I can understand that the engine waits a little if you're making a query which involves querying all of the records in a table but this s not the case
It happens sometimes with simple tables with little records
Have you ever seen or hear about this situation before?
Ok, you answered one of my db questions about indexes. Good. Now, are you putting any of your controls inside update panels? If your update panel viewstate gets too big that can bring your site to a crawl. Its happened to me before. My viewstate was nearly
a whopping 1.2 megs (not my design ) so I had to redesign the interface to use JQuery. The UI was fine for this dropdown list until
it hit about 2000 records. I would say try running fiddler on it to see just how large the viewstate is.
I am using the normal ASP.Net Dynamic Data application with C#
It uses 5 basic pages based on templates
In my case I use just one page: ListDetails.aspx
Dynamic Data does all scaffolding in that one single page
ListDetails.aspx uses two components: A GridView and a FormView
So customization of business rules comes in the form of "Partial Classes" and "MetaData" definition files
I will mention this just for you to know: documentation on intermediate to advanced issues scarce on ASP.Net Dynamic Data so there might be a little guilt on our own customization of the code for some pages
But, it seems that the whole interactivity among complex and single pages carries a little disruptions to the web server and it seems that maybe Dynamic Data roundarounds waste its potential, or maybe it uses heavily some kind of extensive paging/caching
that can't be discarded at once and hangs while it unloads previous data and loads newer one
I'm just guessing but it might be that the stock pile of RAM that is being used by Dynamic Data collapses and it takes a while to rebuild it or re-defiine it
EXCUSE ME FOR THINKING OUT LOUD. I'm just guessing
Hmmm, now that is curious indeed. I would still fire up fiddler and just examine the crosstalk between client and server. Even if you arne't using updatepanels and all, if your viewstate is large, that can slow performance.
I might be wrong here but it seems to me that ASP.Net Dynamic Data doesn't use at all ViewState
The data flips-flop in its inside. It comes and goes (it seems randomly but it certainly obbeys to the way Dynamic Data manages its data)
So there's noway for you (programmer) to use PostBack and some other natural tools (of course that guys like Stephen Naughton will probably say that it does, but he's a guy out of this world.) I'm talking about normal, limited people
There's no way because you must rely on the availability of data that the frameworks provides you at difefrent stages, let's call it methods and mostly "Events"
Depending on the nature of the event, then you have "some" data available BUT IT SEEMS THAT YOU (PROGRAMMER) CAN'T CARRY ON DATA ON YOUR OWN BUT JUST BY MAKING USE OF A LOT OF IMAGINATION
I mostly use Session variables which by the way is a nightmare because you must know when and how to use it and mostly ... you must know when to discard and reset that info so you don't mess Dynamic Data natural behavior with your own messy code
I understand what you mean. Have you tried running the debugger against the site (I'm talking about where the slowness is happening) so that you can actually step through the processes to see what its doing? I can't think of any other way to know what's
happening. Again, without us being able to see your project, its very difficult for us to pinpoint where the problem really is.
Let me say this and I want to make it clear that I am not changing the original subject of my question. You'll see later that I'm maintaining my original question here. I'm just making my question richer so you can help finding out why ASP.Net performance
degrades sometimes
Naughton's answer in a recent post comes like this:
"table" is a variable of the type DynamicDataRouteHandler.GetRequestMetaTable(Context) NOT A STRING
But Dynamic Data maintains its properties just when it is executing that piece of code. After that "table" IT'SGONE
There is no way of recreating that sentence but in that very method
I'm saying this in order to show you something I was telling you before: programmers need help with customization and the lack of documentation makes you write messy code which might as well be avoided if proper training were published on Dynamic Data
Coming to our point: don't know if that pieces of code might be interfering with ASP.Net performance
BUT THERE IS NO WAY OF CHECKING THIS OUT BY MEANS OF WHAT YOU SAID: DEBUGGING
Maybe with any other tool but Dynamic Data. No way to do that Jose!
I understand what you mean. Have you tried running the debugger against the site (I'm talking about where the slowness is happening) so that you can actually step through the processes to see what its doing? I can't think of any other way to know what's
happening. Again, without us being able to see your project, its very difficult for us to pinpoint where the problem really is.
It happens randomly, with any table: after choosing from the main menu, while trying to show a grid
No way to determine a point in which it happens
That's why I started installing everything from scratch: my CPU and software
It behaves the same either in previous or newest condition
Not really much records in my database. Tables are empty so I'm starting data entering also from scratch
I hate to admit it but I'm really stumped, especially now that you say it happens at random. About the only thing I could think that would cause that would be the application pool timeout being exceeded but that is a longshot. Usually, when the app pool
goes to sleep (yes, this really does happen - GoDaddy is a great example of that) the application code has to be rebuilt which can take upward of 30 seconds to a minute depending on how much code you are loading, even with compiled DLLs. Beyond that, I have
no other ideas.
How can you effectively trace ASP.Net but not with the debugger but any other useful tool (believe me, if you were working with Dynamic Data VS2010 debugger doesn't really help much for this purpose)
Ok, if its hanging on the main menu, then you would want to run Fiddler to see what the heck its doing. The problem could be a large viewstate which is common with AJAX Toolkit Controls.
Member
68 Points
360 Posts
Why ASP.Net applications delay so much to load pages
Feb 01, 2012 11:30 AM|Topolov|LINK
New hard drive, new motherboard, new RAM, new processor ... new PC (upgraded)
I have just iinstalled everything new, from scratch, in my PC: WinXP Pro, VS2010, SQL Server 2008 R2
Even like this, sometimes ASP.Net applications delays a lot of time loading pages
I have seen this also in the past and I tought it might be some issue with my PC or some bugs with my old installed software or memory problems or anything else but ASP.Net being slow on its own
It is me , my way of feeling or it comes simply to be that ASP.Net applications are slow in performance?
I have tried also deploying feature but sometimes it freezes and it freaks you out because when it comes to your customers, working in real life situations, they don't care any other thing than responding rapidly to their customers waiting on the line
Is ASP.Net slow?
I'm afraid of asking this: Any tool for impoving its performance?
Afraid of receiving an answer which will mean taht this is really an issue and not a simple perception of my own
All-Star
35218 Points
9955 Posts
Moderator
Re: Why ASP.Net applications delay so much to load pages
Feb 01, 2012 11:44 AM|bbcompent1|LINK
Who is your webhost Topolov? If its GoDaddy, I can explain why. What they do is if the site is not hit within a few minutes, they shut down the application pools which in turn results in rebuilding the application which can give your site the appearance that it has hung. It isn't. There is one application that they give you a windows service in which you can keep doing a get on your pages.
http://kapie.com/2009/09/26/webapp-keepalive-service
The other option if you have access to the web server is a Keep Alive Service for IIS. You would install this on the IIS itself. http://keepalive.codeplex.com/
Member
68 Points
360 Posts
Re: Why ASP.Net applications delay so much to load pages
Feb 01, 2012 11:53 AM|Topolov|LINK
Thank you for responding so fast
I'm talking about my own deployments. By the way, is not my firts one. I have been deploying applications since VS2003 old times
I do nothing special to deploy (now I use the deployment option sometimes) which I understand speeds up applications because it pre-compiles all code at once not waiting the firts time load on the user's side in order to do that
I just do it the normal way it has been done using IIS. Nothing more
PS.S: I HOST MY APPLICATIONS ON THE SERVERS OF MY CUSTOMERS
But even like that, ASP.Net hangs a little while deploying on its own intrinsic development web server
All-Star
35218 Points
9955 Posts
Moderator
Re: Why ASP.Net applications delay so much to load pages
Feb 01, 2012 11:55 AM|bbcompent1|LINK
Ok, now that is interesting. Does this slowness occur each time you open the page or just on the first time? Keep in mind, even if the page is pre-compiled, it still has to load the dll files into memory which can take a few anyway. Have you tried running these apps on a different machine to see if they work better elsewhere?
Member
68 Points
360 Posts
Re: Why ASP.Net applications delay so much to load pages
Feb 01, 2012 12:10 PM|Topolov|LINK
Specifically I'm talking about my newer applications, based on EF ASp.Net Dynamic Data C#
To be true I can tell you that I can see that behavor in applications which have a lot of entities and the database model has all its linking made through Foreign Keys relationships
The model and MetaData logic works marevouslly this way but sometimes (and not just with tables that have a lot of relationships defined from-to it but also in others rather simple) it also hangs up (or waits a little too long) to display non-complicated tables
I know you're going to tell me that a lot of this will depend on database schema definition but it is also true that real life applications are not simple and that they are expected to work well to be used in business
Moreover, SQL Server is a 1st class engine for managing 1,000,0000 of records without much trouble, sin't it?
I must also say that I have also defined a good structure for my indexes so searching (queries) is made based on pre-defined criteria
What I'm trying to say is that I can understand that the engine waits a little if you're making a query which involves querying all of the records in a table but this s not the case
It happens sometimes with simple tables with little records
Have you ever seen or hear about this situation before?
All-Star
35218 Points
9955 Posts
Moderator
Re: Why ASP.Net applications delay so much to load pages
Feb 01, 2012 12:15 PM|bbcompent1|LINK
Ok, you answered one of my db questions about indexes. Good. Now, are you putting any of your controls inside update panels? If your update panel viewstate gets too big that can bring your site to a crawl. Its happened to me before. My viewstate was nearly a whopping 1.2 megs (not my design
) so I had to redesign the interface to use JQuery. The UI was fine for this dropdown list until
it hit about 2000 records. I would say try running fiddler on it to see just how large the viewstate is.
Member
68 Points
360 Posts
Re: Why ASP.Net applications delay so much to load pages
Feb 01, 2012 12:31 PM|Topolov|LINK
I am using the normal ASP.Net Dynamic Data application with C#
It uses 5 basic pages based on templates
In my case I use just one page: ListDetails.aspx
Dynamic Data does all scaffolding in that one single page
ListDetails.aspx uses two components: A GridView and a FormView
So customization of business rules comes in the form of "Partial Classes" and "MetaData" definition files
I will mention this just for you to know: documentation on intermediate to advanced issues scarce on ASP.Net Dynamic Data so there might be a little guilt on our own customization of the code for some pages
But, it seems that the whole interactivity among complex and single pages carries a little disruptions to the web server and it seems that maybe Dynamic Data roundarounds waste its potential, or maybe it uses heavily some kind of extensive paging/caching that can't be discarded at once and hangs while it unloads previous data and loads newer one
I'm just guessing but it might be that the stock pile of RAM that is being used by Dynamic Data collapses and it takes a while to rebuild it or re-defiine it
EXCUSE ME FOR THINKING OUT LOUD. I'm just guessing
All-Star
35218 Points
9955 Posts
Moderator
Re: Why ASP.Net applications delay so much to load pages
Feb 01, 2012 12:33 PM|bbcompent1|LINK
Hmmm, now that is curious indeed. I would still fire up fiddler and just examine the crosstalk between client and server. Even if you arne't using updatepanels and all, if your viewstate is large, that can slow performance.
Member
68 Points
360 Posts
Re: Why ASP.Net applications delay so much to load pages
Feb 01, 2012 12:44 PM|Topolov|LINK
I might be wrong here but it seems to me that ASP.Net Dynamic Data doesn't use at all ViewState
The data flips-flop in its inside. It comes and goes (it seems randomly but it certainly obbeys to the way Dynamic Data manages its data)
So there's noway for you (programmer) to use PostBack and some other natural tools (of course that guys like Stephen Naughton will probably say that it does, but he's a guy out of this world.) I'm talking about normal, limited people
There's no way because you must rely on the availability of data that the frameworks provides you at difefrent stages, let's call it methods and mostly "Events"
Depending on the nature of the event, then you have "some" data available BUT IT SEEMS THAT YOU (PROGRAMMER) CAN'T CARRY ON DATA ON YOUR OWN BUT JUST BY MAKING USE OF A LOT OF IMAGINATION
I mostly use Session variables which by the way is a nightmare because you must know when and how to use it and mostly ... you must know when to discard and reset that info so you don't mess Dynamic Data natural behavior with your own messy code
Sorry for mentioning this. Don't know where to go
All-Star
35218 Points
9955 Posts
Moderator
Re: Why ASP.Net applications delay so much to load pages
Feb 01, 2012 12:52 PM|bbcompent1|LINK
I understand what you mean. Have you tried running the debugger against the site (I'm talking about where the slowness is happening) so that you can actually step through the processes to see what its doing? I can't think of any other way to know what's happening. Again, without us being able to see your project, its very difficult for us to pinpoint where the problem really is.
Member
68 Points
360 Posts
Re: Why ASP.Net applications delay so much to load pages
Feb 01, 2012 05:36 PM|Topolov|LINK
Let me say this and I want to make it clear that I am not changing the original subject of my question. You'll see later that I'm maintaining my original question here. I'm just making my question richer so you can help finding out why ASP.Net performance degrades sometimes
Naughton's answer in a recent post comes like this:
If you see here in the code below,
table = DynamicDataRouteHandler.GetRequestMetaTable(Context);
"table" is a variable of the type DynamicDataRouteHandler.GetRequestMetaTable(Context) NOT A STRING
But Dynamic Data maintains its properties just when it is executing that piece of code. After that "table" IT'SGONE
There is no way of recreating that sentence but in that very method
I'm saying this in order to show you something I was telling you before: programmers need help with customization and the lack of documentation makes you write messy code which might as well be avoided if proper training were published on Dynamic Data
Coming to our point: don't know if that pieces of code might be interfering with ASP.Net performance
BUT THERE IS NO WAY OF CHECKING THIS OUT BY MEANS OF WHAT YOU SAID: DEBUGGING
Maybe with any other tool but Dynamic Data. No way to do that Jose!
Thanks
Member
68 Points
360 Posts
Re: Why ASP.Net applications delay so much to load pages
Feb 01, 2012 09:19 PM|Topolov|LINK
It happens randomly, with any table: after choosing from the main menu, while trying to show a grid
No way to determine a point in which it happens
That's why I started installing everything from scratch: my CPU and software
It behaves the same either in previous or newest condition
Not really much records in my database. Tables are empty so I'm starting data entering also from scratch
Any idea?
All-Star
35218 Points
9955 Posts
Moderator
Re: Why ASP.Net applications delay so much to load pages
Feb 02, 2012 06:27 AM|bbcompent1|LINK
I hate to admit it but I'm really stumped, especially now that you say it happens at random. About the only thing I could think that would cause that would be the application pool timeout being exceeded but that is a longshot. Usually, when the app pool goes to sleep (yes, this really does happen - GoDaddy is a great example of that) the application code has to be rebuilt which can take upward of 30 seconds to a minute depending on how much code you are loading, even with compiled DLLs. Beyond that, I have no other ideas.
Member
68 Points
360 Posts
Re: Why ASP.Net applications delay so much to load pages
Feb 04, 2012 12:19 PM|Topolov|LINK
So, what from here/
No ASP.Net Booster or something like that?
How can you effectively trace ASP.Net but not with the debugger but any other useful tool (believe me, if you were working with Dynamic Data VS2010 debugger doesn't really help much for this purpose)
All-Star
35218 Points
9955 Posts
Moderator
Re: Why ASP.Net applications delay so much to load pages
Feb 06, 2012 06:40 AM|bbcompent1|LINK
Sorry but no, there is no such thing. I don't have an answser for you here, sorry.
Member
68 Points
360 Posts
Re: Why ASP.Net applications delay so much to load pages
Feb 06, 2012 04:19 PM|Topolov|LINK
Ok. I have a clue here
Today, ASP.Net started hanging up loading a page in ite very begining, loading the main menu
It seems to me that there's something wrong between the comunication established with Asp.net and the web server
Thta's funny, isn't it?
Member
68 Points
360 Posts
Re: Why ASP.Net applications delay so much to load pages
Feb 17, 2012 02:39 AM|Topolov|LINK
.... and ..... ?????
There will be any future feedbackon this or have we reache a dead end storey?
All-Star
35218 Points
9955 Posts
Moderator
Re: Why ASP.Net applications delay so much to load pages
Feb 21, 2012 08:38 AM|bbcompent1|LINK
Ok, if its hanging on the main menu, then you would want to run Fiddler to see what the heck its doing. The problem could be a large viewstate which is common with AJAX Toolkit Controls.