Configuration :: Bringing Down The Initial Latency?
Jun 11, 2010
My application is hosted on IIS6.0 web server. And we observed that the initial page load time is high (30-40 sec) and further page loads take only 5sec.To bring down the page load time, I have deployed the precompiled web solution on IIS.But unfortunately the initial page load time did not came down to larger extent.
I am writing a program to measure the latency(response round trip time) for a web service. I need to have this at client side.
My initial plan is to store the time at which request is sent and then calculate the difference in time when we recieve a response from the web service. Is this the correct way to measure latency of web service. This has some overhead because of storing time and all. How can this be done?
Another option is to attach a timestamp with the SOAP request. But the server should return the timestamp. This will not be possible in case of third party web services.
I just reinstalled VS 2010 Ultimate, and I accidently selected vb project as my preffered default VS settings, but I really wanted to select the Web Application as my default. Can somone guide me in the right place so I can correct this?
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:
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.
Over the last week I've been investigating an issue for one of our clients whereby the initial page load following a deployment of their website takes around 1 minute, resulting in unacceptable downtime for end users. This was happening not only for code deplyments (bin dll's and .config files) but also if there were large numbers of .aspx pages updated. For code deployments it's not an issue, but for aspx updates it is; in this particular scenario, we are making use of a 3rd party content management system (RedDot from OpenText) in which every page of the site is published out as a distinct .aspx page. This means that for this website there's somewhere in the region of 2,400 separate .aspx pages. I realise this isn't an ideal situation but we're working within the constraints of the CMS, and we managed to correlate the instances where the site was unresponsive with App pool restarts, which also corresponded to publications of of .aspx pages.
I found an article by Tess Ferandez [URL] which describes all the reasons why the app pool may restart, and it does seem that if more than 15 .aspx pages are changed then the app pool will recycle and the pages will be re-compiled. Another msdn article [URL] then gave me a few pointers on how to start addressing this problem, and for the moment I've set a flag on the compilation options to prevent batch compilation:
<compilation batch="false">
This means that the initial page load now takes around 6 seconds instead of 1 minute, which is a great improvement. However, I also used the "Compilations Total" performance counter to investigate the number of pages that have been compiled by ASP.NET for my site and was quite surprised that the total number of pages that get compiled peaks at 44, which is odd given that there are 2,400 aspx pages in the site. If the batch flag is set to false, the counter slowly increments by 1 page at a time as you click around on the site; if batch mode is true, the initial compilation takes the number straight to 44 over the course of ~60 seconds. What I'm really struggling to understand is why all 2,400 pages aren't compiled. Does anyone have any inside info on what might be going on as all the documentation I've read seems to indicate that all of the pages should be compiled and this counter should be much higher.
Normally, I use App_Offline.htm for taking the site offline. But occasionally, when I do that, the site just hangs (like in: browsers wait forever, server gives no response at all). This seems to happen on an updateable site when I change something, like a control and afterward, when it doesn't go quick enough (site hangs), I place App_Offline.htm in the root of the website.
In most cases, this immediately takes down my site. But occasionally it doesn't. In those cases, I cannot just stop the website (when I restart, the behavior continues). Stopping the application pool doesn't let me restart the same app pool. The only two solution so far is restarting the whole IIS web service.
I'd like to prevent this from happening. Is this a bug in IIS not "breaking all actions" when App_Offline.htm is found? I use IIS 7 with Windows 2008 SP2 64 bit.
I am trying to work out how to calculate the latency of requests through a web-app (Javascript) to a .net webservice.
Currently I am essentially trying to sync both client and server time, which when hitting the webservice I can look at the offset (which would accurately show the 'up' latency.
The problem is - when you sync the time's, you have to factor in latency for that also. So currently I am timeing the sync request (round trip) and dividing by 2, in an attempt to get the 'up' latency...and then modify the sync accordingly.
This works on the assumption that latency is symmetrical, which it isn't. Does anyone know a procedure that would be able to determine specifically the up/down latency of a JS http request to a .net service? If it needs to involve multiple handshakes thats fine, what ever is as accurate as possible.
I've got an SQL script that fetches results based on the colour passed to it, but unless I set the size of the variable defined as a varchar to (50) no results are returned.
If I use: like ''+@Colour+'%' then it works but I don't really want to use it in case it brings back results I don't need or want.
The column FieldValue has a type of Varchar(Max) (which can't be changed as this field can store different things). It is part of aspdotnetstorefront package so I can't really change the tables or field types.
This doesn't work:
declare @Col VarChar set @Col = 'blu' select * from dbo.MetaData as MD where MD.FieldValue = @Colour
But this does work:
declare @Col VarChar (50) set @Col = 'blu' select * from dbo.MetaData as MD where MD.FieldValue = @Colour
The code is used in the following context, but should work either way
Also I can't set the size in <queryparam paramname="@Colour" paramtype="runtime" requestparamname="pCol" sqlDataType="varchar" defvalue="" validationpattern=""/>
We're starting a fairly large project that is going to be using all of the company's development resources and I've been asked to help bring up to speed and mentor a co-worker in C#/ASP.NET/WebForms 3.5 who has years of experience with Java and Classic ASP. What are your recommendations and best practices for helping an experienced developer learn the framework and become familiar with ASP.NET best practices? Books or resources? How often should I be conducting code reviews?
We are working on a application using sql server 2000 and vs 2003. We have recently migrated the database on an application to a new server and the application stopped working. We are getting the below error.
OleDBProperty 'Initial Catalog' was not found. The code that we are using where the error is coming is givent below.
[Code]....
The code was working fine earliar and became erroroneous only after database migration.
I need to capture the amount of time that ASP.net takes to execute each page request in my application, but I need to exclude any network latency. I am currently capturing render times by using the StopWatch class and starting the stopwatch during the OnInit method of the page lifecycle and stopping it after the Unload method completes. It seems that the Unload method includes the time it takes send the request to the client, thus including any internet/network latency. What is the last possible point I could stop the stopwatch in the Page Life Cycle that would not include the time it takes to send the request to the client. Would it be directly before the Unload event?
Related question: Does ASP.net finish building the response before it starts sending to the client? Or does it start sending asynchronously, while the response is being formed?
I am using ASP.Net 2.0 with IIS 5 currently.
I have this code in a class that all of my pages inherit from:
I tried capturing the execution time at the end of the OnRender method, at the start of the OnUnload method and at the end of the OnUnload method. In all three cases the difference in times was at most 1 millisecond. Even when testing this from a client in Europe to a server in the USA, the times were identical.
Is it possible to have an initial drop box item that has a null value. For instance I have a drop box that iss linked to the EmployeeName column in the table Employees in and SQL Database. When running the page it shows the first employee, cn i hae it so when the page loads instead of selecting the first employee it would say something along the lines of "Please select employee..." Maybe have the text in grey to show that it needs something selecting.
I encounter a weird problem when I am run the app via F5 or View In Browser. When I run the following page for the first time, "Hello" is shown on the textbox. Clicked on the 'Click Me' button, the text is changed to "Clicked!". That's fine. Close the brower and run F5 (or View in Browser) again, the Textbox shows "Clicked!". It doesn't display the initial value anymore. I see this problem on IE6 (and thatis the only option for my employer), but not on FF3.6 nor Googgle Chrome 4.x. I thought it could be related ViewState. But, the problem persists after ViewState is disable.
Default.aspx File below:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml">
I'm writing a simple web site using codebehind for each page, however using the "codefile" directive, not "codebehind" as such, because I'm not precompiling. I'm just using a text editor to edit the aspx and codebehind files. Problem is, every time I make a change to the code or the aspx file, and refresh the page in the browser, it takes a 2 or 3 seconds to come up the first time, like it's doing an on-demand initial compile. I assume that's what it's doing, as after the initial load, the page refreshes without any delay at all.
This behaviour is quite frustrating when making small changes to the html or code. I'm coming from classic ASP, where you could edit-refresh-edit-refresh etc. all day without your "stride" being broken by waiting for a "compile", you know? So I'd love to know if there's a setting which prevents this initial delay. When I want to deploy, I can do a compile or something, but while making lots of small edits, I just need the page to run without that initial delay.
I have an application where different users can log in via a single portal login. When they log in, if they belong to more than 1 company they have to select the company they belong to. The theme will change if there is a custom theme for that company. Each page my application has inherits a "CustomPage" class. Here is the code for the custom page:
When the customer belongs to more than 1 company, and they select the company they belong to, the theme loads just fine. So, the problem I am having is this: If they belong to just 1 company, the company is automatically selected but the theme does not load right away. However, if I refresh the page, the theme loads just fine. Even the default theme will not load. The page has no css at all until I refresh.
I even view source and look for my css names and they are not there. I refresh and do the same thing, and they are there. I am not using forms authentication and the default theme in the web config is "Default"
What is the value of SomeId after I create an instance of my object? I was testing it with SomeId == 0 but it wasn't working. Then I tried null which gives me an error.
What is the right way to handle this? Am I to assign an initial value to my objects' properties in the object? If not, how do check if my object has any values assigned to its properties -- in particular, int values?
I have the following string John Adams, however I would like to get JA where J is the first intial of the firstname and A is the first initial of the lastname..How do I do so? Thank you.
a basic step for creating a web application using c#?I am confused about how to use it, since I don't know how to write an event for a button, etc.I also don't know the difference between an input button and an asp.net button.
I have a project it is similar to rapidshare.There is a user table.In this table there are username,password,uploadlimit and registertime.user has 10 mb upload limit.How can i do: user uploadlimit set initial value for each month?For example user has signed up in 02.06.2010.He or she has uploaded file 9 mb between 02.06.2010-02.07.2010.When the server time will be 03.07.2010 the user uploadlimit will update 10 mb again?
I have an application where I currently are calling stored procedures, reading tables and filling GridView at PageLoad (If Not IsPostBack Then ...). The process takes some time and leaves the client waiting for this process to be completed even before showing the page.Now, is there a way where I can open the page, show a hour glass (or similar) and then automatically fill the gridviews? Is this where I should use threading (or backgroundworker) ?
I am working on ASP.NET 2.0, I have a list of books Name in my master table, while entering new book name in Textbox I want to display the book names starting with those initial characters. How to achieve this.AJAX, silver light.Etc.google like feature..