G
Guest
Hello,
We are experiencing some issues with the aspnet_wp process on our live
servers. The problems are intermittent and we cannot reproduce it on our dev
and test servers.
Currently around twice a day the aspnet_wp process takes 100% of the cpu and
causes the whole website to come to a stand still. We then have to end the
process for the website to become useable. Once the aspnet_wp process
recycled itself and in the event logs it mentioned that it had recycled
itself due to a deadlock. Unfortunately we haven't been able to wait until
the aspnet_wp recycles itself because the live website comes to a standstill
so can't say for definite if the subsequent problems are due to a deadlock
too. We have tried to look through the weblogs for around the time the aspnet
process hangs but almost everything has a high time taken value and some
pages (normally those that display a lot of info) have high sc-bytes and
cs-bytes.
Some information that we can give is that we recently had a problem with a
reporting services report which returned a lot of data (10s of thousands of
records). When executing and displaying this report through the website it
caused the whole website to hang. I think the memory of the aspnet process
started to increase. Actually this problem is quite common on this website in
that it has a lot of data to display on some pages. For example one page
tries to display 10s of thousands of rows from the database. The page has
been configured to use minimal viewstate/session and to use paging but
because it still retrieves this large amount of data from the database and
process/store it, the memory usage of the process increases. Is this a
separate issue from the 100% CPU issue? Or does high memory usage of the
aspnet_wp causes 100% CPU too?
We have also experienced some intermittent general network errors - could
this cause the problems too?
Also if anybody could direct us into a good way to display lots of
information then it would be really appreciated. A lot of the information is
displayed in datagrids (which have sorting and paging) but unforunately we
haven't been able to think of a way to reproduce paging so that we only
retrieve that page's amount for the database. So if we have 100 records
displayed on the website for a datagrid page we would like to only retrieve
those 100 records from the database. If the sort expression changes then we
would have to reevaluate and return the 100 records. The only way we can
think of doing this is via dynamic SQL - but I think this is normally not
advised? The other way we thought was to not allow sorting and to store the
results from the SQL into temporary tables. Then we could return the 1st,
2nd, 3rd,... hundred rows from this temp table? - but we lose the sorting
functionality and I don't know how this would affect the performance because
we are using temp tables and many users could be accessing this at the same
time.
Any advice on the above issues would be much appreciated.
Thanks.
Sidharth
P.S. using Framework 1.1, Enterprise library (for logging and data access),
Sql Server 2000 & Reporting Services.
We are experiencing some issues with the aspnet_wp process on our live
servers. The problems are intermittent and we cannot reproduce it on our dev
and test servers.
Currently around twice a day the aspnet_wp process takes 100% of the cpu and
causes the whole website to come to a stand still. We then have to end the
process for the website to become useable. Once the aspnet_wp process
recycled itself and in the event logs it mentioned that it had recycled
itself due to a deadlock. Unfortunately we haven't been able to wait until
the aspnet_wp recycles itself because the live website comes to a standstill
so can't say for definite if the subsequent problems are due to a deadlock
too. We have tried to look through the weblogs for around the time the aspnet
process hangs but almost everything has a high time taken value and some
pages (normally those that display a lot of info) have high sc-bytes and
cs-bytes.
Some information that we can give is that we recently had a problem with a
reporting services report which returned a lot of data (10s of thousands of
records). When executing and displaying this report through the website it
caused the whole website to hang. I think the memory of the aspnet process
started to increase. Actually this problem is quite common on this website in
that it has a lot of data to display on some pages. For example one page
tries to display 10s of thousands of rows from the database. The page has
been configured to use minimal viewstate/session and to use paging but
because it still retrieves this large amount of data from the database and
process/store it, the memory usage of the process increases. Is this a
separate issue from the 100% CPU issue? Or does high memory usage of the
aspnet_wp causes 100% CPU too?
We have also experienced some intermittent general network errors - could
this cause the problems too?
Also if anybody could direct us into a good way to display lots of
information then it would be really appreciated. A lot of the information is
displayed in datagrids (which have sorting and paging) but unforunately we
haven't been able to think of a way to reproduce paging so that we only
retrieve that page's amount for the database. So if we have 100 records
displayed on the website for a datagrid page we would like to only retrieve
those 100 records from the database. If the sort expression changes then we
would have to reevaluate and return the 100 records. The only way we can
think of doing this is via dynamic SQL - but I think this is normally not
advised? The other way we thought was to not allow sorting and to store the
results from the SQL into temporary tables. Then we could return the 1st,
2nd, 3rd,... hundred rows from this temp table? - but we lose the sorting
functionality and I don't know how this would affect the performance because
we are using temp tables and many users could be accessing this at the same
time.
Any advice on the above issues would be much appreciated.
Thanks.
Sidharth
P.S. using Framework 1.1, Enterprise library (for logging and data access),
Sql Server 2000 & Reporting Services.