I have a strange situation on a production server. Connection for asp.net get queued but the CPU is only at 40%. Also the database runs fine at 30% CPU.
Some more history as requested in the comments:
In the peak hours the sites gets around 20,000 visitors an hour. The site is an asp.net webforms application with a lot of AJAX/POSTs The site uses a lot of User generated content We measure the performance of the site with a testpage which does hit the database and the webservices used by the site. This page get served within a second on normal load. Whe define the application as slow when the request takes more than 4 seconds. From the measurements we can see that the connectiontime is fast, but the processing time is large. We can't pinpoint the slowresponse the a single request, the site runs fine during normal hours but gets slow during peak hours We had a problem that the site was CPU bound (aka running at 100%), we fixed that We also had problems with exceptions maken the appdomain restart, we fixed that do During peak hours I take a look at the asp.net performance counters. We can see behaviour that we have 600 current connections with 500 queued connections. At peak times the CPU is around 40% (which makes me the think that it is not CPU bound) Physical memory is around 60% used At peak times the DatabaseServer CPU is around 30% (which makes me think it is not Database bound)
My conclusion is that something else is stopping the server from handling the requests faster. Possible suspects:
Deadlocks (!syncblk only gives one lock) Disk I/O (checked via sysinternals procesexplorer: 3.5 mB/s) Garbage collection (10~15% during peaks) Network I/O (connect time still low)
To find out what the proces is doing I created to minidumps.
I managed to create two MemoryDumps 20 seconds apart. This is the output of the first:
!threadpool CPU utilization 6% Worker Thread: Total: 95 Running: 72 Idle: 23 MaxLimit: 200 MinLimit: 100 Work Request in Queue: 1 Number of Timers: 64
and the output of the second:
!threadpool CPU utilization 9% Worker Thread: Total: 111 Running: 111 Idle: 0 MaxLimit: 200 MinLimit: 100 Work Request in Queue: 1589
There's a web app I've been assigned to, which is running very slow. It is a site that sells products so it is database driven, however even pages that do not query the database are loading very slow. The pages use master pages, and the code is in VB.NETI checked with fiddler and the time it takes to load basic (non database driven) pages are about 5.5 seconds on average.
What are some tools that can help me determine the cause of the slow speeds, and any recommendations as to how to speed it up, or potential issues that could cause it?UpdateSo I messed around with the code piece by piece as I wasn't getting anywhere with these tools. As soon as I remove master pages, and I include the same code that's on the master pages in the .aspx page itself, the speed improves drastically (approximately 5 times faster load times).What might cause the master pages to cause load times to slow down so much?
Every now and then (always after a long period of idle-time, e.g. overnight) when I access a site built using asp.net - it takes around 15 seconds to load the page (15 seconds before I see any progress whatsoever, then the page comes up fast).Further pages on that site, or refreshes, are quick as usual - they are also fast on other machines, only the first one seems to take the 'hit'.
Page tracing never through anything up (whole cycle was a fraction of a second) So my question is where else should I be looking? Perhaps IIS? Or could it still be my asp.net app and I'm just looking in the wrong place (the trace) for clues?As I don't have much control over the IIS server, anything I can check through asp.net would be more helpful, before I go ask that particular admin.
I have developed a gridview which has 7,000 records with some filtering. However, theuser is compaining that it is too slow. It seems to me that if the records were stored in memory it would be much faster. This is caching, I think. Is that the case? Can you updaterecords this way? Can you cache with an Access database or do you have to use SQL Server? Can you think of any other ways to improve
I am using gridview. In which i m entering some value in textbox in Gridview.According to that value, i m generating datatable and binding it to the Gridview(Child Gridview).But when i m doing this, the performance of the page is very slow. How do i improve the performance.
I just had to moved a site of mine from a hosting service here in the states to an offshore host located in Malaysia. My database is still located on the east coast of north america and I am wondering if the distance between the database and the file system might be to blame for slow load times or if moving my database as well would be a waste of time.
In my web page I have written code that writes to a table in Oracle 9i. What I find is add ing or querying the table in Oracle is very slow. I tried doing the same with SQL server database and the process if 5 times faster than Oracle. In the Oracle or SQL table I have not created any indexes / primary keys, but still I find the SQL is way faster than Oracle.
Is there any way that I could improve the speed in Oracle? My table has 3 columns (PRVal, FACVal and UserID). And when the user is selected from the web page I retreive the values from the database, using a direct sql (no pl/sql stuff here, as I am new to Oracle). I use OleDBConnection, OleDbCommand and OleDbReaders classes to access Oracle data.
I am working on an ASP.NET project that has significant backend processing existing in PLSQL. I was wondering if I re-write this code properly in C# can I get similar performance results or is the PL/SQL code going to beat my C# code every time?
I have created a table in my Oracle database and am trying to add / edit / delete/ query the records. This table already has 4000000 records. Now when I try to query the database, it takes close to 3 minuetes to return records. I have tried creating indexes, but was not successfull so far.
Following is the structure:
User : varchar(20) Fac : varchar(10) Prm: varchar(100)
I have developed a website in asp.net framework 2 . This website is being hosted in two different servers without any change in code. My issue is about the performance of these 2 sites. One website is taking much time for inserting datas to the DB (SQL server 2005). 2 websites are having different DB server.
I think the issue is for the DB server. How can we rectify the DB performance while insertion and Is there any other cause for this permance issue?
I am not sure if this is the right forum. I can not find a forum for LINQ.
I am working on an application using LINQ. Application performance is not up to par and my tests show that it is LINQ queries that are slow. I was wondering if anybody can recommend where I can find an article about optimizing LINQ performance maybe by compilation or other methods.
I have a web site which uses one SQL database but the hosting company is very slow sometimes and I got database timeout, login and similar errors. Can I implement my code to use two databases simultaneously? I have stored procedures and the data is updated periodically.
Simply: When dbDefault is down and inaccessible I need to use dbSecondary so the web app keeps running. Ant these two databases must be always same.
A transport-level error has occurred when sending the request to the server. (provider: TCP Provider, error: 0 - An existing connection was forcibly closed by the remote host.)A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server) Timeout expired. The timeout period elapsed prior to obtaining a connection from the pool. This may have occurred because all pooled connections were in use and max pool size was reached.Cannot open database "db" requested by the login. The login failed. Login failed for user 'root'.
I have a problem with the performance of the web site-application . The major problem is when i hit the site from a long distance remote pc all server side events responces are too slow espesially the gridview (paging) , the point is when i used ajax update panel of asp.net it was more slower .
I am developing sample web application which use C#, and LINQ to SQL. The application is very very slow and it takes about 2 secs to navigate between pages. I have already used SQL Profiler and monitor the calls to the SQL server. All SQLs looks normal to me and their execution time is always about 1 or 2 millisecs.I tried the same application in another PC and it is the same. So, it is not because of my computer performance.
i've recognized that on google chrome browser every second postback of my asp.net application is a bit slow (~1 seconds)... every other shows up immediately. internet explorer is doing fine on every postback!
I have created a website with asp.net 3.5 and c# (using linq to sql). its a basically a project managment system. bt its very slow when u look at its loading time. my dashboard takes a whole lot of time to load.when i look at other sites created by my colleagues it loads much faster than my site. they have developed it using ado.net + Stored procedures. that made me believe that linq to sql is slower than ado.net + SP combination.to improve my site perfomance using linq to sql.
i hit a case when my page loading is very very slow. I have find out that my page is slow for no reason. The read data process from database is fast and all the server code execute quite fast. The problem is the page loading process is slow, very slow. I am thinking one of the possible cause is jquery itself.