C# - Very Slow Web Application Which Use LINQ To SQL?
Jul 17, 2010
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.
View 3 Replies
Similar Messages:
Oct 9, 2010
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.
View 4 Replies
Jun 16, 2010
I have two applications(A,B) both are developed in .NET3.5 and used LDAP services.Application-A in one screen we are fetching users with role "project Leads" and it is taking 10 min time
Application-B in login screen we are checking user is authenticated or not and it is taking 20 sec
Both the applications are using the same service then way there is a time span problem. Please suggest me what can I do to improve performance of application A?
View 3 Replies
Apr 23, 2010
why is it that when i debug my application in chrome it is relatively slow between postbacks compared to internet explorer? when i use internet explorer, its lightning fast.
View 6 Replies
Nov 19, 2010
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
View 3 Replies
Jan 12, 2011
My application runs quickly when debugging locally, but slows down to an almost unusable state once published. Oddly, the published version seems to be grabbing data very quickly from MSSQL - it's the part where I'm updating datatables and gridviews that is very slow. For example:
[Code]....
View 8 Replies
Mar 24, 2011
I know that when a .NET web application first starts, it will be slow on first access. For that reason, I created a 'keep alive' page in the application that is requested every 8 minutes or so by a scheduled process. I hoped that that would be sufficient to prevent the application from 'unloading' and thus suffer from this initial long startup time again and again.
I can see in my logs that the 'keep alive' page is indeed triggered every 8 minutes, 24 hours a day. But when I actively start working in the application after some time, eg. the following day, I still have to wait a while for it to start up. Once the first page is loaded, all is fine again.
View 4 Replies
Feb 22, 2011
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?
View 4 Replies
Sep 13, 2010
I have one ASP.NET Application (VS.NET 2005). In that i have one scenario where i have to display 500 records per page (Not less than that bcoz this is client requirement to display 500 records per page) in the Gridview. This functionality is working fine but the application is becoming very slow.Can anybody tell me the solution for increasing performance in this case ?
View 2 Replies
Apr 11, 2010
I have a simple web application that loads very slow the very first time after i deploy it. I am using ASP.NET 3.5 SP1 / VS 2008 / Linq / Web forms to load the default.aspx home page. It is a very light page with nothing too fancy.Now to debug this load issue, I logged all the events in the global file and got the following log text:
2010-04-10 11:58:38,083 - Application_Start
2010-04-10 11:58:38,111 - Application_BeginRequest
2010-04-10 11:58:38,117 - Application_AuthenticateRequest
2010-04-10 11:58:52,321 - Session_Start
2010-04-10 11:58:52,454 - Page_Load
2010-04-10 11:58:53,951 - End Page_load
2010-04-10 11:58:53,981 - Application_EndRequest
Now my question is, between the Application_AuthenticateRequest and Session_Start functions, there is generally around 10 - 15 seconds - which i believe seems to be the problem.The thing, I am unsure why this is slow between these two functions.I am not using any forms authentication.Also, I am not doing anything fancy in the global file besides setting a session variable.
View 9 Replies
Aug 16, 2010
I have developed a web application in asp.net with c# with out using master page. I have developed this application in iframe.
The problem is that my application run smoothly but suddenly it stops and do some processing and it run again smoothly.
it stops any where on page load, on button click, on checkbox changed. i can not tell where it stops
it stops only when page post. i can see the processbar on browser's statusbar it stop for long time 40 to 60 seconds and after that i fire same event now process complets within 2 to 5 seconds
Hosting server detail :
1. IIS 6.0
2. Window server 2003.
3. Sql server 2005.
View 4 Replies
Aug 11, 2010
I have made an asp.net web application using VS 2008 to show crystal reports. I have used CrystalReportViewer control to show reports.
The table (sql server 2005 ) from which I have to fetch data has approximately 400000 records. I connect to it using OLEDB ( Microsoft OLEDB provider for sql server )
I have wrote the following code to achieve this :
[code]....
View 1 Replies
Mar 11, 2011
I have developed an application that interacts with IBM ClearQuest. The problem is that when I run everything locally, such as, run the webservice local and then ASP page local everything is at the speed I expect. When I post the webservice (precompiled) to the server and run the web page through the server, the call to the webmethod takes at least 10x the amount of time it should. I dont know why this is happening. I made a console application that has the function in question and execute it on the server and locally and they both return the same amounts of time (roughly) its just when I move to executing via the webmethod everything grinds to a snails pace. Any ideas? This happens every time not just on the first call.
WebMethod:
Public Function RetrieveQueryResults(ByRef cqSession As ClearQuestOleServer.Session, _
ByVal sqlStmt As String) As List(Of SearchResultsSingleIssue)
Dim numCols As Integer, status As Integer, columnIdx As Integer
Dim numRows As Integer
Dim rowContents As String = ""
Dim colValue As New Object
Dim colLabel As New Object
Dim allitems As New List(Of SearchResultsSingleIssue)
Dim results As New SearchResultsSingleIssue
Dim cqResultSet As ClearQuestOleServer.OAdResultset
cqResultSet = cqSession.BuildSQLQuery(sqlStmt)
cqResultSet.Execute()
' Get the number of columns returned by the query.
numRows = 0
numCols = cqResultSet.GetNumberOfColumns
status = cqResultSet.MoveNext
' Collect query results.
Do While status = AD_SUCCESS
results = New SearchResultsSingleIssue
numRows = numRows + 1
For columnIdx = 1 To numCols
colLabel = cqResultSet.GetColumnLabel(columnIdx)
colValue = cqResultSet.GetColumnValue(columnIdx)
'Make sure that we dont pass along a null reference
If colValue = Nothing Then
colValue = ""
End If
Select Case colLabel
Case "ID"
results.IssueID = colValue
Case "HEADLINE"
results.Headline = colValue
Case "NAME"
results.State = colValue
Case "OE_CONTACT"
results.OEContact = colValue
Case "DESCRIPTION"
results.Further_Description = colValue
Case "PRODUCT_NAME"
results.Product_Name = colValue
Case "FUNCTIONAL_AREA"
results.Functional_Area = colValue
Case "SUBTOPIC"
results.Subtopic = colValue
Case "FOUND_VERSION"
results.Found_In = colValue
Case "SCHEDULED_VERSION"
results.Scheduled_For = colValue
Case "SYMPTOMS"
results.Symptoms = colValue
Case "AFFECTED_SYSTEMS"
results.Affected_System_Types = colValue
Case "ISSUE_TYPE"
results.Issue_Type = colValue
Case "ASSIGNED_TO"
results.Assigned_Developer = colValue
Case "TESTED_BY"
results.Assigned_Tester = colValue
Case "BUILT_VERSION"
results.Built_In = colValue
Case "TESTED_VERSION"
results.Tested_In = colValue
Case "NOTES_LOG"
results.Notes_Log = colValue
Case "CUSTOMER_SEVERITY"
results.Severity = colValue
Case "PRIORITY"
results.Priority = colValue
End Select
Next columnIdx
' Add the query row result to the compiled list of all rows.
allitems.Add(results)
status = cqResultSet.MoveNext
Loop
Return allitems
End Function
Local Windows Application Method:
private void button2_Click(object sender, EventArgs e)
{
start = DateTime.Now.TimeOfDay.Seconds;
int numCols = 0;
int status = 0;
int columnIdx = 0;
int numRows = 0;
string rowContents = "";
string colValue;
string colLabel;
List<SearchResultsSingleIssue> allitems = new List<SearchResultsSingleIssue>();
SearchResultsSingleIssue results = new SearchResultsSingleIssue();
ClearQuestOleServer.OAdResultset cqResultSet = default(ClearQuestOleServer.OAdResultset);
cqResultSet = (ClearQuestOleServer.OAdResultset)ClearQuestSession.BuildSQLQuery(sqlStatement);
cqResultSet.Execute();
// Get the number of columns returned by the query.
numRows = 0;
numCols = cqResultSet.GetNumberOfColumns();
status = cqResultSet.MoveNext();
// Collect query results.
while (status == 1)
{
results = new SearchResultsSingleIssue();
numRows = numRows + 1;
for (columnIdx = 1; columnIdx <= numCols; columnIdx++)
{
colLabel = (string)cqResultSet.GetColumnLabel(columnIdx);
colValue = (string)cqResultSet.GetColumnValue(columnIdx);
//Make sure that we dont pass along a null reference
if (colValue == null)
{
colValue = "";
}
switch (colLabel)
{
case "ID":
results.IssueID = colValue;
break;
case "HEADLINE":
results.Headline = colValue;
break;
case "NAME":
results.State = colValue;
break;
case "OE_CONTACT":
results.OEContact = colValue;
break;
case "DESCRIPTION":
results.Further_Description = colValue;
break;
case "PRODUCT_NAME":
results.Product_Name = colValue;
break;
case "FUNCTIONAL_AREA":
results.Functional_Area = colValue;
break;
case "SUBTOPIC":
results.Subtopic = colValue;
break;
case "FOUND_VERSION":
results.Found_In = colValue;
break;
case "SCHEDULED_VERSION":
results.Scheduled_For = colValue;
break;
case "SYMPTOMS":
results.Symptoms = colValue;
break;
case "AFFECTED_SYSTEMS":
results.Affected_System_Types = colValue;
break;
case "ISSUE_TYPE":
results.Issue_Type = colValue;
break;
case "ASSIGNED_TO":
results.Assigned_Developer = colValue;
break;
case "TESTED_BY":
results.Assigned_Tester = colValue;
break;
case "BUILT_VERSION":
results.Built_In = colValue;
break;
case "TESTED_VERSION":
results.Tested_In = colValue;
break;
case "NOTES_LOG":
results.Notes_Log = colValue;
break;
case "CUSTOMER_SEVERITY":
results.Severity = colValue;
break;
case "PRIORITY":
results.Priority = colValue;
break;
}
}
// Add the query row result to the compiled list of all rows.
allitems.Add(results);
status = cqResultSet.MoveNext();
}
seconds = (DateTime.Now.TimeOfDay.Seconds - start);
label3.Text = seconds.ToString();
}
The code should execute in about...6 seconds.
View 1 Replies
Jul 2, 2010
In application all sql connection close properly, Also when user log out its connection close still sql process memory increase in RAM and after some time Application slow down.
View 3 Replies
Jan 31, 2011
I'm trying to implement AJAX within an existing application and it seems to be running slow.
I have 3 datallist that all have checkboxs. I have buttons that all users to check all checkbox for a specific datalist. I have an update panel around each datalist. When I check and uncheck it seems to be really slow. I also have 3 textboxes and 4
buttons within my update panel.
When I user uses this site it hides and shows different panels and that seems to be really slow when the users press a button. There is no database stuff happening when the slowness occurs.
View 2 Replies
Aug 6, 2010
I've noticed as my website gets bigger and bigger, the time my laptop takes to display my page is much longer then say a new projects with minimal references. I think there are two variables at play that affect ASP.NET warm-up time:
The quantity of external references The time it takes for a worker process to new() up each instance per worker process Additional time for the WCF objects as the ServiceHost may be in an external DLL First, are those the correct variables to take into account when considering ASP.NET startup time? Next, it appears that web.config may dispatch other objects for use with certain filetypes (*.svc, *.aspx, Windows Identity Foundation (WIF), etc. ). This too may cause delays in ASP.NET.
Last, my project is created as a "web project" not a "web site". Not sure if this has an impact. Is my theory full of holes, or is there something I can do to make development on a old laptop any better?
View 1 Replies
May 11, 2010
Let's say you set maxRequestLength to the max number (2097151) (units are KB) and use the following code for your OnClick event for your submit button:
int int fileSize = FileUpload1.PostedFile.ContentLength;
if (fileSize < 2000000)//units are bytes
Label1.Text="too big";
else
{
FileUpload1.SaveAs(saveItHerePath);
Label1.Text = "Upload success.";
}
Why when a huge file is attempted does it take a minute to get to the OnClick event on the server? Because if maxRequestLength were set to that value 2000, it would immediately choke if you tried to upload a 500MB file. What is going on here? What are the best practices for using the FileUpload control? Is there a better alternative way of uploading or checking for file size?
View 5 Replies
Jan 6, 2012
I am Using OboutGrid to Display the data in my Webforms..this is cool when am binding small data..but when am binding huge data it takes more time to display the records rather than normal datagrid. How can i improve the performance..
<obout:Grid ID="GridView1" runat="server" AllowAddingRecords="false"
AutoGenerateColumns="false" CallbackMode="true"
FolderStyle="styles/style_13" Serialize="true" ShowColumnsFooter="true" ShowGroupFooter="true"
onrowdatabound="GridView1_RowDataBound" PageSize="-1"
PageSizeOptions="1,2,3,4,5,6,7,8,9,10,50,100,500,-1">
[Code] ....
View 1 Replies
May 7, 2010
In my experience building web applications, I've always used a n-tier approach. A DAL that gets data from the db and populates the objects, and BLL that gets objects from the DAL and performs any business logic required on them, and the website that gets it's display data from the BLL.I've recently started learning LINQ, and most of the examples show the queries occurring right from the Web Application code-behinds(it's possible that I've only seen overly simplified examples). In the n-tier architectures, this was always seen as a big no-no.I'm a bit unsure of how to architect a new Web Application.
View 2 Replies
Mar 20, 2010
I'm trying to use linq to sql for my project (very short deadline), and I'm kind of in a bind. I don't know the best way to have a data context handy per request thread. I want something like a singleton class from which all my repository classes can access the current data context. However, singleton class is static and is not thread-safe and therefore not suitable for web apps. I want something that would create a data context at the beginning of the request and dispose of it along with the request
View 1 Replies
Apr 9, 2010
Will linq to sql work in an asp.net 2.0 web applicationJust realized the server doesnt' support asp.net 3.5 (no control over it
View 3 Replies
Dec 25, 2010
i want define connectionSreing in the web.config and then use it for DataContext ConnectionString. i do that : 1. i creat a class in App_Code :(MisaghDB is my database)
partial class MisaghDataContext
{
partial void OnCreated()
{
this.Connection.ConnectionString =
ConfigurationManager.ConnectionStrings["MisaghDBConnectionString"].ConnectionString;
}
// or
public partial class MisaghDataContext
{
public MisaghDataContext() : base (ConfigurationManager.ConnectionStrings["MisaghDBConnectionString"].ConnectionString)
{
OnCreated();
}
}
}
2. Add the connection string to my web.config file:
<configuration>
<connectionStrings>
<add name="MisaghDBConnectionString" connectionString="Data Source=NAZLIN-HP;Initial Catalog=MisaghDB;Integrated Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
</configuration>
3. Right click on the DBML file design surface and chose properties. Select "none" for the Connection property.now should i change DBML file designer.cs (Misagh.designer.cs) ? The code should I delete in this file(DBMLfile designer.cs)? this is a part of my DBMLfile designer.cs :
[global::System.Data.Linq.Mapping.DatabaseAttribute(Name="MisaghDB")]
public partial class MisaghDataContext : System.Data.Linq.DataContext
{
private static System.Data.Linq.Mapping.MappingSource mappingSource = new AttributeMappingSource();
public NorthwindDataContext() :
base(global::WindowsFormsApplication2.Properties.Settings.Default.NorthwindConnectionString, mappingSource)
{
OnCreated();
}
public NorthwindDataContext(string connection) :
base(connection, mappingSource)
{
OnCreated();
}
public NorthwindDataContext(System.Data.IDbConnection connection) :
base(connection, mappingSource)
{
OnCreated();
}
public NorthwindDataContext(string connection, System.Data.Linq.Mapping.MappingSource mappingSource) :
base(connection, mappingSource)
{
OnCreated();
}
public NorthwindDataContext(System.Data.IDbConnection connection, System.Data.Linq.Mapping.MappingSource mappingSource) :
base(connection, mappingSource)
{
OnCreated();
}
............}
View 4 Replies
Aug 10, 2010
I am trying to handle concurrency in my application. Basically if user A has a support ticket open which currently has a status of 'Active' and user 'B' opens the same ticket and closes it (changing its status to closed), I would expect a confict execepton to be thown when user 'A' tries to close the support ticket. For some reason this is not happening. I have checked that Update check is set to 'Always' in the dbml file. Here is an exerpt of my code. // Update 'Active' lead to 'Close'
[Code]....
View 2 Replies
Dec 26, 2010
i am curious to know which is generic way to create DAL which can be used to large application and small applications using ?
1) What can i use to create large application Linq to Sql OR Entity Framework Or Any others ?
View 2 Replies
Feb 16, 2010
I am getting an exception like"NullReferenceException was unhandled by usercode-Object reference not set to an instance of an object." in (IEnumerable)Viewdata.Model.
<% foreach (EmployeeMaster m in (IEnumerable)ViewData.Model)
View 3 Replies