Hi,
My JSF application is very slow via HTTPS.
Some parts are 15 times slower compared to HTTP
I measured the response times of the xhtml requests with Fiddler
(locally and over network)
Result for a very large page (512 KB) with a big datatable without ajax
usage:
-- local access with
As far as I know, the JSF does not know anything about https... it is
handled by the servlet container (Tomcat, Jetty...).
Walter Mourão
http://waltermourao.com.br
http://arcadian.com.br
http://oriens.com.br
On Mon, Apr 11, 2011 at 8:49 AM, Michael Heinen mhn4...@googlemail.comwrote:
Hi,
Have you turned on the page compression of your app server?
2011/4/11 Walter Mourão walter.mou...@gmail.com
As far as I know, the JSF does not know anything about https... it is
handled by the servlet container (Tomcat, Jetty...).
Walter Mourão
http://waltermourao.com.br
Yes, compression is enabled, at least on the real systems.
It was turned off in this local test.
However, turning on compression results in 43KB instead of 512 KB and
the response time is locally a little bit slower (17.5 sec).
So the problem with HTTPS is independent of the compression.
I
I'm using jetty-6.1.22 for such things.
LieGrue,
strub
--- On Mon, 4/11/11, Michael Heinen mhn4...@googlemail.com wrote:
From: Michael Heinen mhn4...@googlemail.com
Subject: Re: JSF application very slow with HTTPS
To: MyFaces Discussion users@myfaces.apache.org
Date: Monday, April 11,
I also use jetty-6.1.22. My environment is almost identical to
yours, give or take a minor version number.
On Mon, Apr 11, 2011 at 7:49 AM, Michael Heinen mhn4...@googlemail.com wrote:
Hi,
My JSF application is very slow via HTTPS.
Some parts are 15 times slower compared to HTTP
I
This is a follow-up discussion for JSF application very slow with
HTTPS in order to no hijack my own thread.
I want to compare the performance of my app with tomcat and jetty.
Environment:
Facelets
myFaces 1.2.9
tomahawk12_1.1.10
richfaces 3.3.3
The app runs fine with all Tomcat
Btw another question: 1s local response time? How fat is this page?
We have a really big page in production with 1400 lines in a dataTable - and it
renders in 450 ms...
How many back-and-forth requests do you see if you open firebug?
Do you have some EL involved which isn't hitting the backing
Is it possible that it's a conflict between Jetty 7 and the facelets el-ri.jar?
I know at one point, we moved the facelets el-api.jar into a
build-only classpath, but I think we still have the el-ri.jar in the
deployment library path.
On Mon, Apr 11, 2011 at 10:55 AM, Michael Heinen
Oh yes, another probably useful info: whenever https is involved via http doing
lots of subsequent resource requests, then make sure that SSL session wont get
closed! This really drastically drops the performance if the SSL handshaking
always needs to re-negotiated over and over again...
Fat? Well there is a lot of EL in this table, nearly in all cells,
e.g. for column widths, values, styles etc.
The EL is always hitting backing beans, some with additional map access.
But the real problem is the poor HTTPS performance compared to HTTP.
It should not be caused by the app and
Looks like a bug in the EL impl! Have you tried reformatting the
expression (like adding spaces and/or brackets)?
Can I use another EL impl with jetty?
For sure, check out http://wiki.apache.org/myfaces/HowToEnableEl22 to
see how a el-impl can be changed.
FYI: this works since MyFaces core
My app setup involves a separate httpd doing all the SSL stuff and the load
balancing in front of our 4 app servers. We previously had problems with the
ssl timing and then moved it to an Apache httpd and configures SSL session
caching. This way it is barely affecting the performance now.
Most
Ah sorry, have overread that:
The time is spent in
htmlTableRenderer.encodeInnerHtml
I'd start the application with YourKit profiler and do some profiling.
You can get a free yourkit test license (14 days I think) for evaluation.
LieGrue,
strub
--- On Mon, 4/11/11, Michael Heinen
Or you can go with something a lot simpler and start with the free
profiler provided in the H2Database jar.
import org.h2.util;
...
Profiler profiler = new Profiler();
profiler.startCollecting();
// application code
System.out.println(profiler.getTop(3));
yea, but most of the time you
a) don't exactly know what you r looking for
b) don't like to change your code
c) will get the the lifecycle wrappers back as 'most expensive' methods...
LieGrue,
strub
--- On Mon, 4/11/11, Mike Kienenberger mkien...@gmail.com wrote:
From: Mike Kienenberger
I am out of the office until 04/13/2011.
Tuesday, April 12 is site holiday.
For any urgent need, can be reached on my mobile (number listed in IBM Blue
Pages profile).
Thanks, have a nice day!
Saurabh
Note: This is an automated response to your message Re: JSF application
very slow with
Yep, that's what I'll do after getting the app running on jetty.
What a pain, I thought this would have been done in a few minutes
Am 11.04.2011 18:12, schrieb Mark Struberg:
Ah sorry, have overread that:
The time is spent in
htmlTableRenderer.encodeInnerHtml
I'd start the application
thats mostly depending if you find it ok to use the provided EL provider (then
it's straight forward) or you need to use an alternate EL provider (e.g. when
running EL-2.2).
LieGrue,
strub
--- On Mon, 4/11/11, Michael Heinen mhn4...@googlemail.com wrote:
From: Michael Heinen
Yes, I know that this method has drawbacks, but it's still a good
alternative in this case as he knows what methods are involved, and he
has access to the source code so he can change it at the
htmlTableRenderer.encodeInnerHtml. Data method.
Not everyone wants to try to set up and learn YourKit,
20 matches
Mail list logo