Huge HTML output perfomance

Discussion in 'Microsoft ASP .NET' started by George, Mar 28, 2005.

  1. George

    George Guest

    Hi,
    I have a report which shows all records from database into the browser.
    The final HTML comes out about 5 Meg.

    It takes 1 minute 5 seconds for transfer to show up when i hit the page with IE

    The trace info shows that output was done within 1 second and then i guess it took so much time (> 1 minute) for it to actually be transferred to IE. I am doing test on the same machine. IIS and IE are on the same machine and I believe the actual transfer of 5 Meg data is much faster.

    So i suspect that all that time was spent on actually transferring data between ASP.NET engine and IIS IO threads.
    Is there a way to speed up that?

    Bellow is info from trace that shows the rendering took less than a second.
    Trace info Message From First From Last
    aspx.page End Render 0.802165 0.671952

    Thanks
    George.
     
    George, Mar 28, 2005
    #1
    1. Advertisements

  2. Regardless of whether the web server is on the same machine as the browser,
    HTTP is transported over a TCP connection. The time spent was the time it
    took to send 5 megs of data over a TCP connection as an HTTP response.

    Basically, the problem is, your web page is too big.

    --
    HTH,

    Kevin Spencer
    Microsoft MVP
    ..Net Developer
    What You Seek Is What You Get.

    "George" <> wrote in message
    news:%...
    Hi,
    I have a report which shows all records from database into the browser.
    The final HTML comes out about 5 Meg.

    It takes 1 minute 5 seconds for transfer to show up when i hit the page with
    IE

    The trace info shows that output was done within 1 second and then i guess
    it took so much time (> 1 minute) for it to actually be transferred to IE. I
    am doing test on the same machine. IIS and IE are on the same machine and I
    believe the actual transfer of 5 Meg data is much faster.

    So i suspect that all that time was spent on actually transferring data
    between ASP.NET engine and IIS IO threads.
    Is there a way to speed up that?

    Bellow is info from trace that shows the rendering took less than a second.
    Trace info Message From First From Last
    aspx.page End Render 0.802165 0.671952

    Thanks
    George.
     
    Kevin Spencer, Mar 28, 2005
    #2
    1. Advertisements

  3. George

    Marina Guest

    Not to mention that transferring the data takes quite a while, the browser also has to parse and process 5 megs worth of HTML and render it properly. That is not the same thing as the .aspx server side code rendering - that just creates the resulting HTML.

    Given that, you should be very happy that it is taking only a minute for all this happen. I hope your clients all have very fast machines with excellent internet connections.
    "George" <> wrote in message news:%...
    Hi,
    I have a report which shows all records from database into the browser.
    The final HTML comes out about 5 Meg.

    It takes 1 minute 5 seconds for transfer to show up when i hit the page with IE

    The trace info shows that output was done within 1 second and then i guess it took so much time (> 1 minute) for it to actually be transferred to IE. I am doing test on the same machine. IIS and IE are on the same machine and I believe the actual transfer of 5 Meg data is much faster.

    So i suspect that all that time was spent on actually transferring data between ASP.NET engine and IIS IO threads.
    Is there a way to speed up that?

    Bellow is info from trace that shows the rendering took less than a second.
    Trace info Message From First From Last
    aspx.page End Render 0.802165 0.671952

    Thanks
    George.
     
    Marina, Mar 28, 2005
    #3
  4. George

    George Guest

    Allow me to disagree.
    I can copy that file (generated HTML) over our corporate network to a file server within 1-2 seconds. And it really does travels across the LAN (100 Mbs per sec).

    When IIS server on the same machine as IE the data transfers over TCP connection but i can assure you that actual speed is much faster than 100 Mb per sec.

    So my point is that there is no way that transfer of 5Meg took more than a second over a local TCP connection.

    George.



    "Kevin Spencer" <> wrote in message news:...
    Regardless of whether the web server is on the same machine as the browser,
    HTTP is transported over a TCP connection. The time spent was the time it
    took to send 5 megs of data over a TCP connection as an HTTP response.

    Basically, the problem is, your web page is too big.

    --
    HTH,

    Kevin Spencer
    Microsoft MVP
    .Net Developer
    What You Seek Is What You Get.

    "George" <> wrote in message
    news:%...
    Hi,
    I have a report which shows all records from database into the browser.
    The final HTML comes out about 5 Meg.

    It takes 1 minute 5 seconds for transfer to show up when i hit the page with
    IE

    The trace info shows that output was done within 1 second and then i guess
    it took so much time (> 1 minute) for it to actually be transferred to IE. I
    am doing test on the same machine. IIS and IE are on the same machine and I
    believe the actual transfer of 5 Meg data is much faster.

    So i suspect that all that time was spent on actually transferring data
    between ASP.NET engine and IIS IO threads.
    Is there a way to speed up that?

    Bellow is info from trace that shows the rendering took less than a second.
    Trace info Message From First From Last
    aspx.page End Render 0.802165 0.671952

    Thanks
    George.
     
    George, Mar 28, 2005
    #4
  5. What you are seeing is that it takes a long time to transfer 5MB over a network connection.
    It takes almost no time when everything is on the local machine, because no network cables are involved.
    As soon as you try and cram all that data through a little cable, things hit a bottleneck.
    Transferring over the Internet (versus a local LAN) will slow things down even more.
    It's a fact of life, and there's not much you can do about it.
    There are workarounds though, such as using paging. If you only display one page of the report at a time then you don't need to transfer nearly as much for each page request.

    --
    I hope this helps,
    Steve C. Orr, MCSD, MVP
    http://SteveOrr.net


    "George" <> wrote in message news:%...
    Hi,
    I have a report which shows all records from database into the browser.
    The final HTML comes out about 5 Meg.

    It takes 1 minute 5 seconds for transfer to show up when i hit the page with IE

    The trace info shows that output was done within 1 second and then i guess it took so much time (> 1 minute) for it to actually be transferred to IE. I am doing test on the same machine. IIS and IE are on the same machine and I believe the actual transfer of 5 Meg data is much faster.

    So i suspect that all that time was spent on actually transferring data between ASP.NET engine and IIS IO threads.
    Is there a way to speed up that?

    Bellow is info from trace that shows the rendering took less than a second.
    Trace info Message From First From Last
    aspx.page End Render 0.802165 0.671952

    Thanks
    George.
     
    Steve C. Orr [MVP, MCSD], Mar 28, 2005
    #5
  6. George

    darrel Guest

    So my point is that there is no way that transfer of 5Meg took more than a
    second over a local TCP connection.

    a 5mb file is a GIGANTIC (I mean mega-super-hyper-gigantic!) file for most
    any web browser to render quickly. It's not the transfer time that's the
    hold-up...it's likely the browser render time.

    even 1mb files are pushing it.

    Is this data in a table? One option it so break out the data into multiple
    tables, so once one table is downloaded, the browser can start rendering
    that while it goes onto the next...so it at least as the impression of
    rendering faster.

    -Darrel
     
    darrel, Mar 28, 2005
    #6
  7. George

    George Guest

    Thanks
    You are right. I actually save file on disk and tried to open it with IE form local disk. It took almost 40 seconds to render it.

    George.

    "Marina" <> wrote in message news:%...
    Not to mention that transferring the data takes quite a while, the browser also has to parse and process 5 megs worth of HTML and render it properly. That is not the same thing as the .aspx server side code rendering - that just creates the resulting HTML.

    Given that, you should be very happy that it is taking only a minute for all this happen. I hope your clients all have very fast machines with excellent internet connections.
     
    George, Mar 28, 2005
    #7
  8. George

    George Guest

    Thanks
    You are correct. I save HTML file on a disk and opened with IE. It took almost 40 seconds to do it.

    Thanks
    George.

    "darrel" <> wrote in message news:...

    So my point is that there is no way that transfer of 5Meg took more than a
    second over a local TCP connection.

    a 5mb file is a GIGANTIC (I mean mega-super-hyper-gigantic!) file for most
    any web browser to render quickly. It's not the transfer time that's the
    hold-up...it's likely the browser render time.

    even 1mb files are pushing it.

    Is this data in a table? One option it so break out the data into multiple
    tables, so once one table is downloaded, the browser can start rendering
    that while it goes onto the next...so it at least as the impression of
    rendering faster.

    -Darrel
     
    George, Mar 28, 2005
    #8
  9. You're certainly allowed to disagree. However, let me remind you that you're
    comparing apples to oranges. Note the mention of the HTTP protocol in my
    response. You are also not accounting for the web server layer.

    --
    HTH,

    Kevin Spencer
    Microsoft MVP
    ..Net Developer
    What You Seek Is What You Get.

    "George" <> wrote in message
    news:...
    Allow me to disagree.
    I can copy that file (generated HTML) over our corporate network to a file
    server within 1-2 seconds. And it really does travels across the LAN (100
    Mbs per sec).

    When IIS server on the same machine as IE the data transfers over TCP
    connection but i can assure you that actual speed is much faster than 100 Mb
    per sec.

    So my point is that there is no way that transfer of 5Meg took more than a
    second over a local TCP connection.

    George.



    "Kevin Spencer" <> wrote in message
    news:...
    Regardless of whether the web server is on the same machine as the
    browser,
    HTTP is transported over a TCP connection. The time spent was the time it
    took to send 5 megs of data over a TCP connection as an HTTP response.

    Basically, the problem is, your web page is too big.

    --
    HTH,

    Kevin Spencer
    Microsoft MVP
    .Net Developer
    What You Seek Is What You Get.

    "George" <> wrote in message
    news:%...
    Hi,
    I have a report which shows all records from database into the browser.
    The final HTML comes out about 5 Meg.

    It takes 1 minute 5 seconds for transfer to show up when i hit the page
    with
    IE

    The trace info shows that output was done within 1 second and then i guess
    it took so much time (> 1 minute) for it to actually be transferred to IE.
    I
    am doing test on the same machine. IIS and IE are on the same machine and
    I
    believe the actual transfer of 5 Meg data is much faster.

    So i suspect that all that time was spent on actually transferring data
    between ASP.NET engine and IIS IO threads.
    Is there a way to speed up that?

    Bellow is info from trace that shows the rendering took less than a
    second.
    Trace info Message From First From Last
    aspx.page End Render 0.802165 0.671952

    Thanks
    George.
     
    Kevin Spencer, Mar 28, 2005
    #9
  10. George

    darrel Guest

    > You are right. I actually save file on disk and tried to open it with IE
    form local disk. It took almost 40 seconds to render it.

    Also, make sure whatever control is being used to 'hold' the markup for the
    data that you don't have that set to preserve it's view state...if you do,
    that can easily double the size of the page's source code.

    -Darrel
     
    darrel, Mar 28, 2005
    #10
  11. I didn't read all the posts but your problem is almost certainly
    too much HTML for the browser to render. I ran into this
    a couple of years ago with a rather complex app that required
    a ton of data to be accessible client side.

    The browser just won't render that much HTML at a pace
    much faster than a 1 legged turtle.

    --
    2005 Microsoft MVP C#
    Robbe Morris
    http://www.robbemorris.com
    http://www.learncsharp.net/home/listings.aspx



    "George" <> wrote in message news:%...
    Hi,
    I have a report which shows all records from database into the browser.
    The final HTML comes out about 5 Meg.

    It takes 1 minute 5 seconds for transfer to show up when i hit the page with IE

    The trace info shows that output was done within 1 second and then i guess it took so much time (> 1 minute) for it to actually be transferred to IE. I am doing test on the same machine. IIS and IE are on the same machine and I believe the actual transfer of 5 Meg data is much faster.

    So i suspect that all that time was spent on actually transferring data between ASP.NET engine and IIS IO threads.
    Is there a way to speed up that?

    Bellow is info from trace that shows the rendering took less than a second.
    Trace info Message From First From Last
    aspx.page End Render 0.802165 0.671952

    Thanks
    George.
     
    Robbe Morris [C# MVP], Mar 29, 2005
    #11
    1. Advertisements

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Fredrik Melin

    Server perfomance

    Fredrik Melin, Oct 27, 2004, in forum: Microsoft ASP .NET
    Replies:
    1
    Views:
    142
    Paul Glavich [MVP - ASP.NET]
    Oct 27, 2004
  2. Scott Reynolds

    data perfomance?

    Scott Reynolds, Mar 1, 2005, in forum: Microsoft ASP .NET
    Replies:
    3
    Views:
    164
    Karl Seguin
    Mar 1, 2005
  3. James T.

    Perfomance test

    James T., Feb 26, 2006, in forum: Microsoft ASP .NET
    Replies:
    2
    Views:
    128
    James T.
    Feb 26, 2006
  4. majorone

    perfomance question

    majorone, Aug 10, 2006, in forum: Microsoft ASP .NET
    Replies:
    3
    Views:
    113
    bruce barker \(sqlwork.com\)
    Aug 10, 2006
  5. ^MisterJingo^

    Perfomance Query

    ^MisterJingo^, May 30, 2008, in forum: Microsoft ASP .NET
    Replies:
    0
    Views:
    122
    ^MisterJingo^
    May 30, 2008
Loading...

Share This Page