Seaside redirects, really?

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
47 messages Options
123
Reply | Threaded
Open this post in threaded view
|

RE: Seaside redirects, really?

Boris Popov, DeepCove Labs (SNN)

Sebastian,

 

Car and airplane crashes are also a bit of an exception case, yet so much effort goes into development and testing of safety systems. I’m not sure what your end game is in this thread? If you’re trying to convince the rest of us to remove the part of the framework that’s important to a lot of people, you likely will not succeed. But if you’re trying to understand the reasons for the redirect so you can make informed decisions for your own applications, by all means.

 

-Boris

 

From: [hidden email] [mailto:[hidden email]] On Behalf Of Sebastian Sastre
Sent: Monday, October 03, 2011 7:52 AM
To: Seaside - general discussion
Subject: Re: [Seaside] Seaside redirects, really?

 

On Oct 3, 2011, at 8:29 AM, Julian Fitzell wrote:

Similarly the redirects serve a well

thought purpose.

 

which is what exactly?

can you describe that well thought purpose?

 

Decouple the callback processing from the rendering.


Thus ensuring that (a) hitting refresh doesn't re-trigger an action
and (b) you don't get the browser dialog asking if you want to
resubmit form data when you hit the Back button.

 

okay those are reasons.

 

Questions:

for a: the refresh is an exception case, not the normal case, yet everything gets penalized because of that?

for b: the browser opens that dialog only on POST requests only when the user press the back button, again an exceptional case but seaside it's penalizing every other request because of that?

 

sorry but that sounds right or "well thought" to you?

 

 


_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Seaside redirects, really?

sebastianconcept@gmail.co
<base href="x-msg://485/">
ok, for you a ~20-40% improvement in response times isn't an incentive appealing to do anything about it. Even if that leads to an enhanced experience for the users in poor networks or using web apps from mobile devices over mediocre 3G services [1]. You made it work for your business without caring at all about that. Good for you. I have no problem with that. That's great. 

But for me is appealing enough to try to do something about it.

So, yes, understanding the design decisions matters to do "informed hacks" and see where it leads.

I found appealing to have a seaside without the redirect latency penalty [2]


o/

[1]  there are plenty of opportunities in those markets and extra latency can put the whole framework, a priori, out of the "game" only because of that
[2] having AJAX without redirects is a step forward and is already made. Good. But not everything is AJAX. I think we can do better.


On Oct 3, 2011, at 9:01 AM, Boris Popov, DeepCove Labs wrote:

Sebastian,
 
Car and airplane crashes are also a bit of an exception case, yet so much effort goes into development and testing of safety systems. I’m not sure what your end game is in this thread? If you’re trying to convince the rest of us to remove the part of the framework that’s important to a lot of people, you likely will not succeed. But if you’re trying to understand the reasons for the redirect so you can make informed decisions for your own applications, by all means.
 
-Boris
 
From: [hidden email] [mailto:[hidden email]] On Behalf Of Sebastian Sastre
Sent: Monday, October 03, 2011 7:52 AM
To: Seaside - general discussion
Subject: Re: [Seaside] Seaside redirects, really?
 
On Oct 3, 2011, at 8:29 AM, Julian Fitzell wrote:
Similarly the redirects serve a well
thought purpose.
 
which is what exactly?
can you describe that well thought purpose?
 
Decouple the callback processing from the rendering.

Thus ensuring that (a) hitting refresh doesn't re-trigger an action
and (b) you don't get the browser dialog asking if you want to
resubmit form data when you hit the Back button.
 
okay those are reasons.
 
Questions:
for a: the refresh is an exception case, not the normal case, yet everything gets penalized because of that?
for b: the browser opens that dialog only on POST requests only when the user press the back button, again an exceptional case but seaside it's penalizing every other request because of that?
 
sorry but that sounds right or "well thought" to you?
 
 
_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside




_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Seaside redirects, really?

sebastianconcept@gmail.co
In reply to this post by Jon Paynter-2
On Oct 2, 2011, at 4:12 AM, Jon Paynter wrote:

Well ive never run into any problems with the redirects.

But speedups are always good.  What would you suggest to fix them?

I suggest to start treating things like any experiment, start with a proof of concept.

In practical terms, that would mean to make an heretic and shameless hack that patches all it needs in order to:
1. get rid of the redirect for every possible case
2. fix #updateUrl: so it's made without counting with redirects
3. see how it feels (measure load/latency)
4. publish results comparing regular vs. hacked



_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Seaside redirects, really?

NorbertHartl
In reply to this post by sebastianconcept@gmail.co
Sebastian,

Am 03.10.2011 um 14:42 schrieb Sebastian Sastre:

ok, for you a ~20-40% improvement in response times isn't an incentive appealing to do anything about it. 

how did you measure those numbers? Did you have keep-alive active? 

With keep-alive there is only little more that is happening when doing this redirect scenario. One of the biggest latency factors is initiating a TCP connection. Most pages load quite a few images and such in parallel (today it is 4 concurrent connections or more). From that point the textual transfer of the form and the response shouldn't matter that much. With keep-alive especially that redirect scenario should be well supported. For everything else you need HTTP pipelining which is unfortunately still not used in todays browsers. 

Norbert 

_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Seaside redirects, really?

sebastianconcept@gmail.co

On Oct 3, 2011, at 4:46 PM, Norbert Hartl wrote:

how did you measure those numbers? Did you have keep-alive active? 

With keep-alive there is only little more that is happening when doing this redirect scenario. One of the biggest latency factors is initiating a TCP connection. Most pages load quite a few images and such in parallel (today it is 4 concurrent connections or more). From that point the textual transfer of the form and the response shouldn't matter that much. With keep-alive especially that redirect scenario should be well supported. For everything else you need HTTP pipelining which is unfortunately still not used in todays browsers. 

Norbert 

yes, I confirm: this was with the keep-alive header. I'm not sure about the initiating socket thing, this should be confirmed but I guess that just making 2 DNS lookups instead of one is bad enough to eclipse that problem.

As said, it was just a quick look using the network tab in the dev tools

here is what you can do to reproduce what I did:
1. open chrome browser
2. open an image with a seaside app
3. open chrome developer tools (like inspecting an element a renderer page)
4. click on some actions and see the grey bar (method 302 Found type text/html)
5. for the experience, what matters most is the duration between the start of the 302 and the end of the 200. Take notes of those durations for various actions
6. close that image and open a copy you can hack with no risk
7. hack WAActionPhaseContinuation>>#shouldRedirect to shamelessly return false without further thinking
8. take notes of the numbers you get on the same duration (from start to end of the 200 response) for the same actions
9. compare
10. share results



_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Seaside redirects, really?

patmaddox
In reply to this post by Julian Fitzell-2
On Oct 3, 2011, at 4:29 AM, Julian Fitzell wrote:

> On Mon, Oct 3, 2011 at 12:26 PM, Lukas Renggli <[hidden email]> wrote:
>>>> Similarly the redirects serve a well
>>>> thought purpose.
>>>
>>> which is what exactly?
>>> can you describe that well thought purpose?
>>
>> Decouple the callback processing from the rendering.
>
> Thus ensuring that (a) hitting refresh doesn't re-trigger an action
> and (b) you don't get the browser dialog asking if you want to
> resubmit form data when you hit the Back button.

Seems like this ought to be easily doable with a boolean somewhere. Did we run the callbacks for continuation asdfa123? If so, don't run them. No redirect necessary, no double callbacks being run on refresh. Still have the "do you want to resubmit this form" alert, but I've never been concerned about that and don't particularly understand why people are.

Pat
_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Seaside redirects, really?

sebastianconcept@gmail.co

On Oct 3, 2011, at 5:46 PM, Pat Maddox wrote:

which is what exactly?
can you describe that well thought purpose?

Decouple the callback processing from the rendering.

Thus ensuring that (a) hitting refresh doesn't re-trigger an action
and (b) you don't get the browser dialog asking if you want to
resubmit form data when you hit the Back button.

Seems like this ought to be easily doable with a boolean somewhere. Did we run the callbacks for continuation asdfa123? If so, don't run them. No redirect necessary, no double callbacks being run on refresh. Still have the "do you want to resubmit this form" alert, but I've never been concerned about that and don't particularly understand why people are.

Pat

exactly. Consumable actions

That can get it done.

And about the dialog: your app should run on SSL anyway so is not about security. It's about usability because it's based on the assumption that it annoys the user. That could or could not be an issue, that depends on the app and the audience way more than on the framework.

But even so, it sounds that:
1. it was a byproduct of the design decision more than anything.
2. it's workable too 


o/




_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Seaside redirects, really?

NorbertHartl
In reply to this post by sebastianconcept@gmail.co

Am 03.10.2011 um 22:10 schrieb Sebastian Sastre:

yes, I confirm: this was with the keep-alive header. I'm not sure about the initiating socket thing, this should be confirmed but I guess that just making 2 DNS lookups instead of one is bad enough to eclipse that problem.

If there are two DNS lookups than your operating system _and_ your browser are somewhat strange. Usually both cache.

Norbert

_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Seaside redirects, really?

Julian Fitzell-2
In reply to this post by patmaddox
On Mon, Oct 3, 2011 at 9:46 PM, Pat Maddox <[hidden email]> wrote:

> On Oct 3, 2011, at 4:29 AM, Julian Fitzell wrote:
>
>> On Mon, Oct 3, 2011 at 12:26 PM, Lukas Renggli <[hidden email]> wrote:
>>>>> Similarly the redirects serve a well
>>>>> thought purpose.
>>>>
>>>> which is what exactly?
>>>> can you describe that well thought purpose?
>>>
>>> Decouple the callback processing from the rendering.
>>
>> Thus ensuring that (a) hitting refresh doesn't re-trigger an action
>> and (b) you don't get the browser dialog asking if you want to
>> resubmit form data when you hit the Back button.
>
> Seems like this ought to be easily doable with a boolean somewhere. Did we run the callbacks for continuation asdfa123? If so, don't run them. No redirect necessary, no double callbacks being run on refresh. Still have the "do you want to resubmit this form" alert, but I've never been concerned about that and don't particularly understand why people are.

Well it drives me nuts. I find some sites almost unusable because
every time I hit Back I get that stupid dialog.

Look: the separation of action phase and render phase is a key part of
the RenderLoop package. The redirection between them, however, is not
mandatory if you really don't want it. WAActionPhaseContinuation
extracts the decision about whether to redirect into a method
precisely so that subclasses can easily change the behaviour. And the
continuation classes to be used by your application are specified in
configuration parameters precisely so you can subclass them.

However, if you don't want to redirect, you don't really need the
RenderLoop as it currently exists at all. The loop is only split into
two continuations in order to allow the split between the two phases.
If you intend to perform the same processing on every request, you
might be better to just write a single WASessionContinuation subclass
that does exactly what you want and use that instead.

If enough people found the redirect problematic, we could of course
make it configurable but actually, I feel like it once was
configurable many years ago and we removed it because nobody changed
it from the default.

Julian
_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Seaside redirects, really?

Bob Arning

On 10/4/11 10:52 AM, Julian Fitzell wrote:
> If enough people found the redirect problematic, we could of course
> make it configurable but actually, I feel like it once was
> configurable many years ago and we removed it because nobody changed
> it from the default.
This isn't an easy topic for at least one of us to get our heads around:
- I have used seaside for several apps
- I have followed this thread
- I have checked the online seaside book

And I still cannot tell you if
- redirects have ever helped me
- redirects have ever hurt me

Just a simple FWIW.

Cheers,
Bob
_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Seaside redirects, really?

Philippe Marschall
2011/10/4 Bob Arning <[hidden email]>:

>
> On 10/4/11 10:52 AM, Julian Fitzell wrote:
>>
>> If enough people found the redirect problematic, we could of course
>> make it configurable but actually, I feel like it once was
>> configurable many years ago and we removed it because nobody changed
>> it from the default.
>
> This isn't an easy topic for at least one of us to get our heads around:
> - I have used seaside for several apps
> - I have followed this thread
> - I have checked the online seaside book
>
> And I still cannot tell you if
> - redirects have ever helped me
> - redirects have ever hurt me

In that case they helped you because they kept problems away.

Cheers
Philippe
_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Seaside redirects, really?

sebastianconcept@gmail.co
In reply to this post by Bob Arning
On Oct 4, 2011, at 12:13 PM, Bob Arning wrote:

And I still cannot tell you if
- redirects have ever helped me
- redirects have ever hurt me

Just a simple FWIW.

Cheers,
Bob

in one hand it got you here.

In the other:

what's the average ping going from:
1. where your audience is to
2. where your server is located?

that duration times 2 is the minimum default latency you didn't get rid of



_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

RE: Seaside redirects, really?

Boris Popov, DeepCove Labs (SNN)

Sebastian,

 

You can’t get rid of latency of both trips, just the extra one, i.e. if your single roundtrip time is 50ms then removing redirect shortens your overall time by 50ms, not by 100ms.

 

-Boris

 

From: [hidden email] [mailto:[hidden email]] On Behalf Of Sebastian Sastre
Sent: Tuesday, October 04, 2011 12:28 PM
To: Seaside - general discussion
Subject: Re: [Seaside] Seaside redirects, really?

 

On Oct 4, 2011, at 12:13 PM, Bob Arning wrote:



And I still cannot tell you if
- redirects have ever helped me
- redirects have ever hurt me

Just a simple FWIW.

Cheers,
Bob

 

in one hand it got you here.

 

In the other:

 

what's the average ping going from:

1. where your audience is to

2. where your server is located?

 

that duration times 2 is the minimum default latency you didn't get rid of

 

 


_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Seaside redirects, really?

sebastianconcept@gmail.co
<base href="x-msg://714/">
true, thanks for the correction


o/



On Oct 4, 2011, at 1:40 PM, Boris Popov, DeepCove Labs wrote:

Sebastian,
 
You can’t get rid of latency of both trips, just the extra one, i.e. if your single roundtrip time is 50ms then removing redirect shortens your overall time by 50ms, not by 100ms.
 
-Boris
 
From: [hidden email] [mailto:[hidden email]] On Behalf Of Sebastian Sastre
Sent: Tuesday, October 04, 2011 12:28 PM
To: Seaside - general discussion
Subject: Re: [Seaside] Seaside redirects, really?
 
On Oct 4, 2011, at 12:13 PM, Bob Arning wrote:


And I still cannot tell you if
- redirects have ever helped me
- redirects have ever hurt me

Just a simple FWIW.

Cheers,
Bob
 
in one hand it got you here.
 
In the other:
 
what's the average ping going from:
1. where your audience is to
2. where your server is located?
 
that duration times 2 is the minimum default latency you didn't get rid of
 
 
_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside





_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Seaside redirects, really?

NorbertHartl
In reply to this post by sebastianconcept@gmail.co

Am 04.10.2011 um 18:28 schrieb Sebastian Sastre:

On Oct 4, 2011, at 12:13 PM, Bob Arning wrote:

And I still cannot tell you if
- redirects have ever helped me
- redirects have ever hurt me

Just a simple FWIW.

Cheers,
Bob

in one hand it got you here.

In the other:

what's the average ping going from:
1. where your audience is to
2. where your server is located?

that duration times 2 is the minimum default latency you didn't get rid of

I don't know if that leads to anywhere. Just as extra information for understanding. An average ping doesn't tell you much. It is 56 bytes which fits in one packet. So the number you get is the minimum time data could travel because a ping packet has only headers and no payload.
The overall latency is not dependent on request-response cycles but on data transferred. You can only send data that fits in a MTU which is the physical restriction on the size of a packet (1492 bytes or lower). For every data that is bigger a new packet is created which is transferred individually. For a bunch of packets (defined in TCP window) the receiver must acknowledge that window which means there is an extra round trip. 
The empty POST response and the GET request both fit into a single packet. If you you have a response that is more than 16k you are likely to have at least one acknowldge packet travelling backward (which prevents the sender from sending until the acknowledgement has been received). If you look at your data transferred it might be that produces two or three times more roundtrips than the extra request-response.

And still what you are saying is correct that whatever I tell you the extra request goes on top. I just want to add that the effect is not as big as you might think.

Norbert

_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Seaside redirects, really?

sebastianconcept@gmail.co
On Oct 4, 2011, at 2:26 PM, Norbert Hartl wrote:

And still what you are saying is correct that whatever I tell you the extra request goes on top. I just want to add that the effect is not as big as you might think.

Norbert


perhaps, but we should rely on the measured observations on how it performs with redirects vs. without them.

Probably not for everybody but there is something else: 

For all people using one transaction per request kind of architectures...

Having the redirect means that your app needs 2 transactions per action with all the overhead and complications that it could mean*.

*for example the data your app readed fresh in the first transaction has no use on the second complicating the app (if consistency is mandatory it probably requires a re-read). Depending on how the app deals with that problem, that could be a hidden cost (paid in latency in the magnitude of I/O and in development costs)



_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

RE: Seaside redirects, really?

Boris Popov, DeepCove Labs (SNN)

I say go for it if that’s what you need in your app, there’s clearly a simple way of disabling them in your case, but I rather suspect this won’t become a default any time soon and for good reason IMHO.

 

-Boris

 

From: [hidden email] [mailto:[hidden email]] On Behalf Of Sebastian Sastre
Sent: Wednesday, October 05, 2011 8:38 AM
To: Seaside - general discussion
Subject: Re: [Seaside] Seaside redirects, really?

 

On Oct 4, 2011, at 2:26 PM, Norbert Hartl wrote:



And still what you are saying is correct that whatever I tell you the extra request goes on top. I just want to add that the effect is not as big as you might think.

 

Norbert

 

 

perhaps, but we should rely on the measured observations on how it performs with redirects vs. without them.

 

Probably not for everybody but there is something else: 

 

For all people using one transaction per request kind of architectures...

 

Having the redirect means that your app needs 2 transactions per action with all the overhead and complications that it could mean*.

 

*for example the data your app readed fresh in the first transaction has no use on the second complicating the app (if consistency is mandatory it probably requires a re-read). Depending on how the app deals with that problem, that could be a hidden cost (paid in latency in the magnitude of I/O and in development costs)

 

 


_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Seaside redirects, really?

Dale Henrichs
In reply to this post by sebastianconcept@gmail.co
Sebastian,

If you want the absolute fastest performance, write a read only application and serve up static pages:)

If you do anything else, you will compromise your performance.

Presumably the trade offs that you make along the way are worth it.

Even in the single request model, there is a boat load of session state being saved by Seaside and that session state is a burden on the garbage collector and impacts performance ...

If you use a framework like Seaside-REST you can avoid saving session-state altogether, but then you are responsible for managing "session state" yourself ...

There is definite value in knowing that one can arrange skipping the redirect, but it is an application-level decision whether or not the trade-off is worth it or not.

Dale

----- Original Message -----
| From: "Sebastian Sastre" <[hidden email]>
| To: "Seaside - general discussion" <[hidden email]>
| Sent: Wednesday, October 5, 2011 5:37:54 AM
| Subject: Re: [Seaside] Seaside redirects, really?
|
|
|
|
| On Oct 4, 2011, at 2:26 PM, Norbert Hartl wrote:
|
|
|
| And still what you are saying is correct that whatever I tell you the
| extra request goes on top. I just want to add that the effect is not
| as big as you might think.
|
|
| Norbert
|
|
|
|
| perhaps, but we should rely on the measured observations on how it
| performs with redirects vs. without them.
|
|
| Probably not for everybody but there is something else:
|
|
| For all people using one transaction per request kind of
| architectures...
|
|
| Having the redirect means that your app needs 2 transactions per
| action with all the overhead and complications that it could mean*.
|
|
|
|
| sebastian
|
|
| o/
|
|
| *for example the data your app readed fresh in the first transaction
| has no use on the second complicating the app (if consistency is
| mandatory it probably requires a re-read). Depending on how the app
| deals with that problem, that could be a hidden cost (paid in
| latency in the magnitude of I/O and in development costs)
|
|
|
| _______________________________________________
| seaside mailing list
| [hidden email]
| http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
|
_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Seaside redirects, really?

sebastianconcept@gmail.co
yeah! true!

 and preferentially with the app written in assembler using vi :)

joke aside... 

with the avoiding session-state altogether idea you're taking things a step further, I don't know if that's appealing.

It might be.

It's certainly more experimental




On Oct 5, 2011, at 2:01 PM, Dale Henrichs wrote:

Sebastian,

If you want the absolute fastest performance, write a read only application and serve up static pages:)

If you do anything else, you will compromise your performance.

Presumably the trade offs that you make along the way are worth it.

Even in the single request model, there is a boat load of session state being saved by Seaside and that session state is a burden on the garbage collector and impacts performance ...

If you use a framework like Seaside-REST you can avoid saving session-state altogether, but then you are responsible for managing "session state" yourself ...

There is definite value in knowing that one can arrange skipping the redirect, but it is an application-level decision whether or not the trade-off is worth it or not.

Dale

----- Original Message -----
| From: "Sebastian Sastre" <[hidden email]>
| To: "Seaside - general discussion" <[hidden email]>
| Sent: Wednesday, October 5, 2011 5:37:54 AM
| Subject: Re: [Seaside] Seaside redirects, really?
|
|
|
|
| On Oct 4, 2011, at 2:26 PM, Norbert Hartl wrote:
|
|
|
| And still what you are saying is correct that whatever I tell you the
| extra request goes on top. I just want to add that the effect is not
| as big as you might think.
|
|
| Norbert
|
|
|
|
| perhaps, but we should rely on the measured observations on how it
| performs with redirects vs. without them.
|
|
| Probably not for everybody but there is something else:
|
|
| For all people using one transaction per request kind of
| architectures...
|
|
| Having the redirect means that your app needs 2 transactions per
| action with all the overhead and complications that it could mean*.
|
|
|
|
| sebastian
|
|
| o/
|
|
| *for example the data your app readed fresh in the first transaction
| has no use on the second complicating the app (if consistency is
| mandatory it probably requires a re-read). Depending on how the app
| deals with that problem, that could be a hidden cost (paid in
| latency in the magnitude of I/O and in development costs)
|
|
|
| _______________________________________________
| seaside mailing list
| [hidden email]
| http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
|
_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside





_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
Reply | Threaded
Open this post in threaded view
|

Re: Seaside redirects, really?

Dale Henrichs
Sebastian,

I think that just as there is a place for static files, there is a place for dynamically generated content that does not require session state (and therefore is more performant).

With Seaside-REST it is easy to integrate RESTful urls into your Seaside3.0 application ... http://ss3.gemstone.com uses Seaside-REST for servicing requests from the Monticello Browser and full seaside for the web gui ... you get the best of both worlds ... the hits for mcz files and project listings are much more numerous than the hits on the web-site ... so there is a big savings in session state, especially since ss3 is one of those sites that do a transaction per request:)

This stuff isn't as experimental as you think...

Dale

----- Original Message -----
| From: "Sebastian Sastre" <[hidden email]>
| To: "Seaside - general discussion" <[hidden email]>
| Sent: Wednesday, October 5, 2011 10:45:39 AM
| Subject: Re: [Seaside] Seaside redirects, really?
|
|
| yeah! true!
|
|
| and preferentially with the app written in assembler using vi :)
|
|
| joke aside...
|
|
| with the avoiding session-state altogether idea you're taking things
| a step further, I don't know if that's appealing.
|
|
| It might be.
|
|
| It's certainly more experimental
|
|
|
| sebastian
|
|
| o/
|
|
|
|
|
|
|
| On Oct 5, 2011, at 2:01 PM, Dale Henrichs wrote:
|
|
|
| Sebastian,
|
| If you want the absolute fastest performance, write a read only
| application and serve up static pages:)
|
| If you do anything else, you will compromise your performance.
|
| Presumably the trade offs that you make along the way are worth it.
|
| Even in the single request model, there is a boat load of session
| state being saved by Seaside and that session state is a burden on
| the garbage collector and impacts performance ...
|
| If you use a framework like Seaside-REST you can avoid saving
| session-state altogether, but then you are responsible for managing
| "session state" yourself ...
|
| There is definite value in knowing that one can arrange skipping the
| redirect, but it is an application-level decision whether or not the
| trade-off is worth it or not.
|
| Dale
|
| ----- Original Message -----
| | From: "Sebastian Sastre" < [hidden email] >
| | To: "Seaside - general discussion" <
| | [hidden email] >
| | Sent: Wednesday, October 5, 2011 5:37:54 AM
| | Subject: Re: [Seaside] Seaside redirects, really?
| |
| |
| |
| |
| | On Oct 4, 2011, at 2:26 PM, Norbert Hartl wrote:
| |
| |
| |
| | And still what you are saying is correct that whatever I tell you
| | the
| | extra request goes on top. I just want to add that the effect is
| | not
| | as big as you might think.
| |
| |
| | Norbert
| |
| |
| |
| |
| | perhaps, but we should rely on the measured observations on how it
| | performs with redirects vs. without them.
| |
| |
| | Probably not for everybody but there is something else:
| |
| |
| | For all people using one transaction per request kind of
| | architectures...
| |
| |
| | Having the redirect means that your app needs 2 transactions per
| | action with all the overhead and complications that it could mean*.
| |
| |
| |
| |
| | sebastian
| |
| |
| | o/
| |
| |
| | *for example the data your app readed fresh in the first
| | transaction
| | has no use on the second complicating the app (if consistency is
| | mandatory it probably requires a re-read). Depending on how the app
| | deals with that problem, that could be a hidden cost (paid in
| | latency in the magnitude of I/O and in development costs)
| |
| |
| |
| | _______________________________________________
| | seaside mailing list
| | [hidden email]
| | http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
| |
| _______________________________________________
| seaside mailing list
| [hidden email]
| http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
|
|
|
|
|
|
|
|
| _______________________________________________
| seaside mailing list
| [hidden email]
| http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
|
_______________________________________________
seaside mailing list
[hidden email]
http://lists.squeakfoundation.org/cgi-bin/mailman/listinfo/seaside
123