You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tapestry.apache.org by Evert Hoff <ev...@pixie.co.za> on 2003/08/27 02:48:12 UTC

Tapestry under low bandwidth conditions

Hi,

We are using Tapestry-2.2-beta-2 at PickACourier (www.pickacourier.com).

It seems to me that Tapestry behaves badly under low bandwidth 
conditions. Here is a test that I did - I first used an ISP that 
currently has low bandwidth from South Africa to the UK, then I switched 
to another ISP that has better bandwidth:

(Render time is shown in milliseconds)

======== ISP 1 - Low Bandwidth ============================================
2003-08-27 00:20:31,503 INFO  [STDOUT] Render time : 81062 for page Home 
Shipper=0
2003-08-27 00:22:23,567 INFO  [STDOUT] Render time : 50219 for page Home 
Shipper=0
2003-08-27 00:23:13,552 INFO  [STDOUT] Render time : 18 for page Login 
Shipper=0
2003-08-27 00:23:49,421 INFO  [STDOUT] Render time : 50 for page 
ShipperHome Shipper=1
2003-08-27 00:24:58,166 INFO  [STDOUT] Render time : 43211 for page 
EnterSourceAddress Shipper=1
2003-08-27 00:26:08,778 INFO  [STDOUT] Render time : 28638 for page 
EnterSourceAddress Shipper=1
2003-08-27 00:27:58,621 INFO  [STDOUT] Render time : 58048 for page 
EnterDestinationAddress Shipper=1
2003-08-27 00:29:24,626 INFO  [STDOUT] Render time : 48110 for page 
EnterDestinationAddress Shipper=1
2003-08-27 00:31:08,531 INFO  [STDOUT] Render time : 66825 for page 
EnterPackages Shipper=1
2003-08-27 00:32:26,890 INFO  [STDOUT] Render time : 48455 for page 
EnterPackages Shipper=1
2003-08-27 00:33:08,751 INFO  [STDOUT] Render time : 188 for page 
EnterDeliveryTimes Shipper=1
2003-08-27 00:33:53,396 INFO  [STDOUT] Render time : 10765 for page 
EnterTimes Shipper=1
2003-08-27 00:37:48,770 INFO  [STDOUT] Render time : 84026 for page 
IdentifiedCouriers Shipper=1
2003-08-27 00:41:46,771 INFO  [STDOUT] Render time : 10 for page 
RequestFinished Shipper=1
2003-08-27 00:42:41,101 INFO  [STDOUT] Render time : 42 for page 
ShipperQuoteMonitor Shipper=1
2003-08-27 00:55:42,457 INFO  [STDOUT] Render time : 60579 for page 
EnterSourceAddress Shipper=1
2003-08-27 00:57:39,441 INFO  [STDOUT] Render time : 57218 for page 
EnterSourceAddress Shipper=1
2003-08-27 01:00:27,932 INFO  [STDOUT] Render time : 47899 for page 
EnterDestinationAddress Shipper=1
2003-08-27 01:03:24,970 INFO  [STDOUT] Render time : 46305 for page 
EnterDestinationAddress Shipper=1
2003-08-27 01:05:19,543 INFO  [STDOUT] Render time : 49992 for page 
EnterDestinationAddress Shipper=1
2003-08-27 01:06:15,870 INFO  [STDOUT] Render time : 26728 for page 
EnterSourceAddress Shipper=1
2003-08-27 01:13:22,663 INFO  [STDOUT] Render time : 46686 for page 
EnterDestinationAddress Shipper=1
2003-08-27 01:14:44,241 INFO  [STDOUT] Render time : 47526 for page 
EnterPackages Shipper=1
======== ISP 2 - Better Bandwidth 
============================================
2003-08-27 01:20:38,854 INFO  [STDOUT] Render time : 5705 for page Home 
Shipper=0
2003-08-27 01:20:52,266 INFO  [STDOUT] Render time : 21 for page Login 
Shipper=0
2003-08-27 01:21:05,304 INFO  [STDOUT] Render time : 92 for page 
CourierHome Courier=1
2003-08-27 01:21:13,761 INFO  [STDOUT] Render time : 6 for page Logout 
Shipper=0
2003-08-27 01:21:15,993 INFO  [STDOUT] Render time : 34 for page Home 
Shipper=0
2003-08-27 01:21:29,000 INFO  [STDOUT] Render time : 5 for page Login 
Shipper=0
2003-08-27 01:21:41,702 INFO  [STDOUT] Render time : 23 for page 
ShipperHome Shipper=1
2003-08-27 01:21:53,625 INFO  [STDOUT] Render time : 5874 for page 
EnterSourceAddress Shipper=1
2003-08-27 01:21:59,184 INFO  [STDOUT] Render time : 70 for page 
EnterSourceAddress Shipper=1
2003-08-27 01:22:15,505 INFO  [STDOUT] Render time : 5327 for page 
EnterDestinationAddress Shipper=1
2003-08-27 01:22:21,562 INFO  [STDOUT] Render time : 67 for page 
EnterDestinationAddress Shipper=1
2003-08-27 01:22:38,242 INFO  [STDOUT] Render time : 4549 for page 
EnterPackages Shipper=1
2003-08-27 01:22:45,130 INFO  [STDOUT] Render time : 121 for page 
EnterPackages Shipper=1
2003-08-27 01:23:00,452 INFO  [STDOUT] Render time : 46 for page 
EnterDeliveryTimes Shipper=1
2003-08-27 01:23:06,486 INFO  [STDOUT] Render time : 44 for page 
EnterTimes Shipper=1
2003-08-27 01:23:17,916 INFO  [STDOUT] Render time : 3821 for page 
IdentifiedCouriers Shipper=1
2003-08-27 01:23:35,299 INFO  [STDOUT] Render time : 6 for page 
RequestFinished Shipper=1
2003-08-27 01:26:26,313 INFO  [STDOUT] Render time : 47 for page 
ShipperQuoteMonitor Shipper=1
==============================================================

What I find strange is that the simple pages (Login, ShipperHome) 
rendered quickly with both ISPs, but the large pages (typically ones 
that contain tabs) take exponentially longer.

I assume that Tapestry writes the response to the output stream as the 
client pulls the output stream from the server. Thus, if the client 
pulls more slowly, then the response is not generated quickly, but 
generated as portions of the page are requested. Do you think it might 
improve performance if I change Tapestry to first write the entire 
response to a buffer and then serve the client from the buffer?

Regards,

Evert


Re: Tapestry under low bandwidth conditions

Posted by Geoff Longman <gl...@intelligentworks.com>.
Then I would refer to Adam Greene's note on Servlet Streams.

Sorry I can't be of more help

Geoff


----- Original Message -----
From: "Evert Hoff" <ev...@pixie.co.za>
To: "Tapestry users" <ta...@jakarta.apache.org>
Sent: Wednesday, August 27, 2003 11:45 AM
Subject: Re: Tapestry under low bandwidth conditions


> Geoff Longman wrote:
>
> >The Body component does render its child components into a buffer. That's
so
> >javascript stuff can be written out at the proper location. Do the slow
> >pages you refer to have a Body component?
> >
> Yes they do.
>
> Evert
>
> >
> >Geoff
> >
> >Geoffrey Longman
> >Intelligent Works Inc.
> >
> >
> >
> >----- Original Message -----
> >From: "Evert Hoff" <ev...@pixie.co.za>
> >To: <ta...@jakarta.apache.org>
> >Sent: Tuesday, August 26, 2003 8:48 PM
> >Subject: Tapestry under low bandwidth conditions
> >
> >
> >
> >
> >>Hi,
> >>
> >>We are using Tapestry-2.2-beta-2 at PickACourier (www.pickacourier.com).
> >>
> >>It seems to me that Tapestry behaves badly under low bandwidth
> >>conditions. Here is a test that I did - I first used an ISP that
> >>currently has low bandwidth from South Africa to the UK, then I switched
> >>to another ISP that has better bandwidth:
> >>
> >>(Render time is shown in milliseconds)
> >>
> >>======== ISP 1 - Low Bandwidth
> >>
> >>
> >============================================
> >
> >
> >>2003-08-27 00:20:31,503 INFO  [STDOUT] Render time : 81062 for page Home
> >>Shipper=0
> >>2003-08-27 00:22:23,567 INFO  [STDOUT] Render time : 50219 for page Home
> >>Shipper=0
> >>2003-08-27 00:23:13,552 INFO  [STDOUT] Render time : 18 for page Login
> >>Shipper=0
> >>2003-08-27 00:23:49,421 INFO  [STDOUT] Render time : 50 for page
> >>ShipperHome Shipper=1
> >>2003-08-27 00:24:58,166 INFO  [STDOUT] Render time : 43211 for page
> >>EnterSourceAddress Shipper=1
> >>2003-08-27 00:26:08,778 INFO  [STDOUT] Render time : 28638 for page
> >>EnterSourceAddress Shipper=1
> >>2003-08-27 00:27:58,621 INFO  [STDOUT] Render time : 58048 for page
> >>EnterDestinationAddress Shipper=1
> >>2003-08-27 00:29:24,626 INFO  [STDOUT] Render time : 48110 for page
> >>EnterDestinationAddress Shipper=1
> >>2003-08-27 00:31:08,531 INFO  [STDOUT] Render time : 66825 for page
> >>EnterPackages Shipper=1
> >>2003-08-27 00:32:26,890 INFO  [STDOUT] Render time : 48455 for page
> >>EnterPackages Shipper=1
> >>2003-08-27 00:33:08,751 INFO  [STDOUT] Render time : 188 for page
> >>EnterDeliveryTimes Shipper=1
> >>2003-08-27 00:33:53,396 INFO  [STDOUT] Render time : 10765 for page
> >>EnterTimes Shipper=1
> >>2003-08-27 00:37:48,770 INFO  [STDOUT] Render time : 84026 for page
> >>IdentifiedCouriers Shipper=1
> >>2003-08-27 00:41:46,771 INFO  [STDOUT] Render time : 10 for page
> >>RequestFinished Shipper=1
> >>2003-08-27 00:42:41,101 INFO  [STDOUT] Render time : 42 for page
> >>ShipperQuoteMonitor Shipper=1
> >>2003-08-27 00:55:42,457 INFO  [STDOUT] Render time : 60579 for page
> >>EnterSourceAddress Shipper=1
> >>2003-08-27 00:57:39,441 INFO  [STDOUT] Render time : 57218 for page
> >>EnterSourceAddress Shipper=1
> >>2003-08-27 01:00:27,932 INFO  [STDOUT] Render time : 47899 for page
> >>EnterDestinationAddress Shipper=1
> >>2003-08-27 01:03:24,970 INFO  [STDOUT] Render time : 46305 for page
> >>EnterDestinationAddress Shipper=1
> >>2003-08-27 01:05:19,543 INFO  [STDOUT] Render time : 49992 for page
> >>EnterDestinationAddress Shipper=1
> >>2003-08-27 01:06:15,870 INFO  [STDOUT] Render time : 26728 for page
> >>EnterSourceAddress Shipper=1
> >>2003-08-27 01:13:22,663 INFO  [STDOUT] Render time : 46686 for page
> >>EnterDestinationAddress Shipper=1
> >>2003-08-27 01:14:44,241 INFO  [STDOUT] Render time : 47526 for page
> >>EnterPackages Shipper=1
> >>======== ISP 2 - Better Bandwidth
> >>============================================
> >>2003-08-27 01:20:38,854 INFO  [STDOUT] Render time : 5705 for page Home
> >>Shipper=0
> >>2003-08-27 01:20:52,266 INFO  [STDOUT] Render time : 21 for page Login
> >>Shipper=0
> >>2003-08-27 01:21:05,304 INFO  [STDOUT] Render time : 92 for page
> >>CourierHome Courier=1
> >>2003-08-27 01:21:13,761 INFO  [STDOUT] Render time : 6 for page Logout
> >>Shipper=0
> >>2003-08-27 01:21:15,993 INFO  [STDOUT] Render time : 34 for page Home
> >>Shipper=0
> >>2003-08-27 01:21:29,000 INFO  [STDOUT] Render time : 5 for page Login
> >>Shipper=0
> >>2003-08-27 01:21:41,702 INFO  [STDOUT] Render time : 23 for page
> >>ShipperHome Shipper=1
> >>2003-08-27 01:21:53,625 INFO  [STDOUT] Render time : 5874 for page
> >>EnterSourceAddress Shipper=1
> >>2003-08-27 01:21:59,184 INFO  [STDOUT] Render time : 70 for page
> >>EnterSourceAddress Shipper=1
> >>2003-08-27 01:22:15,505 INFO  [STDOUT] Render time : 5327 for page
> >>EnterDestinationAddress Shipper=1
> >>2003-08-27 01:22:21,562 INFO  [STDOUT] Render time : 67 for page
> >>EnterDestinationAddress Shipper=1
> >>2003-08-27 01:22:38,242 INFO  [STDOUT] Render time : 4549 for page
> >>EnterPackages Shipper=1
> >>2003-08-27 01:22:45,130 INFO  [STDOUT] Render time : 121 for page
> >>EnterPackages Shipper=1
> >>2003-08-27 01:23:00,452 INFO  [STDOUT] Render time : 46 for page
> >>EnterDeliveryTimes Shipper=1
> >>2003-08-27 01:23:06,486 INFO  [STDOUT] Render time : 44 for page
> >>EnterTimes Shipper=1
> >>2003-08-27 01:23:17,916 INFO  [STDOUT] Render time : 3821 for page
> >>IdentifiedCouriers Shipper=1
> >>2003-08-27 01:23:35,299 INFO  [STDOUT] Render time : 6 for page
> >>RequestFinished Shipper=1
> >>2003-08-27 01:26:26,313 INFO  [STDOUT] Render time : 47 for page
> >>ShipperQuoteMonitor Shipper=1
> >>==============================================================
> >>
> >>What I find strange is that the simple pages (Login, ShipperHome)
> >>rendered quickly with both ISPs, but the large pages (typically ones
> >>that contain tabs) take exponentially longer.
> >>
> >>I assume that Tapestry writes the response to the output stream as the
> >>client pulls the output stream from the server. Thus, if the client
> >>pulls more slowly, then the response is not generated quickly, but
> >>generated as portions of the page are requested. Do you think it might
> >>improve performance if I change Tapestry to first write the entire
> >>response to a buffer and then serve the client from the buffer?
> >>
> >>Regards,
> >>
> >>Evert
> >>
> >>
> >>---------------------------------------------------------------------
> >>To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
> >>For additional commands, e-mail: tapestry-user-help@jakarta.apache.org
> >>
> >>
> >>
> >
> >
> >---------------------------------------------------------------------
> >To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
> >For additional commands, e-mail: tapestry-user-help@jakarta.apache.org
> >
> >
> >
> >
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tapestry-user-help@jakarta.apache.org
>


Re: Tapestry under low bandwidth conditions

Posted by Evert Hoff <ev...@pixie.co.za>.
Geoff Longman wrote:

>The Body component does render its child components into a buffer. That's so
>javascript stuff can be written out at the proper location. Do the slow
>pages you refer to have a Body component?
>
Yes they do.

Evert

>
>Geoff
>
>Geoffrey Longman
>Intelligent Works Inc.
>
>
>
>----- Original Message -----
>From: "Evert Hoff" <ev...@pixie.co.za>
>To: <ta...@jakarta.apache.org>
>Sent: Tuesday, August 26, 2003 8:48 PM
>Subject: Tapestry under low bandwidth conditions
>
>
>  
>
>>Hi,
>>
>>We are using Tapestry-2.2-beta-2 at PickACourier (www.pickacourier.com).
>>
>>It seems to me that Tapestry behaves badly under low bandwidth
>>conditions. Here is a test that I did - I first used an ISP that
>>currently has low bandwidth from South Africa to the UK, then I switched
>>to another ISP that has better bandwidth:
>>
>>(Render time is shown in milliseconds)
>>
>>======== ISP 1 - Low Bandwidth
>>    
>>
>============================================
>  
>
>>2003-08-27 00:20:31,503 INFO  [STDOUT] Render time : 81062 for page Home
>>Shipper=0
>>2003-08-27 00:22:23,567 INFO  [STDOUT] Render time : 50219 for page Home
>>Shipper=0
>>2003-08-27 00:23:13,552 INFO  [STDOUT] Render time : 18 for page Login
>>Shipper=0
>>2003-08-27 00:23:49,421 INFO  [STDOUT] Render time : 50 for page
>>ShipperHome Shipper=1
>>2003-08-27 00:24:58,166 INFO  [STDOUT] Render time : 43211 for page
>>EnterSourceAddress Shipper=1
>>2003-08-27 00:26:08,778 INFO  [STDOUT] Render time : 28638 for page
>>EnterSourceAddress Shipper=1
>>2003-08-27 00:27:58,621 INFO  [STDOUT] Render time : 58048 for page
>>EnterDestinationAddress Shipper=1
>>2003-08-27 00:29:24,626 INFO  [STDOUT] Render time : 48110 for page
>>EnterDestinationAddress Shipper=1
>>2003-08-27 00:31:08,531 INFO  [STDOUT] Render time : 66825 for page
>>EnterPackages Shipper=1
>>2003-08-27 00:32:26,890 INFO  [STDOUT] Render time : 48455 for page
>>EnterPackages Shipper=1
>>2003-08-27 00:33:08,751 INFO  [STDOUT] Render time : 188 for page
>>EnterDeliveryTimes Shipper=1
>>2003-08-27 00:33:53,396 INFO  [STDOUT] Render time : 10765 for page
>>EnterTimes Shipper=1
>>2003-08-27 00:37:48,770 INFO  [STDOUT] Render time : 84026 for page
>>IdentifiedCouriers Shipper=1
>>2003-08-27 00:41:46,771 INFO  [STDOUT] Render time : 10 for page
>>RequestFinished Shipper=1
>>2003-08-27 00:42:41,101 INFO  [STDOUT] Render time : 42 for page
>>ShipperQuoteMonitor Shipper=1
>>2003-08-27 00:55:42,457 INFO  [STDOUT] Render time : 60579 for page
>>EnterSourceAddress Shipper=1
>>2003-08-27 00:57:39,441 INFO  [STDOUT] Render time : 57218 for page
>>EnterSourceAddress Shipper=1
>>2003-08-27 01:00:27,932 INFO  [STDOUT] Render time : 47899 for page
>>EnterDestinationAddress Shipper=1
>>2003-08-27 01:03:24,970 INFO  [STDOUT] Render time : 46305 for page
>>EnterDestinationAddress Shipper=1
>>2003-08-27 01:05:19,543 INFO  [STDOUT] Render time : 49992 for page
>>EnterDestinationAddress Shipper=1
>>2003-08-27 01:06:15,870 INFO  [STDOUT] Render time : 26728 for page
>>EnterSourceAddress Shipper=1
>>2003-08-27 01:13:22,663 INFO  [STDOUT] Render time : 46686 for page
>>EnterDestinationAddress Shipper=1
>>2003-08-27 01:14:44,241 INFO  [STDOUT] Render time : 47526 for page
>>EnterPackages Shipper=1
>>======== ISP 2 - Better Bandwidth
>>============================================
>>2003-08-27 01:20:38,854 INFO  [STDOUT] Render time : 5705 for page Home
>>Shipper=0
>>2003-08-27 01:20:52,266 INFO  [STDOUT] Render time : 21 for page Login
>>Shipper=0
>>2003-08-27 01:21:05,304 INFO  [STDOUT] Render time : 92 for page
>>CourierHome Courier=1
>>2003-08-27 01:21:13,761 INFO  [STDOUT] Render time : 6 for page Logout
>>Shipper=0
>>2003-08-27 01:21:15,993 INFO  [STDOUT] Render time : 34 for page Home
>>Shipper=0
>>2003-08-27 01:21:29,000 INFO  [STDOUT] Render time : 5 for page Login
>>Shipper=0
>>2003-08-27 01:21:41,702 INFO  [STDOUT] Render time : 23 for page
>>ShipperHome Shipper=1
>>2003-08-27 01:21:53,625 INFO  [STDOUT] Render time : 5874 for page
>>EnterSourceAddress Shipper=1
>>2003-08-27 01:21:59,184 INFO  [STDOUT] Render time : 70 for page
>>EnterSourceAddress Shipper=1
>>2003-08-27 01:22:15,505 INFO  [STDOUT] Render time : 5327 for page
>>EnterDestinationAddress Shipper=1
>>2003-08-27 01:22:21,562 INFO  [STDOUT] Render time : 67 for page
>>EnterDestinationAddress Shipper=1
>>2003-08-27 01:22:38,242 INFO  [STDOUT] Render time : 4549 for page
>>EnterPackages Shipper=1
>>2003-08-27 01:22:45,130 INFO  [STDOUT] Render time : 121 for page
>>EnterPackages Shipper=1
>>2003-08-27 01:23:00,452 INFO  [STDOUT] Render time : 46 for page
>>EnterDeliveryTimes Shipper=1
>>2003-08-27 01:23:06,486 INFO  [STDOUT] Render time : 44 for page
>>EnterTimes Shipper=1
>>2003-08-27 01:23:17,916 INFO  [STDOUT] Render time : 3821 for page
>>IdentifiedCouriers Shipper=1
>>2003-08-27 01:23:35,299 INFO  [STDOUT] Render time : 6 for page
>>RequestFinished Shipper=1
>>2003-08-27 01:26:26,313 INFO  [STDOUT] Render time : 47 for page
>>ShipperQuoteMonitor Shipper=1
>>==============================================================
>>
>>What I find strange is that the simple pages (Login, ShipperHome)
>>rendered quickly with both ISPs, but the large pages (typically ones
>>that contain tabs) take exponentially longer.
>>
>>I assume that Tapestry writes the response to the output stream as the
>>client pulls the output stream from the server. Thus, if the client
>>pulls more slowly, then the response is not generated quickly, but
>>generated as portions of the page are requested. Do you think it might
>>improve performance if I change Tapestry to first write the entire
>>response to a buffer and then serve the client from the buffer?
>>
>>Regards,
>>
>>Evert
>>
>>
>>---------------------------------------------------------------------
>>To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
>>For additional commands, e-mail: tapestry-user-help@jakarta.apache.org
>>
>>    
>>
>
>
>---------------------------------------------------------------------
>To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
>For additional commands, e-mail: tapestry-user-help@jakarta.apache.org
>
>
>  
>



Re: Tapestry under low bandwidth conditions

Posted by Geoff Longman <gl...@intelligentworks.com>.
The Body component does render its child components into a buffer. That's so
javascript stuff can be written out at the proper location. Do the slow
pages you refer to have a Body component?

Geoff

Geoffrey Longman
Intelligent Works Inc.



----- Original Message -----
From: "Evert Hoff" <ev...@pixie.co.za>
To: <ta...@jakarta.apache.org>
Sent: Tuesday, August 26, 2003 8:48 PM
Subject: Tapestry under low bandwidth conditions


> Hi,
>
> We are using Tapestry-2.2-beta-2 at PickACourier (www.pickacourier.com).
>
> It seems to me that Tapestry behaves badly under low bandwidth
> conditions. Here is a test that I did - I first used an ISP that
> currently has low bandwidth from South Africa to the UK, then I switched
> to another ISP that has better bandwidth:
>
> (Render time is shown in milliseconds)
>
> ======== ISP 1 - Low Bandwidth
============================================
> 2003-08-27 00:20:31,503 INFO  [STDOUT] Render time : 81062 for page Home
> Shipper=0
> 2003-08-27 00:22:23,567 INFO  [STDOUT] Render time : 50219 for page Home
> Shipper=0
> 2003-08-27 00:23:13,552 INFO  [STDOUT] Render time : 18 for page Login
> Shipper=0
> 2003-08-27 00:23:49,421 INFO  [STDOUT] Render time : 50 for page
> ShipperHome Shipper=1
> 2003-08-27 00:24:58,166 INFO  [STDOUT] Render time : 43211 for page
> EnterSourceAddress Shipper=1
> 2003-08-27 00:26:08,778 INFO  [STDOUT] Render time : 28638 for page
> EnterSourceAddress Shipper=1
> 2003-08-27 00:27:58,621 INFO  [STDOUT] Render time : 58048 for page
> EnterDestinationAddress Shipper=1
> 2003-08-27 00:29:24,626 INFO  [STDOUT] Render time : 48110 for page
> EnterDestinationAddress Shipper=1
> 2003-08-27 00:31:08,531 INFO  [STDOUT] Render time : 66825 for page
> EnterPackages Shipper=1
> 2003-08-27 00:32:26,890 INFO  [STDOUT] Render time : 48455 for page
> EnterPackages Shipper=1
> 2003-08-27 00:33:08,751 INFO  [STDOUT] Render time : 188 for page
> EnterDeliveryTimes Shipper=1
> 2003-08-27 00:33:53,396 INFO  [STDOUT] Render time : 10765 for page
> EnterTimes Shipper=1
> 2003-08-27 00:37:48,770 INFO  [STDOUT] Render time : 84026 for page
> IdentifiedCouriers Shipper=1
> 2003-08-27 00:41:46,771 INFO  [STDOUT] Render time : 10 for page
> RequestFinished Shipper=1
> 2003-08-27 00:42:41,101 INFO  [STDOUT] Render time : 42 for page
> ShipperQuoteMonitor Shipper=1
> 2003-08-27 00:55:42,457 INFO  [STDOUT] Render time : 60579 for page
> EnterSourceAddress Shipper=1
> 2003-08-27 00:57:39,441 INFO  [STDOUT] Render time : 57218 for page
> EnterSourceAddress Shipper=1
> 2003-08-27 01:00:27,932 INFO  [STDOUT] Render time : 47899 for page
> EnterDestinationAddress Shipper=1
> 2003-08-27 01:03:24,970 INFO  [STDOUT] Render time : 46305 for page
> EnterDestinationAddress Shipper=1
> 2003-08-27 01:05:19,543 INFO  [STDOUT] Render time : 49992 for page
> EnterDestinationAddress Shipper=1
> 2003-08-27 01:06:15,870 INFO  [STDOUT] Render time : 26728 for page
> EnterSourceAddress Shipper=1
> 2003-08-27 01:13:22,663 INFO  [STDOUT] Render time : 46686 for page
> EnterDestinationAddress Shipper=1
> 2003-08-27 01:14:44,241 INFO  [STDOUT] Render time : 47526 for page
> EnterPackages Shipper=1
> ======== ISP 2 - Better Bandwidth
> ============================================
> 2003-08-27 01:20:38,854 INFO  [STDOUT] Render time : 5705 for page Home
> Shipper=0
> 2003-08-27 01:20:52,266 INFO  [STDOUT] Render time : 21 for page Login
> Shipper=0
> 2003-08-27 01:21:05,304 INFO  [STDOUT] Render time : 92 for page
> CourierHome Courier=1
> 2003-08-27 01:21:13,761 INFO  [STDOUT] Render time : 6 for page Logout
> Shipper=0
> 2003-08-27 01:21:15,993 INFO  [STDOUT] Render time : 34 for page Home
> Shipper=0
> 2003-08-27 01:21:29,000 INFO  [STDOUT] Render time : 5 for page Login
> Shipper=0
> 2003-08-27 01:21:41,702 INFO  [STDOUT] Render time : 23 for page
> ShipperHome Shipper=1
> 2003-08-27 01:21:53,625 INFO  [STDOUT] Render time : 5874 for page
> EnterSourceAddress Shipper=1
> 2003-08-27 01:21:59,184 INFO  [STDOUT] Render time : 70 for page
> EnterSourceAddress Shipper=1
> 2003-08-27 01:22:15,505 INFO  [STDOUT] Render time : 5327 for page
> EnterDestinationAddress Shipper=1
> 2003-08-27 01:22:21,562 INFO  [STDOUT] Render time : 67 for page
> EnterDestinationAddress Shipper=1
> 2003-08-27 01:22:38,242 INFO  [STDOUT] Render time : 4549 for page
> EnterPackages Shipper=1
> 2003-08-27 01:22:45,130 INFO  [STDOUT] Render time : 121 for page
> EnterPackages Shipper=1
> 2003-08-27 01:23:00,452 INFO  [STDOUT] Render time : 46 for page
> EnterDeliveryTimes Shipper=1
> 2003-08-27 01:23:06,486 INFO  [STDOUT] Render time : 44 for page
> EnterTimes Shipper=1
> 2003-08-27 01:23:17,916 INFO  [STDOUT] Render time : 3821 for page
> IdentifiedCouriers Shipper=1
> 2003-08-27 01:23:35,299 INFO  [STDOUT] Render time : 6 for page
> RequestFinished Shipper=1
> 2003-08-27 01:26:26,313 INFO  [STDOUT] Render time : 47 for page
> ShipperQuoteMonitor Shipper=1
> ==============================================================
>
> What I find strange is that the simple pages (Login, ShipperHome)
> rendered quickly with both ISPs, but the large pages (typically ones
> that contain tabs) take exponentially longer.
>
> I assume that Tapestry writes the response to the output stream as the
> client pulls the output stream from the server. Thus, if the client
> pulls more slowly, then the response is not generated quickly, but
> generated as portions of the page are requested. Do you think it might
> improve performance if I change Tapestry to first write the entire
> response to a buffer and then serve the client from the buffer?
>
> Regards,
>
> Evert
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
> For additional commands, e-mail: tapestry-user-help@jakarta.apache.org
>


RE: Tapestry under low bandwidth conditions

Posted by Adam Greene <ag...@romulin.com>.
Tapestry uses the default Servlet Stream, which is a chunked stream, and
sends in blocks.  So, yes, if you want to speed up render time, you could
render to a buffer and then send, but I don't think you will find much of a
speed gain as it will still have to send the same amount of information,
just it will render fast and wait slow.

-----Original Message-----
From: Evert Hoff [mailto:evert.hoff@pixie.co.za]
Sent: Tuesday, August 26, 2003 9:48 PM
To: tapestry-user@jakarta.apache.org
Subject: Tapestry under low bandwidth conditions


Hi,

We are using Tapestry-2.2-beta-2 at PickACourier (www.pickacourier.com).

It seems to me that Tapestry behaves badly under low bandwidth
conditions. Here is a test that I did - I first used an ISP that
currently has low bandwidth from South Africa to the UK, then I switched
to another ISP that has better bandwidth:

(Render time is shown in milliseconds)

======== ISP 1 - Low Bandwidth ============================================
2003-08-27 00:20:31,503 INFO  [STDOUT] Render time : 81062 for page Home
Shipper=0
2003-08-27 00:22:23,567 INFO  [STDOUT] Render time : 50219 for page Home
Shipper=0
2003-08-27 00:23:13,552 INFO  [STDOUT] Render time : 18 for page Login
Shipper=0
2003-08-27 00:23:49,421 INFO  [STDOUT] Render time : 50 for page
ShipperHome Shipper=1
2003-08-27 00:24:58,166 INFO  [STDOUT] Render time : 43211 for page
EnterSourceAddress Shipper=1
2003-08-27 00:26:08,778 INFO  [STDOUT] Render time : 28638 for page
EnterSourceAddress Shipper=1
2003-08-27 00:27:58,621 INFO  [STDOUT] Render time : 58048 for page
EnterDestinationAddress Shipper=1
2003-08-27 00:29:24,626 INFO  [STDOUT] Render time : 48110 for page
EnterDestinationAddress Shipper=1
2003-08-27 00:31:08,531 INFO  [STDOUT] Render time : 66825 for page
EnterPackages Shipper=1
2003-08-27 00:32:26,890 INFO  [STDOUT] Render time : 48455 for page
EnterPackages Shipper=1
2003-08-27 00:33:08,751 INFO  [STDOUT] Render time : 188 for page
EnterDeliveryTimes Shipper=1
2003-08-27 00:33:53,396 INFO  [STDOUT] Render time : 10765 for page
EnterTimes Shipper=1
2003-08-27 00:37:48,770 INFO  [STDOUT] Render time : 84026 for page
IdentifiedCouriers Shipper=1
2003-08-27 00:41:46,771 INFO  [STDOUT] Render time : 10 for page
RequestFinished Shipper=1
2003-08-27 00:42:41,101 INFO  [STDOUT] Render time : 42 for page
ShipperQuoteMonitor Shipper=1
2003-08-27 00:55:42,457 INFO  [STDOUT] Render time : 60579 for page
EnterSourceAddress Shipper=1
2003-08-27 00:57:39,441 INFO  [STDOUT] Render time : 57218 for page
EnterSourceAddress Shipper=1
2003-08-27 01:00:27,932 INFO  [STDOUT] Render time : 47899 for page
EnterDestinationAddress Shipper=1
2003-08-27 01:03:24,970 INFO  [STDOUT] Render time : 46305 for page
EnterDestinationAddress Shipper=1
2003-08-27 01:05:19,543 INFO  [STDOUT] Render time : 49992 for page
EnterDestinationAddress Shipper=1
2003-08-27 01:06:15,870 INFO  [STDOUT] Render time : 26728 for page
EnterSourceAddress Shipper=1
2003-08-27 01:13:22,663 INFO  [STDOUT] Render time : 46686 for page
EnterDestinationAddress Shipper=1
2003-08-27 01:14:44,241 INFO  [STDOUT] Render time : 47526 for page
EnterPackages Shipper=1
======== ISP 2 - Better Bandwidth
============================================
2003-08-27 01:20:38,854 INFO  [STDOUT] Render time : 5705 for page Home
Shipper=0
2003-08-27 01:20:52,266 INFO  [STDOUT] Render time : 21 for page Login
Shipper=0
2003-08-27 01:21:05,304 INFO  [STDOUT] Render time : 92 for page
CourierHome Courier=1
2003-08-27 01:21:13,761 INFO  [STDOUT] Render time : 6 for page Logout
Shipper=0
2003-08-27 01:21:15,993 INFO  [STDOUT] Render time : 34 for page Home
Shipper=0
2003-08-27 01:21:29,000 INFO  [STDOUT] Render time : 5 for page Login
Shipper=0
2003-08-27 01:21:41,702 INFO  [STDOUT] Render time : 23 for page
ShipperHome Shipper=1
2003-08-27 01:21:53,625 INFO  [STDOUT] Render time : 5874 for page
EnterSourceAddress Shipper=1
2003-08-27 01:21:59,184 INFO  [STDOUT] Render time : 70 for page
EnterSourceAddress Shipper=1
2003-08-27 01:22:15,505 INFO  [STDOUT] Render time : 5327 for page
EnterDestinationAddress Shipper=1
2003-08-27 01:22:21,562 INFO  [STDOUT] Render time : 67 for page
EnterDestinationAddress Shipper=1
2003-08-27 01:22:38,242 INFO  [STDOUT] Render time : 4549 for page
EnterPackages Shipper=1
2003-08-27 01:22:45,130 INFO  [STDOUT] Render time : 121 for page
EnterPackages Shipper=1
2003-08-27 01:23:00,452 INFO  [STDOUT] Render time : 46 for page
EnterDeliveryTimes Shipper=1
2003-08-27 01:23:06,486 INFO  [STDOUT] Render time : 44 for page
EnterTimes Shipper=1
2003-08-27 01:23:17,916 INFO  [STDOUT] Render time : 3821 for page
IdentifiedCouriers Shipper=1
2003-08-27 01:23:35,299 INFO  [STDOUT] Render time : 6 for page
RequestFinished Shipper=1
2003-08-27 01:26:26,313 INFO  [STDOUT] Render time : 47 for page
ShipperQuoteMonitor Shipper=1
==============================================================

What I find strange is that the simple pages (Login, ShipperHome)
rendered quickly with both ISPs, but the large pages (typically ones
that contain tabs) take exponentially longer.

I assume that Tapestry writes the response to the output stream as the
client pulls the output stream from the server. Thus, if the client
pulls more slowly, then the response is not generated quickly, but
generated as portions of the page are requested. Do you think it might
improve performance if I change Tapestry to first write the entire
response to a buffer and then serve the client from the buffer?

Regards,

Evert


---------------------------------------------------------------------
To unsubscribe, e-mail: tapestry-user-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tapestry-user-help@jakarta.apache.org