tapestry-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Adam Greene" <agre...@romulin.com>
Subject RE: Tapestry under low bandwidth conditions
Date Wed, 27 Aug 2003 12:57:15 GMT
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


Mime
View raw message