You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@myfaces.apache.org by Michael Heinen <mh...@googlemail.com> on 2011/04/11 13:49:04 UTC
JSF application very slow with HTTPS
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 HTTP: 1 sec
-- local access with HTTPS: 15-16 sec
Other pages are factor 2-4 slower, with or without ajax.
The time is spent in htmlTableRenderer.encodeInnerHtml. Data is of
course available, there is no additional backend access.
The simple download of xhtml files or other files is NOT (noticeable)
slower.
Other non JSF applications running on the same servers are also not
slower with HTTPS.
Before I start profiling:
- Does anybody have an idea where I should look at?
- Are there any known JSF or webApp settings that influence https
performance?
Environment:
Facelets
myFaces 1.2.9
tomahawk12_1.1.10
richfaces 3.3.3
tomcat 6.0.29
jdk 1.6.0_23
Regards,
Michael
Re: JSF application very slow with HTTPS
Posted by Michael Heinen <mh...@googlemail.com>.
The issue is solved.
It was a bug in Tomcat, created in version 6.0.28 and fixed in 6.0.30!
See https://issues.apache.org/bugzilla/show_bug.cgi?id=49613
Michael
Am 12.04.2011 18:13, schrieb Richard Yee:
> Aloysius,
> Read the issue. It is with PRIMEFACES.
>
> -Richard
>
>
>
> On Tue, Apr 12, 2011 at 9:07 AM, Michael Heinen<mh...@googlemail.com>wrote:
>
>> Thanks Bernd for pointing to this.
>>
>> I tried to profile the single request with yourKit.
>> I found some method calls that look strange to me. Note the millis are much
>> larger due to additional profiling costs): The whole request took now around
>> 100 seconds with tracing.
>> - org.apache.catalina.connector.Request.isSSLAttribute(String) is called
>> 205.000 times but it took only 671 ms (own time 499ms)
>> - some methods like
>> com.sun.net.ssl.internal.ssl.SSLSessionImpl.getPeerCertificates() or -
>> com.sun.net.ssl.internal.ssl.SSLSessionImpl.hashCode() are called 95.000
>> times (own time 2300ms)
>> - getPeerCertificates is also called from RequestCacade.getAttributeNames
>> as in the mentioned bug report.
>>
>>
>> - org.apache.catalina.util.Enumerator.<init>(Iterator, boolean) has 10
>> seconds own time!
>> - around 95000 javax.net.ssl.SSLPeerUnverifiedExceptions are thrown.
>>
>> I tested this locally with a certificate created via java keytool.
>>
>> Next I'll test with a real certificate
>>
>> Michael
>>
>>
>>
>>
>> Am 12.04.2011 09:53, schrieb Bernd Bohmann:
>>
>> Hello,
>>> maybe it is a richfaces issue see:
>>>
>>> https://issues.apache.org/jira/browse/MYFACES-2823
>>>
>>> Regards
>>>
>>> Bernd
>>>
>>> On Mon, Apr 11, 2011 at 6:42 PM, Mike Kienenberger<mk...@gmail.com>
>>> wrote:
>>>
>>>> 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, nor "evaluate"
>>>> it or buy it or any of the other "serious" profilers.
>>>>
>>>> If you've already got a profiler installed and are familiar with it,
>>>> go with that. :) This is a quick-and-dirty solution that's often
>>>> worked for me. I've got the eclipse profiler installed, and I've had
>>>> YourKit installed before, but this is often the simplest path for me.
>>>>
>>>> You can have the results back from this in the time it takes to 1)
>>>> download the h2database jar and drop it into your project, 2) change
>>>> the code, 3) recompile the app, 4) run it.
>>>>
>>>> On Mon, Apr 11, 2011 at 12:31 PM, Mark Struberg<st...@yahoo.de>
>>>> wrote:
>>>>
>>>>> 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<mk...@gmail.com> wrote:
>>>>>
>>>>> From: Mike Kienenberger<mk...@gmail.com>
>>>>>> Subject: Re: JSF application very slow with HTTPS
>>>>>> To: "MyFaces Discussion"<us...@myfaces.apache.org>
>>>>>> Cc: "Mark Struberg"<st...@yahoo.de>
>>>>>> Date: Monday, April 11, 2011, 4:27 PM
>>>>>> 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));
>>>>>>
>>>>>> http://www.h2database.com/html/performance.html#application_profiling
>>>>>>
>>>>>> For my own use, I've pulled out the three relevant classes
>>>>>> and removed
>>>>>> the unnecessary methods if you don't want to grab the
>>>>>> entire package,
>>>>>> although that's really trivial to do as well.
>>>>>> It's about 350 lines
>>>>>> of code total.
>>>>>>
>>>>>> On Mon, Apr 11, 2011 at 12:12 PM, Mark Struberg<st...@yahoo.de>
>>>>>> wrote:
>>>>>>
>>>>>>> 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<mh...@googlemail.com>
>>>>>>>
>>>>>> wrote:
>>>>>>
>>>>>>> From: Michael Heinen<mh...@googlemail.com>
>>>>>>>> Subject: Re: JSF application very slow with HTTPS
>>>>>>>> To: "MyFaces Discussion"<us...@myfaces.apache.org>
>>>>>>>> Date: Monday, April 11, 2011, 3:45 PM
>>>>>>>> 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 also not by
>>>>>>>>
>>>>>>> JSF or
>>>>>>> Tomcat of course.
>>>>>>>> There should be a little overhead for additional
>>>>>>>> handshaking, but not
>>>>>>>> for the rendering!
>>>>>>>> Could this be caused by a buffering whereever?
>>>>>>>>
>>>>>>>> Mark (or anybody else), did you compare your app
>>>>>>>>
>>>>>>> with http
>>>>>>> and https?
>>>>>>>> Just wondering whether this is a problem only in
>>>>>>>>
>>>>>>> my app.
>>>>>>> Regards,
>>>>>>>> Michael
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> Am 11.04.2011 17:27, schrieb Mark Struberg:
>>>>>>>>
>>>>>>>>> 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 bean but directly goes into the database?
>>>>>>> Something
>>>>>>> in this direction...
>>>>>>>>> LieGrue,
>>>>>>>>> strub
>>>>>>>>>
>>>>>>>>> --- On Mon, 4/11/11, Mike Kienenberger<mk...@gmail.com>
>>>>>>>>>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> From: Mike Kienenberger<mk...@gmail.com>
>>>>>>>>>> Subject: Re: JSF application very slow
>>>>>>>>>>
>>>>>>>>> with HTTPS
>>>>>>> To: "MyFaces Discussion"<us...@myfaces.apache.org>
>>>>>>>>>> Cc: "Michael Heinen"<mh...@googlemail.com>
>>>>>>>>>> Date: Monday, April 11, 2011, 2:20 PM
>>>>>>>>>> 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<mh...@googlemail.com>
>>>>>>>>> wrote:
>>>>>>>>>>> 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 HTTP: 1 sec
>>>>>>>>>>> -- local access with HTTPS: 15-16
>>>>>>>>>>>
>>>>>>>>>> sec
>>>>>>> Other pages are factor 2-4 slower,
>>>>>>>>>> with or
>>>>>>> without
>>>>>>>>> ajax.
>>>>>>>>>>> The time is spent in
>>>>>>>>>>>
>>>>>>>>>> htmlTableRenderer.encodeInnerHtml. Data
>>>>>>>>>>
>>>>>>>>> is of
>>>>>>> course
>>>>>>>>> available, there is no additional
>>>>>>>>>> backend
>>>>>>> access.
>>>>>>>>> The simple download of xhtml files or
>>>>>>>>>> other
>>>>>>> files is
>>>>>>>>> NOT (noticeable)
>>>>>>>>>>> slower.
>>>>>>>>>>> Other non JSF applications running on
>>>>>>>>>>>
>>>>>>>>>> the same
>>>>>>> servers
>>>>>>>>> are also not slower
>>>>>>>>>>> with HTTPS.
>>>>>>>>>>>
>>>>>>>>>>> Before I start profiling:
>>>>>>>>>>> - Does anybody have an idea where I
>>>>>>>>>>>
>>>>>>>>>> should
>>>>>>> look at?
>>>>>>>>> - Are there any known JSF or webApp
>>>>>>>>>> settings
>>>>>>> that
>>>>>>>>> influence https
>>>>>>>>>>> performance?
>>>>>>>>>>>
>>>>>>>>>>> Environment:
>>>>>>>>>>> Facelets
>>>>>>>>>>> myFaces 1.2.9
>>>>>>>>>>> tomahawk12_1.1.10
>>>>>>>>>>> richfaces 3.3.3
>>>>>>>>>>> tomcat 6.0.29
>>>>>>>>>>> jdk 1.6.0_23
>>>>>>>>>>>
>>>>>>>>>>> Regards,
>>>>>>>>>>> Michael
>>>>>>>>>>>
>>>>>>>>>>>
Re: JSF application very slow with HTTPS
Posted by Richard Yee <ry...@cruzio.com>.
Michael and all, my apologies. Please disregard the email. I confused Primefaces with Richfaces. There is no Ssl issue with Primefaces that I know of.
Richard
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
Re: JSF application very slow with HTTPS
Posted by Michael Heinen <mh...@googlemail.com>.
Richard, I don't understand your response.
What dou you mean with primefaces?
Did you see similar behaviour with it and ssl?
Michael
Am 12.04.2011 18:13, schrieb Richard Yee:
> Aloysius,
> Read the issue. It is with PRIMEFACES.
>
> -Richard
>
>
>
> On Tue, Apr 12, 2011 at 9:07 AM, Michael Heinen<mh...@googlemail.com>wrote:
>
>> Thanks Bernd for pointing to this.
>>
>> I tried to profile the single request with yourKit.
>> I found some method calls that look strange to me. Note the millis are much
>> larger due to additional profiling costs): The whole request took now around
>> 100 seconds with tracing.
>> - org.apache.catalina.connector.Request.isSSLAttribute(String) is called
>> 205.000 times but it took only 671 ms (own time 499ms)
>> - some methods like
>> com.sun.net.ssl.internal.ssl.SSLSessionImpl.getPeerCertificates() or -
>> com.sun.net.ssl.internal.ssl.SSLSessionImpl.hashCode() are called 95.000
>> times (own time 2300ms)
>> - getPeerCertificates is also called from RequestCacade.getAttributeNames
>> as in the mentioned bug report.
>>
>>
>> - org.apache.catalina.util.Enumerator.<init>(Iterator, boolean) has 10
>> seconds own time!
>> - around 95000 javax.net.ssl.SSLPeerUnverifiedExceptions are thrown.
>>
>> I tested this locally with a certificate created via java keytool.
>>
>> Next I'll test with a real certificate
>>
>> Michael
>>
>>
>>
>>
>> Am 12.04.2011 09:53, schrieb Bernd Bohmann:
>>
>> Hello,
>>> maybe it is a richfaces issue see:
>>>
>>> https://issues.apache.org/jira/browse/MYFACES-2823
>>>
>>> Regards
>>>
>>> Bernd
>>>
>>> On Mon, Apr 11, 2011 at 6:42 PM, Mike Kienenberger<mk...@gmail.com>
>>> wrote:
>>>
>>>> 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, nor "evaluate"
>>>> it or buy it or any of the other "serious" profilers.
>>>>
>>>> If you've already got a profiler installed and are familiar with it,
>>>> go with that. :) This is a quick-and-dirty solution that's often
>>>> worked for me. I've got the eclipse profiler installed, and I've had
>>>> YourKit installed before, but this is often the simplest path for me.
>>>>
>>>> You can have the results back from this in the time it takes to 1)
>>>> download the h2database jar and drop it into your project, 2) change
>>>> the code, 3) recompile the app, 4) run it.
>>>>
>>>> On Mon, Apr 11, 2011 at 12:31 PM, Mark Struberg<st...@yahoo.de>
>>>> wrote:
>>>>
>>>>> 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<mk...@gmail.com> wrote:
>>>>>
>>>>> From: Mike Kienenberger<mk...@gmail.com>
>>>>>> Subject: Re: JSF application very slow with HTTPS
>>>>>> To: "MyFaces Discussion"<us...@myfaces.apache.org>
>>>>>> Cc: "Mark Struberg"<st...@yahoo.de>
>>>>>> Date: Monday, April 11, 2011, 4:27 PM
>>>>>> 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));
>>>>>>
>>>>>> http://www.h2database.com/html/performance.html#application_profiling
>>>>>>
>>>>>> For my own use, I've pulled out the three relevant classes
>>>>>> and removed
>>>>>> the unnecessary methods if you don't want to grab the
>>>>>> entire package,
>>>>>> although that's really trivial to do as well.
>>>>>> It's about 350 lines
>>>>>> of code total.
>>>>>>
>>>>>> On Mon, Apr 11, 2011 at 12:12 PM, Mark Struberg<st...@yahoo.de>
>>>>>> wrote:
>>>>>>
>>>>>>> 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<mh...@googlemail.com>
>>>>>>>
>>>>>> wrote:
>>>>>>
>>>>>>> From: Michael Heinen<mh...@googlemail.com>
>>>>>>>> Subject: Re: JSF application very slow with HTTPS
>>>>>>>> To: "MyFaces Discussion"<us...@myfaces.apache.org>
>>>>>>>> Date: Monday, April 11, 2011, 3:45 PM
>>>>>>>> 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 also not by
>>>>>>>>
>>>>>>> JSF or
>>>>>>> Tomcat of course.
>>>>>>>> There should be a little overhead for additional
>>>>>>>> handshaking, but not
>>>>>>>> for the rendering!
>>>>>>>> Could this be caused by a buffering whereever?
>>>>>>>>
>>>>>>>> Mark (or anybody else), did you compare your app
>>>>>>>>
>>>>>>> with http
>>>>>>> and https?
>>>>>>>> Just wondering whether this is a problem only in
>>>>>>>>
>>>>>>> my app.
>>>>>>> Regards,
>>>>>>>> Michael
>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>> Am 11.04.2011 17:27, schrieb Mark Struberg:
>>>>>>>>
>>>>>>>>> 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 bean but directly goes into the database?
>>>>>>> Something
>>>>>>> in this direction...
>>>>>>>>> LieGrue,
>>>>>>>>> strub
>>>>>>>>>
>>>>>>>>> --- On Mon, 4/11/11, Mike Kienenberger<mk...@gmail.com>
>>>>>>>>>
>>>>>>>> wrote:
>>>>>>>>
>>>>>>>>> From: Mike Kienenberger<mk...@gmail.com>
>>>>>>>>>> Subject: Re: JSF application very slow
>>>>>>>>>>
>>>>>>>>> with HTTPS
>>>>>>> To: "MyFaces Discussion"<us...@myfaces.apache.org>
>>>>>>>>>> Cc: "Michael Heinen"<mh...@googlemail.com>
>>>>>>>>>> Date: Monday, April 11, 2011, 2:20 PM
>>>>>>>>>> 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<mh...@googlemail.com>
>>>>>>>>> wrote:
>>>>>>>>>>> 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 HTTP: 1 sec
>>>>>>>>>>> -- local access with HTTPS: 15-16
>>>>>>>>>>>
>>>>>>>>>> sec
>>>>>>> Other pages are factor 2-4 slower,
>>>>>>>>>> with or
>>>>>>> without
>>>>>>>>> ajax.
>>>>>>>>>>> The time is spent in
>>>>>>>>>>>
>>>>>>>>>> htmlTableRenderer.encodeInnerHtml. Data
>>>>>>>>>>
>>>>>>>>> is of
>>>>>>> course
>>>>>>>>> available, there is no additional
>>>>>>>>>> backend
>>>>>>> access.
>>>>>>>>> The simple download of xhtml files or
>>>>>>>>>> other
>>>>>>> files is
>>>>>>>>> NOT (noticeable)
>>>>>>>>>>> slower.
>>>>>>>>>>> Other non JSF applications running on
>>>>>>>>>>>
>>>>>>>>>> the same
>>>>>>> servers
>>>>>>>>> are also not slower
>>>>>>>>>>> with HTTPS.
>>>>>>>>>>>
>>>>>>>>>>> Before I start profiling:
>>>>>>>>>>> - Does anybody have an idea where I
>>>>>>>>>>>
>>>>>>>>>> should
>>>>>>> look at?
>>>>>>>>> - Are there any known JSF or webApp
>>>>>>>>>> settings
>>>>>>> that
>>>>>>>>> influence https
>>>>>>>>>>> performance?
>>>>>>>>>>>
>>>>>>>>>>> Environment:
>>>>>>>>>>> Facelets
>>>>>>>>>>> myFaces 1.2.9
>>>>>>>>>>> tomahawk12_1.1.10
>>>>>>>>>>> richfaces 3.3.3
>>>>>>>>>>> tomcat 6.0.29
>>>>>>>>>>> jdk 1.6.0_23
>>>>>>>>>>>
>>>>>>>>>>> Regards,
>>>>>>>>>>> Michael
>>>>>>>>>>>
>>>>>>>>>>>
Re: JSF application very slow with HTTPS
Posted by Richard Yee <ri...@gmail.com>.
Aloysius,
Read the issue. It is with PRIMEFACES.
-Richard
On Tue, Apr 12, 2011 at 9:07 AM, Michael Heinen <mh...@googlemail.com>wrote:
> Thanks Bernd for pointing to this.
>
> I tried to profile the single request with yourKit.
> I found some method calls that look strange to me. Note the millis are much
> larger due to additional profiling costs): The whole request took now around
> 100 seconds with tracing.
> - org.apache.catalina.connector.Request.isSSLAttribute(String) is called
> 205.000 times but it took only 671 ms (own time 499ms)
> - some methods like
> com.sun.net.ssl.internal.ssl.SSLSessionImpl.getPeerCertificates() or -
> com.sun.net.ssl.internal.ssl.SSLSessionImpl.hashCode() are called 95.000
> times (own time 2300ms)
> - getPeerCertificates is also called from RequestCacade.getAttributeNames
> as in the mentioned bug report.
>
>
> - org.apache.catalina.util.Enumerator.<init>(Iterator, boolean) has 10
> seconds own time!
> - around 95000 javax.net.ssl.SSLPeerUnverifiedExceptions are thrown.
>
> I tested this locally with a certificate created via java keytool.
>
> Next I'll test with a real certificate
>
> Michael
>
>
>
>
> Am 12.04.2011 09:53, schrieb Bernd Bohmann:
>
> Hello,
>>
>> maybe it is a richfaces issue see:
>>
>> https://issues.apache.org/jira/browse/MYFACES-2823
>>
>> Regards
>>
>> Bernd
>>
>> On Mon, Apr 11, 2011 at 6:42 PM, Mike Kienenberger<mk...@gmail.com>
>> wrote:
>>
>>> 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, nor "evaluate"
>>> it or buy it or any of the other "serious" profilers.
>>>
>>> If you've already got a profiler installed and are familiar with it,
>>> go with that. :) This is a quick-and-dirty solution that's often
>>> worked for me. I've got the eclipse profiler installed, and I've had
>>> YourKit installed before, but this is often the simplest path for me.
>>>
>>> You can have the results back from this in the time it takes to 1)
>>> download the h2database jar and drop it into your project, 2) change
>>> the code, 3) recompile the app, 4) run it.
>>>
>>> On Mon, Apr 11, 2011 at 12:31 PM, Mark Struberg<st...@yahoo.de>
>>> wrote:
>>>
>>>> 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<mk...@gmail.com> wrote:
>>>>
>>>> From: Mike Kienenberger<mk...@gmail.com>
>>>>> Subject: Re: JSF application very slow with HTTPS
>>>>> To: "MyFaces Discussion"<us...@myfaces.apache.org>
>>>>> Cc: "Mark Struberg"<st...@yahoo.de>
>>>>> Date: Monday, April 11, 2011, 4:27 PM
>>>>> 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));
>>>>>
>>>>> http://www.h2database.com/html/performance.html#application_profiling
>>>>>
>>>>> For my own use, I've pulled out the three relevant classes
>>>>> and removed
>>>>> the unnecessary methods if you don't want to grab the
>>>>> entire package,
>>>>> although that's really trivial to do as well.
>>>>> It's about 350 lines
>>>>> of code total.
>>>>>
>>>>> On Mon, Apr 11, 2011 at 12:12 PM, Mark Struberg<st...@yahoo.de>
>>>>> wrote:
>>>>>
>>>>>> 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<mh...@googlemail.com>
>>>>>>
>>>>> wrote:
>>>>>
>>>>>> From: Michael Heinen<mh...@googlemail.com>
>>>>>>> Subject: Re: JSF application very slow with HTTPS
>>>>>>> To: "MyFaces Discussion"<us...@myfaces.apache.org>
>>>>>>> Date: Monday, April 11, 2011, 3:45 PM
>>>>>>> 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 also not by
>>>>>>>
>>>>>> JSF or
>>>>>
>>>>>> Tomcat of course.
>>>>>>> There should be a little overhead for additional
>>>>>>> handshaking, but not
>>>>>>> for the rendering!
>>>>>>> Could this be caused by a buffering whereever?
>>>>>>>
>>>>>>> Mark (or anybody else), did you compare your app
>>>>>>>
>>>>>> with http
>>>>>
>>>>>> and https?
>>>>>>> Just wondering whether this is a problem only in
>>>>>>>
>>>>>> my app.
>>>>>
>>>>>> Regards,
>>>>>>> Michael
>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> Am 11.04.2011 17:27, schrieb Mark Struberg:
>>>>>>>
>>>>>>>> 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 bean but directly goes into the database?
>>>>>>>
>>>>>> Something
>>>>>
>>>>>> in this direction...
>>>>>>>
>>>>>>>> LieGrue,
>>>>>>>> strub
>>>>>>>>
>>>>>>>> --- On Mon, 4/11/11, Mike Kienenberger<mk...@gmail.com>
>>>>>>>>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> From: Mike Kienenberger<mk...@gmail.com>
>>>>>>>>> Subject: Re: JSF application very slow
>>>>>>>>>
>>>>>>>> with HTTPS
>>>>>
>>>>>> To: "MyFaces Discussion"<us...@myfaces.apache.org>
>>>>>>>>> Cc: "Michael Heinen"<mh...@googlemail.com>
>>>>>>>>> Date: Monday, April 11, 2011, 2:20 PM
>>>>>>>>> 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<mh...@googlemail.com>
>>>>>>>
>>>>>>>> wrote:
>>>>>>>>>
>>>>>>>>>> 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 HTTP: 1 sec
>>>>>>>>>> -- local access with HTTPS: 15-16
>>>>>>>>>>
>>>>>>>>> sec
>>>>>
>>>>>> Other pages are factor 2-4 slower,
>>>>>>>>>>
>>>>>>>>> with or
>>>>>
>>>>>> without
>>>>>>>
>>>>>>>> ajax.
>>>>>>>>>
>>>>>>>>>> The time is spent in
>>>>>>>>>>
>>>>>>>>> htmlTableRenderer.encodeInnerHtml. Data
>>>>>>>>>
>>>>>>>> is of
>>>>>
>>>>>> course
>>>>>>>
>>>>>>>> available, there is no additional
>>>>>>>>>>
>>>>>>>>> backend
>>>>>
>>>>>> access.
>>>>>>>
>>>>>>>> The simple download of xhtml files or
>>>>>>>>>>
>>>>>>>>> other
>>>>>
>>>>>> files is
>>>>>>>
>>>>>>>> NOT (noticeable)
>>>>>>>>>
>>>>>>>>>> slower.
>>>>>>>>>> Other non JSF applications running on
>>>>>>>>>>
>>>>>>>>> the same
>>>>>
>>>>>> servers
>>>>>>>
>>>>>>>> are also not slower
>>>>>>>>>
>>>>>>>>>> with HTTPS.
>>>>>>>>>>
>>>>>>>>>> Before I start profiling:
>>>>>>>>>> - Does anybody have an idea where I
>>>>>>>>>>
>>>>>>>>> should
>>>>>
>>>>>> look at?
>>>>>>>
>>>>>>>> - Are there any known JSF or webApp
>>>>>>>>>>
>>>>>>>>> settings
>>>>>
>>>>>> that
>>>>>>>
>>>>>>>> influence https
>>>>>>>>>
>>>>>>>>>> performance?
>>>>>>>>>>
>>>>>>>>>> Environment:
>>>>>>>>>> Facelets
>>>>>>>>>> myFaces 1.2.9
>>>>>>>>>> tomahawk12_1.1.10
>>>>>>>>>> richfaces 3.3.3
>>>>>>>>>> tomcat 6.0.29
>>>>>>>>>> jdk 1.6.0_23
>>>>>>>>>>
>>>>>>>>>> Regards,
>>>>>>>>>> Michael
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>
>
Re: JSF application very slow with HTTPS
Posted by Michael Heinen <mh...@googlemail.com>.
Thanks Bernd for pointing to this.
I tried to profile the single request with yourKit.
I found some method calls that look strange to me. Note the millis are
much larger due to additional profiling costs): The whole request took
now around 100 seconds with tracing.
- org.apache.catalina.connector.Request.isSSLAttribute(String) is called
205.000 times but it took only 671 ms (own time 499ms)
- some methods like
com.sun.net.ssl.internal.ssl.SSLSessionImpl.getPeerCertificates() or -
com.sun.net.ssl.internal.ssl.SSLSessionImpl.hashCode() are called 95.000
times (own time 2300ms)
- getPeerCertificates is also called from
RequestCacade.getAttributeNames as in the mentioned bug report.
- org.apache.catalina.util.Enumerator.<init>(Iterator, boolean) has 10
seconds own time!
- around 95000 javax.net.ssl.SSLPeerUnverifiedExceptions are thrown.
I tested this locally with a certificate created via java keytool.
Next I'll test with a real certificate
Michael
Am 12.04.2011 09:53, schrieb Bernd Bohmann:
> Hello,
>
> maybe it is a richfaces issue see:
>
> https://issues.apache.org/jira/browse/MYFACES-2823
>
> Regards
>
> Bernd
>
> On Mon, Apr 11, 2011 at 6:42 PM, Mike Kienenberger<mk...@gmail.com> wrote:
>> 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, nor "evaluate"
>> it or buy it or any of the other "serious" profilers.
>>
>> If you've already got a profiler installed and are familiar with it,
>> go with that. :) This is a quick-and-dirty solution that's often
>> worked for me. I've got the eclipse profiler installed, and I've had
>> YourKit installed before, but this is often the simplest path for me.
>>
>> You can have the results back from this in the time it takes to 1)
>> download the h2database jar and drop it into your project, 2) change
>> the code, 3) recompile the app, 4) run it.
>>
>> On Mon, Apr 11, 2011 at 12:31 PM, Mark Struberg<st...@yahoo.de> wrote:
>>> 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<mk...@gmail.com> wrote:
>>>
>>>> From: Mike Kienenberger<mk...@gmail.com>
>>>> Subject: Re: JSF application very slow with HTTPS
>>>> To: "MyFaces Discussion"<us...@myfaces.apache.org>
>>>> Cc: "Mark Struberg"<st...@yahoo.de>
>>>> Date: Monday, April 11, 2011, 4:27 PM
>>>> 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));
>>>>
>>>> http://www.h2database.com/html/performance.html#application_profiling
>>>>
>>>> For my own use, I've pulled out the three relevant classes
>>>> and removed
>>>> the unnecessary methods if you don't want to grab the
>>>> entire package,
>>>> although that's really trivial to do as well.
>>>> It's about 350 lines
>>>> of code total.
>>>>
>>>> On Mon, Apr 11, 2011 at 12:12 PM, Mark Struberg<st...@yahoo.de>
>>>> wrote:
>>>>> 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<mh...@googlemail.com>
>>>> wrote:
>>>>>> From: Michael Heinen<mh...@googlemail.com>
>>>>>> Subject: Re: JSF application very slow with HTTPS
>>>>>> To: "MyFaces Discussion"<us...@myfaces.apache.org>
>>>>>> Date: Monday, April 11, 2011, 3:45 PM
>>>>>> 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 also not by
>>>> JSF or
>>>>>> Tomcat of course.
>>>>>> There should be a little overhead for additional
>>>>>> handshaking, but not
>>>>>> for the rendering!
>>>>>> Could this be caused by a buffering whereever?
>>>>>>
>>>>>> Mark (or anybody else), did you compare your app
>>>> with http
>>>>>> and https?
>>>>>> Just wondering whether this is a problem only in
>>>> my app.
>>>>>> Regards,
>>>>>> Michael
>>>>>>
>>>>>>
>>>>>>
>>>>>> Am 11.04.2011 17:27, schrieb Mark Struberg:
>>>>>>> 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 bean but directly goes into the database?
>>>> Something
>>>>>> in this direction...
>>>>>>> LieGrue,
>>>>>>> strub
>>>>>>>
>>>>>>> --- On Mon, 4/11/11, Mike Kienenberger<mk...@gmail.com>
>>>>>> wrote:
>>>>>>>> From: Mike Kienenberger<mk...@gmail.com>
>>>>>>>> Subject: Re: JSF application very slow
>>>> with HTTPS
>>>>>>>> To: "MyFaces Discussion"<us...@myfaces.apache.org>
>>>>>>>> Cc: "Michael Heinen"<mh...@googlemail.com>
>>>>>>>> Date: Monday, April 11, 2011, 2:20 PM
>>>>>>>> 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<mh...@googlemail.com>
>>>>>>>> wrote:
>>>>>>>>> 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 HTTP: 1 sec
>>>>>>>>> -- local access with HTTPS: 15-16
>>>> sec
>>>>>>>>> Other pages are factor 2-4 slower,
>>>> with or
>>>>>> without
>>>>>>>> ajax.
>>>>>>>>> The time is spent in
>>>>>>>> htmlTableRenderer.encodeInnerHtml. Data
>>>> is of
>>>>>> course
>>>>>>>>> available, there is no additional
>>>> backend
>>>>>> access.
>>>>>>>>> The simple download of xhtml files or
>>>> other
>>>>>> files is
>>>>>>>> NOT (noticeable)
>>>>>>>>> slower.
>>>>>>>>> Other non JSF applications running on
>>>> the same
>>>>>> servers
>>>>>>>> are also not slower
>>>>>>>>> with HTTPS.
>>>>>>>>>
>>>>>>>>> Before I start profiling:
>>>>>>>>> - Does anybody have an idea where I
>>>> should
>>>>>> look at?
>>>>>>>>> - Are there any known JSF or webApp
>>>> settings
>>>>>> that
>>>>>>>> influence https
>>>>>>>>> performance?
>>>>>>>>>
>>>>>>>>> Environment:
>>>>>>>>> Facelets
>>>>>>>>> myFaces 1.2.9
>>>>>>>>> tomahawk12_1.1.10
>>>>>>>>> richfaces 3.3.3
>>>>>>>>> tomcat 6.0.29
>>>>>>>>> jdk 1.6.0_23
>>>>>>>>>
>>>>>>>>> Regards,
>>>>>>>>> Michael
>>>>>>>>>
>>>>>>
Re: JSF application very slow with HTTPS
Posted by Bernd Bohmann <be...@atanion.com>.
Hello,
maybe it is a richfaces issue see:
https://issues.apache.org/jira/browse/MYFACES-2823
Regards
Bernd
On Mon, Apr 11, 2011 at 6:42 PM, Mike Kienenberger <mk...@gmail.com> wrote:
> 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, nor "evaluate"
> it or buy it or any of the other "serious" profilers.
>
> If you've already got a profiler installed and are familiar with it,
> go with that. :) This is a quick-and-dirty solution that's often
> worked for me. I've got the eclipse profiler installed, and I've had
> YourKit installed before, but this is often the simplest path for me.
>
> You can have the results back from this in the time it takes to 1)
> download the h2database jar and drop it into your project, 2) change
> the code, 3) recompile the app, 4) run it.
>
> On Mon, Apr 11, 2011 at 12:31 PM, Mark Struberg <st...@yahoo.de> wrote:
>> 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 <mk...@gmail.com> wrote:
>>
>>> From: Mike Kienenberger <mk...@gmail.com>
>>> Subject: Re: JSF application very slow with HTTPS
>>> To: "MyFaces Discussion" <us...@myfaces.apache.org>
>>> Cc: "Mark Struberg" <st...@yahoo.de>
>>> Date: Monday, April 11, 2011, 4:27 PM
>>> 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));
>>>
>>> http://www.h2database.com/html/performance.html#application_profiling
>>>
>>> For my own use, I've pulled out the three relevant classes
>>> and removed
>>> the unnecessary methods if you don't want to grab the
>>> entire package,
>>> although that's really trivial to do as well.
>>> It's about 350 lines
>>> of code total.
>>>
>>> On Mon, Apr 11, 2011 at 12:12 PM, Mark Struberg <st...@yahoo.de>
>>> wrote:
>>> > 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 <mh...@googlemail.com>
>>> wrote:
>>> >
>>> >> From: Michael Heinen <mh...@googlemail.com>
>>> >> Subject: Re: JSF application very slow with HTTPS
>>> >> To: "MyFaces Discussion" <us...@myfaces.apache.org>
>>> >> Date: Monday, April 11, 2011, 3:45 PM
>>> >> 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 also not by
>>> JSF or
>>> >> Tomcat of course.
>>> >> There should be a little overhead for additional
>>> >> handshaking, but not
>>> >> for the rendering!
>>> >> Could this be caused by a buffering whereever?
>>> >>
>>> >> Mark (or anybody else), did you compare your app
>>> with http
>>> >> and https?
>>> >> Just wondering whether this is a problem only in
>>> my app.
>>> >>
>>> >> Regards,
>>> >> Michael
>>> >>
>>> >>
>>> >>
>>> >> Am 11.04.2011 17:27, schrieb Mark Struberg:
>>> >> > 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 bean but directly goes into the database?
>>> Something
>>> >> in this direction...
>>> >> >
>>> >> > LieGrue,
>>> >> > strub
>>> >> >
>>> >> > --- On Mon, 4/11/11, Mike Kienenberger<mk...@gmail.com>
>>> >> wrote:
>>> >> >
>>> >> >> From: Mike Kienenberger<mk...@gmail.com>
>>> >> >> Subject: Re: JSF application very slow
>>> with HTTPS
>>> >> >> To: "MyFaces Discussion"<us...@myfaces.apache.org>
>>> >> >> Cc: "Michael Heinen"<mh...@googlemail.com>
>>> >> >> Date: Monday, April 11, 2011, 2:20 PM
>>> >> >> 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<mh...@googlemail.com>
>>> >> >> wrote:
>>> >> >>> 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 HTTP: 1 sec
>>> >> >>> -- local access with HTTPS: 15-16
>>> sec
>>> >> >>>
>>> >> >>> Other pages are factor 2-4 slower,
>>> with or
>>> >> without
>>> >> >> ajax.
>>> >> >>> The time is spent in
>>> >> >> htmlTableRenderer.encodeInnerHtml. Data
>>> is of
>>> >> course
>>> >> >>> available, there is no additional
>>> backend
>>> >> access.
>>> >> >>>
>>> >> >>> The simple download of xhtml files or
>>> other
>>> >> files is
>>> >> >> NOT (noticeable)
>>> >> >>> slower.
>>> >> >>> Other non JSF applications running on
>>> the same
>>> >> servers
>>> >> >> are also not slower
>>> >> >>> with HTTPS.
>>> >> >>>
>>> >> >>> Before I start profiling:
>>> >> >>> - Does anybody have an idea where I
>>> should
>>> >> look at?
>>> >> >>> - Are there any known JSF or webApp
>>> settings
>>> >> that
>>> >> >> influence https
>>> >> >>> performance?
>>> >> >>>
>>> >> >>> Environment:
>>> >> >>> Facelets
>>> >> >>> myFaces 1.2.9
>>> >> >>> tomahawk12_1.1.10
>>> >> >>> richfaces 3.3.3
>>> >> >>> tomcat 6.0.29
>>> >> >>> jdk 1.6.0_23
>>> >> >>>
>>> >> >>> Regards,
>>> >> >>> Michael
>>> >> >>>
>>> >>
>>> >>
>>> >
>>>
>>
>
Re: JSF application very slow with HTTPS
Posted by Mike Kienenberger <mk...@gmail.com>.
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, nor "evaluate"
it or buy it or any of the other "serious" profilers.
If you've already got a profiler installed and are familiar with it,
go with that. :) This is a quick-and-dirty solution that's often
worked for me. I've got the eclipse profiler installed, and I've had
YourKit installed before, but this is often the simplest path for me.
You can have the results back from this in the time it takes to 1)
download the h2database jar and drop it into your project, 2) change
the code, 3) recompile the app, 4) run it.
On Mon, Apr 11, 2011 at 12:31 PM, Mark Struberg <st...@yahoo.de> wrote:
> 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 <mk...@gmail.com> wrote:
>
>> From: Mike Kienenberger <mk...@gmail.com>
>> Subject: Re: JSF application very slow with HTTPS
>> To: "MyFaces Discussion" <us...@myfaces.apache.org>
>> Cc: "Mark Struberg" <st...@yahoo.de>
>> Date: Monday, April 11, 2011, 4:27 PM
>> 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));
>>
>> http://www.h2database.com/html/performance.html#application_profiling
>>
>> For my own use, I've pulled out the three relevant classes
>> and removed
>> the unnecessary methods if you don't want to grab the
>> entire package,
>> although that's really trivial to do as well.
>> It's about 350 lines
>> of code total.
>>
>> On Mon, Apr 11, 2011 at 12:12 PM, Mark Struberg <st...@yahoo.de>
>> wrote:
>> > 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 <mh...@googlemail.com>
>> wrote:
>> >
>> >> From: Michael Heinen <mh...@googlemail.com>
>> >> Subject: Re: JSF application very slow with HTTPS
>> >> To: "MyFaces Discussion" <us...@myfaces.apache.org>
>> >> Date: Monday, April 11, 2011, 3:45 PM
>> >> 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 also not by
>> JSF or
>> >> Tomcat of course.
>> >> There should be a little overhead for additional
>> >> handshaking, but not
>> >> for the rendering!
>> >> Could this be caused by a buffering whereever?
>> >>
>> >> Mark (or anybody else), did you compare your app
>> with http
>> >> and https?
>> >> Just wondering whether this is a problem only in
>> my app.
>> >>
>> >> Regards,
>> >> Michael
>> >>
>> >>
>> >>
>> >> Am 11.04.2011 17:27, schrieb Mark Struberg:
>> >> > 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 bean but directly goes into the database?
>> Something
>> >> in this direction...
>> >> >
>> >> > LieGrue,
>> >> > strub
>> >> >
>> >> > --- On Mon, 4/11/11, Mike Kienenberger<mk...@gmail.com>
>> >> wrote:
>> >> >
>> >> >> From: Mike Kienenberger<mk...@gmail.com>
>> >> >> Subject: Re: JSF application very slow
>> with HTTPS
>> >> >> To: "MyFaces Discussion"<us...@myfaces.apache.org>
>> >> >> Cc: "Michael Heinen"<mh...@googlemail.com>
>> >> >> Date: Monday, April 11, 2011, 2:20 PM
>> >> >> 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<mh...@googlemail.com>
>> >> >> wrote:
>> >> >>> 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 HTTP: 1 sec
>> >> >>> -- local access with HTTPS: 15-16
>> sec
>> >> >>>
>> >> >>> Other pages are factor 2-4 slower,
>> with or
>> >> without
>> >> >> ajax.
>> >> >>> The time is spent in
>> >> >> htmlTableRenderer.encodeInnerHtml. Data
>> is of
>> >> course
>> >> >>> available, there is no additional
>> backend
>> >> access.
>> >> >>>
>> >> >>> The simple download of xhtml files or
>> other
>> >> files is
>> >> >> NOT (noticeable)
>> >> >>> slower.
>> >> >>> Other non JSF applications running on
>> the same
>> >> servers
>> >> >> are also not slower
>> >> >>> with HTTPS.
>> >> >>>
>> >> >>> Before I start profiling:
>> >> >>> - Does anybody have an idea where I
>> should
>> >> look at?
>> >> >>> - Are there any known JSF or webApp
>> settings
>> >> that
>> >> >> influence https
>> >> >>> performance?
>> >> >>>
>> >> >>> Environment:
>> >> >>> Facelets
>> >> >>> myFaces 1.2.9
>> >> >>> tomahawk12_1.1.10
>> >> >>> richfaces 3.3.3
>> >> >>> tomcat 6.0.29
>> >> >>> jdk 1.6.0_23
>> >> >>>
>> >> >>> Regards,
>> >> >>> Michael
>> >> >>>
>> >>
>> >>
>> >
>>
>
Re: JSF application very slow with HTTPS
Posted by Mark Struberg <st...@yahoo.de>.
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 <mk...@gmail.com> wrote:
> From: Mike Kienenberger <mk...@gmail.com>
> Subject: Re: JSF application very slow with HTTPS
> To: "MyFaces Discussion" <us...@myfaces.apache.org>
> Cc: "Mark Struberg" <st...@yahoo.de>
> Date: Monday, April 11, 2011, 4:27 PM
> 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));
>
> http://www.h2database.com/html/performance.html#application_profiling
>
> For my own use, I've pulled out the three relevant classes
> and removed
> the unnecessary methods if you don't want to grab the
> entire package,
> although that's really trivial to do as well.
> It's about 350 lines
> of code total.
>
> On Mon, Apr 11, 2011 at 12:12 PM, Mark Struberg <st...@yahoo.de>
> wrote:
> > 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 <mh...@googlemail.com>
> wrote:
> >
> >> From: Michael Heinen <mh...@googlemail.com>
> >> Subject: Re: JSF application very slow with HTTPS
> >> To: "MyFaces Discussion" <us...@myfaces.apache.org>
> >> Date: Monday, April 11, 2011, 3:45 PM
> >> 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 also not by
> JSF or
> >> Tomcat of course.
> >> There should be a little overhead for additional
> >> handshaking, but not
> >> for the rendering!
> >> Could this be caused by a buffering whereever?
> >>
> >> Mark (or anybody else), did you compare your app
> with http
> >> and https?
> >> Just wondering whether this is a problem only in
> my app.
> >>
> >> Regards,
> >> Michael
> >>
> >>
> >>
> >> Am 11.04.2011 17:27, schrieb Mark Struberg:
> >> > 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 bean but directly goes into the database?
> Something
> >> in this direction...
> >> >
> >> > LieGrue,
> >> > strub
> >> >
> >> > --- On Mon, 4/11/11, Mike Kienenberger<mk...@gmail.com>
> >> wrote:
> >> >
> >> >> From: Mike Kienenberger<mk...@gmail.com>
> >> >> Subject: Re: JSF application very slow
> with HTTPS
> >> >> To: "MyFaces Discussion"<us...@myfaces.apache.org>
> >> >> Cc: "Michael Heinen"<mh...@googlemail.com>
> >> >> Date: Monday, April 11, 2011, 2:20 PM
> >> >> 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<mh...@googlemail.com>
> >> >> wrote:
> >> >>> 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 HTTP: 1 sec
> >> >>> -- local access with HTTPS: 15-16
> sec
> >> >>>
> >> >>> Other pages are factor 2-4 slower,
> with or
> >> without
> >> >> ajax.
> >> >>> The time is spent in
> >> >> htmlTableRenderer.encodeInnerHtml. Data
> is of
> >> course
> >> >>> available, there is no additional
> backend
> >> access.
> >> >>>
> >> >>> The simple download of xhtml files or
> other
> >> files is
> >> >> NOT (noticeable)
> >> >>> slower.
> >> >>> Other non JSF applications running on
> the same
> >> servers
> >> >> are also not slower
> >> >>> with HTTPS.
> >> >>>
> >> >>> Before I start profiling:
> >> >>> - Does anybody have an idea where I
> should
> >> look at?
> >> >>> - Are there any known JSF or webApp
> settings
> >> that
> >> >> influence https
> >> >>> performance?
> >> >>>
> >> >>> Environment:
> >> >>> Facelets
> >> >>> myFaces 1.2.9
> >> >>> tomahawk12_1.1.10
> >> >>> richfaces 3.3.3
> >> >>> tomcat 6.0.29
> >> >>> jdk 1.6.0_23
> >> >>>
> >> >>> Regards,
> >> >>> Michael
> >> >>>
> >>
> >>
> >
>
Re: JSF application very slow with HTTPS
Posted by Mike Kienenberger <mk...@gmail.com>.
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));
http://www.h2database.com/html/performance.html#application_profiling
For my own use, I've pulled out the three relevant classes and removed
the unnecessary methods if you don't want to grab the entire package,
although that's really trivial to do as well. It's about 350 lines
of code total.
On Mon, Apr 11, 2011 at 12:12 PM, Mark Struberg <st...@yahoo.de> wrote:
> 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 <mh...@googlemail.com> wrote:
>
>> From: Michael Heinen <mh...@googlemail.com>
>> Subject: Re: JSF application very slow with HTTPS
>> To: "MyFaces Discussion" <us...@myfaces.apache.org>
>> Date: Monday, April 11, 2011, 3:45 PM
>> 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 also not by JSF or
>> Tomcat of course.
>> There should be a little overhead for additional
>> handshaking, but not
>> for the rendering!
>> Could this be caused by a buffering whereever?
>>
>> Mark (or anybody else), did you compare your app with http
>> and https?
>> Just wondering whether this is a problem only in my app.
>>
>> Regards,
>> Michael
>>
>>
>>
>> Am 11.04.2011 17:27, schrieb Mark Struberg:
>> > 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 bean but directly goes into the database? Something
>> in this direction...
>> >
>> > LieGrue,
>> > strub
>> >
>> > --- On Mon, 4/11/11, Mike Kienenberger<mk...@gmail.com>
>> wrote:
>> >
>> >> From: Mike Kienenberger<mk...@gmail.com>
>> >> Subject: Re: JSF application very slow with HTTPS
>> >> To: "MyFaces Discussion"<us...@myfaces.apache.org>
>> >> Cc: "Michael Heinen"<mh...@googlemail.com>
>> >> Date: Monday, April 11, 2011, 2:20 PM
>> >> 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<mh...@googlemail.com>
>> >> wrote:
>> >>> 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 HTTP: 1 sec
>> >>> -- local access with HTTPS: 15-16 sec
>> >>>
>> >>> Other pages are factor 2-4 slower, with or
>> without
>> >> ajax.
>> >>> The time is spent in
>> >> htmlTableRenderer.encodeInnerHtml. Data is of
>> course
>> >>> available, there is no additional backend
>> access.
>> >>>
>> >>> The simple download of xhtml files or other
>> files is
>> >> NOT (noticeable)
>> >>> slower.
>> >>> Other non JSF applications running on the same
>> servers
>> >> are also not slower
>> >>> with HTTPS.
>> >>>
>> >>> Before I start profiling:
>> >>> - Does anybody have an idea where I should
>> look at?
>> >>> - Are there any known JSF or webApp settings
>> that
>> >> influence https
>> >>> performance?
>> >>>
>> >>> Environment:
>> >>> Facelets
>> >>> myFaces 1.2.9
>> >>> tomahawk12_1.1.10
>> >>> richfaces 3.3.3
>> >>> tomcat 6.0.29
>> >>> jdk 1.6.0_23
>> >>>
>> >>> Regards,
>> >>> Michael
>> >>>
>>
>>
>
Re: JSF application very slow with HTTPS
Posted by Mark Struberg <st...@yahoo.de>.
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 <mh...@googlemail.com> wrote:
> From: Michael Heinen <mh...@googlemail.com>
> Subject: Re: JSF application very slow with HTTPS
> To: "MyFaces Discussion" <us...@myfaces.apache.org>
> Date: Monday, April 11, 2011, 4:36 PM
> 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 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<mh...@googlemail.com>
> wrote:
> >
> >> From: Michael Heinen<mh...@googlemail.com>
> >> Subject: Re: JSF application very slow with HTTPS
> >> To: "MyFaces Discussion"<us...@myfaces.apache.org>
> >> Date: Monday, April 11, 2011, 3:45 PM
> >> 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 also not by
> JSF or
> >> Tomcat of course.
> >> There should be a little overhead for additional
> >> handshaking, but not
> >> for the rendering!
> >> Could this be caused by a buffering whereever?
> >>
> >> Mark (or anybody else), did you compare your app
> with http
> >> and https?
> >> Just wondering whether this is a problem only in
> my app.
> >>
> >> Regards,
> >> Michael
> >>
> >>
> >>
> >> Am 11.04.2011 17:27, schrieb Mark Struberg:
> >>> 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 bean but directly goes into the database?
> Something
> >> in this direction...
> >>> LieGrue,
> >>> strub
> >>>
> >>> --- On Mon, 4/11/11, Mike Kienenberger<mk...@gmail.com>
> >> wrote:
> >>>> From: Mike Kienenberger<mk...@gmail.com>
> >>>> Subject: Re: JSF application very slow
> with HTTPS
> >>>> To: "MyFaces Discussion"<us...@myfaces.apache.org>
> >>>> Cc: "Michael Heinen"<mh...@googlemail.com>
> >>>> Date: Monday, April 11, 2011, 2:20 PM
> >>>> 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<mh...@googlemail.com>
> >>>> wrote:
> >>>>> 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 HTTP:
> 1 sec
> >>>>> -- local access with HTTPS:
> 15-16 sec
> >>>>>
> >>>>> Other pages are factor 2-4 slower,
> with or
> >> without
> >>>> ajax.
> >>>>> The time is spent in
> >>>> htmlTableRenderer.encodeInnerHtml. Data is
> of
> >> course
> >>>>> available, there is no additional
> backend
> >> access.
> >>>>> The simple download of xhtml files or
> other
> >> files is
> >>>> NOT (noticeable)
> >>>>> slower.
> >>>>> Other non JSF applications running on
> the same
> >> servers
> >>>> are also not slower
> >>>>> with HTTPS.
> >>>>>
> >>>>> Before I start profiling:
> >>>>> - Does anybody have an idea where I
> should
> >> look at?
> >>>>> - Are there any known JSF or webApp
> settings
> >> that
> >>>> influence https
> >>>>> performance?
> >>>>>
> >>>>> Environment:
> >>>>> Facelets
> >>>>> myFaces 1.2.9
> >>>>>
> tomahawk12_1.1.10
> >>>>> richfaces
> 3.3.3
> >>>>> tomcat 6.0.29
> >>>>> jdk 1.6.0_23
> >>>>>
> >>>>> Regards,
> >>>>> Michael
> >>>>>
> >>
>
>
Re: JSF application very slow with HTTPS
Posted by Michael Heinen <mh...@googlemail.com>.
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 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<mh...@googlemail.com> wrote:
>
>> From: Michael Heinen<mh...@googlemail.com>
>> Subject: Re: JSF application very slow with HTTPS
>> To: "MyFaces Discussion"<us...@myfaces.apache.org>
>> Date: Monday, April 11, 2011, 3:45 PM
>> 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 also not by JSF or
>> Tomcat of course.
>> There should be a little overhead for additional
>> handshaking, but not
>> for the rendering!
>> Could this be caused by a buffering whereever?
>>
>> Mark (or anybody else), did you compare your app with http
>> and https?
>> Just wondering whether this is a problem only in my app.
>>
>> Regards,
>> Michael
>>
>>
>>
>> Am 11.04.2011 17:27, schrieb Mark Struberg:
>>> 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 bean but directly goes into the database? Something
>> in this direction...
>>> LieGrue,
>>> strub
>>>
>>> --- On Mon, 4/11/11, Mike Kienenberger<mk...@gmail.com>
>> wrote:
>>>> From: Mike Kienenberger<mk...@gmail.com>
>>>> Subject: Re: JSF application very slow with HTTPS
>>>> To: "MyFaces Discussion"<us...@myfaces.apache.org>
>>>> Cc: "Michael Heinen"<mh...@googlemail.com>
>>>> Date: Monday, April 11, 2011, 2:20 PM
>>>> 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<mh...@googlemail.com>
>>>> wrote:
>>>>> 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 HTTP: 1 sec
>>>>> -- local access with HTTPS: 15-16 sec
>>>>>
>>>>> Other pages are factor 2-4 slower, with or
>> without
>>>> ajax.
>>>>> The time is spent in
>>>> htmlTableRenderer.encodeInnerHtml. Data is of
>> course
>>>>> available, there is no additional backend
>> access.
>>>>> The simple download of xhtml files or other
>> files is
>>>> NOT (noticeable)
>>>>> slower.
>>>>> Other non JSF applications running on the same
>> servers
>>>> are also not slower
>>>>> with HTTPS.
>>>>>
>>>>> Before I start profiling:
>>>>> - Does anybody have an idea where I should
>> look at?
>>>>> - Are there any known JSF or webApp settings
>> that
>>>> influence https
>>>>> performance?
>>>>>
>>>>> Environment:
>>>>> Facelets
>>>>> myFaces 1.2.9
>>>>> tomahawk12_1.1.10
>>>>> richfaces 3.3.3
>>>>> tomcat 6.0.29
>>>>> jdk 1.6.0_23
>>>>>
>>>>> Regards,
>>>>> Michael
>>>>>
>>
Re: JSF application very slow with HTTPS
Posted by Mark Struberg <st...@yahoo.de>.
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 <mh...@googlemail.com> wrote:
> From: Michael Heinen <mh...@googlemail.com>
> Subject: Re: JSF application very slow with HTTPS
> To: "MyFaces Discussion" <us...@myfaces.apache.org>
> Date: Monday, April 11, 2011, 3:45 PM
> 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 also not by JSF or
> Tomcat of course.
> There should be a little overhead for additional
> handshaking, but not
> for the rendering!
> Could this be caused by a buffering whereever?
>
> Mark (or anybody else), did you compare your app with http
> and https?
> Just wondering whether this is a problem only in my app.
>
> Regards,
> Michael
>
>
>
> Am 11.04.2011 17:27, schrieb Mark Struberg:
> > 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 bean but directly goes into the database? Something
> in this direction...
> >
> > LieGrue,
> > strub
> >
> > --- On Mon, 4/11/11, Mike Kienenberger<mk...@gmail.com>
> wrote:
> >
> >> From: Mike Kienenberger<mk...@gmail.com>
> >> Subject: Re: JSF application very slow with HTTPS
> >> To: "MyFaces Discussion"<us...@myfaces.apache.org>
> >> Cc: "Michael Heinen"<mh...@googlemail.com>
> >> Date: Monday, April 11, 2011, 2:20 PM
> >> 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<mh...@googlemail.com>
> >> wrote:
> >>> 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 HTTP: 1 sec
> >>> -- local access with HTTPS: 15-16 sec
> >>>
> >>> Other pages are factor 2-4 slower, with or
> without
> >> ajax.
> >>> The time is spent in
> >> htmlTableRenderer.encodeInnerHtml. Data is of
> course
> >>> available, there is no additional backend
> access.
> >>>
> >>> The simple download of xhtml files or other
> files is
> >> NOT (noticeable)
> >>> slower.
> >>> Other non JSF applications running on the same
> servers
> >> are also not slower
> >>> with HTTPS.
> >>>
> >>> Before I start profiling:
> >>> - Does anybody have an idea where I should
> look at?
> >>> - Are there any known JSF or webApp settings
> that
> >> influence https
> >>> performance?
> >>>
> >>> Environment:
> >>> Facelets
> >>> myFaces 1.2.9
> >>> tomahawk12_1.1.10
> >>> richfaces 3.3.3
> >>> tomcat 6.0.29
> >>> jdk 1.6.0_23
> >>>
> >>> Regards,
> >>> Michael
> >>>
>
>
Re: JSF application very slow with HTTPS
Posted by Mark Struberg <st...@yahoo.de>.
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 of the performance problems with SSL comes from the initial SSL handshaking. If your environment is setup that this is being requested for every subsequent http request (java scripts, css files, images, ...) then it will really slow down your app heavily!
LieGrue,
strub
--- On Mon, 4/11/11, Michael Heinen <mh...@googlemail.com> wrote:
> From: Michael Heinen <mh...@googlemail.com>
> Subject: Re: JSF application very slow with HTTPS
> To: "MyFaces Discussion" <us...@myfaces.apache.org>
> Date: Monday, April 11, 2011, 3:45 PM
> 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 also not by JSF or
> Tomcat of course.
> There should be a little overhead for additional
> handshaking, but not
> for the rendering!
> Could this be caused by a buffering whereever?
>
> Mark (or anybody else), did you compare your app with http
> and https?
> Just wondering whether this is a problem only in my app.
>
> Regards,
> Michael
>
>
>
> Am 11.04.2011 17:27, schrieb Mark Struberg:
> > 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 bean but directly goes into the database? Something
> in this direction...
> >
> > LieGrue,
> > strub
> >
> > --- On Mon, 4/11/11, Mike Kienenberger<mk...@gmail.com>
> wrote:
> >
> >> From: Mike Kienenberger<mk...@gmail.com>
> >> Subject: Re: JSF application very slow with HTTPS
> >> To: "MyFaces Discussion"<us...@myfaces.apache.org>
> >> Cc: "Michael Heinen"<mh...@googlemail.com>
> >> Date: Monday, April 11, 2011, 2:20 PM
> >> 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<mh...@googlemail.com>
> >> wrote:
> >>> 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 HTTP: 1 sec
> >>> -- local access with HTTPS: 15-16 sec
> >>>
> >>> Other pages are factor 2-4 slower, with or
> without
> >> ajax.
> >>> The time is spent in
> >> htmlTableRenderer.encodeInnerHtml. Data is of
> course
> >>> available, there is no additional backend
> access.
> >>>
> >>> The simple download of xhtml files or other
> files is
> >> NOT (noticeable)
> >>> slower.
> >>> Other non JSF applications running on the same
> servers
> >> are also not slower
> >>> with HTTPS.
> >>>
> >>> Before I start profiling:
> >>> - Does anybody have an idea where I should
> look at?
> >>> - Are there any known JSF or webApp settings
> that
> >> influence https
> >>> performance?
> >>>
> >>> Environment:
> >>> Facelets
> >>> myFaces 1.2.9
> >>> tomahawk12_1.1.10
> >>> richfaces 3.3.3
> >>> tomcat 6.0.29
> >>> jdk 1.6.0_23
> >>>
> >>> Regards,
> >>> Michael
> >>>
>
>
Re: JSF application very slow with HTTPS
Posted by Michael Heinen <mh...@googlemail.com>.
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 also not by JSF or Tomcat of course.
There should be a little overhead for additional handshaking, but not
for the rendering!
Could this be caused by a buffering whereever?
Mark (or anybody else), did you compare your app with http and https?
Just wondering whether this is a problem only in my app.
Regards,
Michael
Am 11.04.2011 17:27, schrieb Mark Struberg:
> 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 bean but directly goes into the database? Something in this direction...
>
> LieGrue,
> strub
>
> --- On Mon, 4/11/11, Mike Kienenberger<mk...@gmail.com> wrote:
>
>> From: Mike Kienenberger<mk...@gmail.com>
>> Subject: Re: JSF application very slow with HTTPS
>> To: "MyFaces Discussion"<us...@myfaces.apache.org>
>> Cc: "Michael Heinen"<mh...@googlemail.com>
>> Date: Monday, April 11, 2011, 2:20 PM
>> 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<mh...@googlemail.com>
>> wrote:
>>> 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 HTTP: 1 sec
>>> -- local access with HTTPS: 15-16 sec
>>>
>>> Other pages are factor 2-4 slower, with or without
>> ajax.
>>> The time is spent in
>> htmlTableRenderer.encodeInnerHtml. Data is of course
>>> available, there is no additional backend access.
>>>
>>> The simple download of xhtml files or other files is
>> NOT (noticeable)
>>> slower.
>>> Other non JSF applications running on the same servers
>> are also not slower
>>> with HTTPS.
>>>
>>> Before I start profiling:
>>> - Does anybody have an idea where I should look at?
>>> - Are there any known JSF or webApp settings that
>> influence https
>>> performance?
>>>
>>> Environment:
>>> Facelets
>>> myFaces 1.2.9
>>> tomahawk12_1.1.10
>>> richfaces 3.3.3
>>> tomcat 6.0.29
>>> jdk 1.6.0_23
>>>
>>> Regards,
>>> Michael
>>>
Re: JSF application very slow with HTTPS
Posted by Mark Struberg <st...@yahoo.de>.
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 bean but directly goes into the database? Something in this direction...
LieGrue,
strub
--- On Mon, 4/11/11, Mike Kienenberger <mk...@gmail.com> wrote:
> From: Mike Kienenberger <mk...@gmail.com>
> Subject: Re: JSF application very slow with HTTPS
> To: "MyFaces Discussion" <us...@myfaces.apache.org>
> Cc: "Michael Heinen" <mh...@googlemail.com>
> Date: Monday, April 11, 2011, 2:20 PM
> 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 <mh...@googlemail.com>
> wrote:
> > 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 HTTP: 1 sec
> > -- local access with HTTPS: 15-16 sec
> >
> > Other pages are factor 2-4 slower, with or without
> ajax.
> > The time is spent in
> htmlTableRenderer.encodeInnerHtml. Data is of course
> > available, there is no additional backend access.
> >
> > The simple download of xhtml files or other files is
> NOT (noticeable)
> > slower.
> > Other non JSF applications running on the same servers
> are also not slower
> > with HTTPS.
> >
> > Before I start profiling:
> > - Does anybody have an idea where I should look at?
> > - Are there any known JSF or webApp settings that
> influence https
> > performance?
> >
> > Environment:
> > Facelets
> > myFaces 1.2.9
> > tomahawk12_1.1.10
> > richfaces 3.3.3
> > tomcat 6.0.29
> > jdk 1.6.0_23
> >
> > Regards,
> > Michael
> >
>
Re: JSF application very slow with HTTPS
Posted by Mark Struberg <st...@yahoo.de>.
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...
LieGrue,
strub
--- On Mon, 4/11/11, Mike Kienenberger <mk...@gmail.com> wrote:
> From: Mike Kienenberger <mk...@gmail.com>
> Subject: Re: JSF application very slow with HTTPS
> To: "MyFaces Discussion" <us...@myfaces.apache.org>
> Cc: "Michael Heinen" <mh...@googlemail.com>
> Date: Monday, April 11, 2011, 2:20 PM
> 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 <mh...@googlemail.com>
> wrote:
> > 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 HTTP: 1 sec
> > -- local access with HTTPS: 15-16 sec
> >
> > Other pages are factor 2-4 slower, with or without
> ajax.
> > The time is spent in
> htmlTableRenderer.encodeInnerHtml. Data is of course
> > available, there is no additional backend access.
> >
> > The simple download of xhtml files or other files is
> NOT (noticeable)
> > slower.
> > Other non JSF applications running on the same servers
> are also not slower
> > with HTTPS.
> >
> > Before I start profiling:
> > - Does anybody have an idea where I should look at?
> > - Are there any known JSF or webApp settings that
> influence https
> > performance?
> >
> > Environment:
> > Facelets
> > myFaces 1.2.9
> > tomahawk12_1.1.10
> > richfaces 3.3.3
> > tomcat 6.0.29
> > jdk 1.6.0_23
> >
> > Regards,
> > Michael
> >
>
Re: JSF application very slow with HTTPS
Posted by Mike Kienenberger <mk...@gmail.com>.
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 <mh...@googlemail.com> wrote:
> 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 HTTP: 1 sec
> -- local access with HTTPS: 15-16 sec
>
> Other pages are factor 2-4 slower, with or without ajax.
> The time is spent in htmlTableRenderer.encodeInnerHtml. Data is of course
> available, there is no additional backend access.
>
> The simple download of xhtml files or other files is NOT (noticeable)
> slower.
> Other non JSF applications running on the same servers are also not slower
> with HTTPS.
>
> Before I start profiling:
> - Does anybody have an idea where I should look at?
> - Are there any known JSF or webApp settings that influence https
> performance?
>
> Environment:
> Facelets
> myFaces 1.2.9
> tomahawk12_1.1.10
> richfaces 3.3.3
> tomcat 6.0.29
> jdk 1.6.0_23
>
> Regards,
> Michael
>
Re: JSF application very slow with HTTPS
Posted by Mark Struberg <st...@yahoo.de>.
I'm using jetty-6.1.22 for such things.
LieGrue,
strub
--- On Mon, 4/11/11, Michael Heinen <mh...@googlemail.com> wrote:
> From: Michael Heinen <mh...@googlemail.com>
> Subject: Re: JSF application very slow with HTTPS
> To: "MyFaces Discussion" <us...@myfaces.apache.org>
> Date: Monday, April 11, 2011, 1:53 PM
> 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 just tried to measure the times with jetty without
> success.
> Which jetty version do I have to use for myfaces 1.2?
> I tried several ones (7.3.x, 7.2.x, 7.1.X) but I get always
> EL errors
> with nested expressions which I do not get with Tomcat
> 6.0.X.
> I never used Jetty so far, can I put Tomcat's EL impl into
> jetty?
>
> Michael
>
>
> Am 11.04.2011 15:28, schrieb Adrian Mitev:
> > Have you turned on the page compression of your app
> server?
> >
> > 2011/4/11 Walter Mourão<wa...@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
> >> http://arcadian.com.br
> >> http://oriens.com.br
> >>
> >>
> >>
> >> On Mon, Apr 11, 2011 at 8:49 AM, Michael
> Heinen<mhn4dev@googlemail.com
> >>> wrote:
> >>> 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 HTTP: 1 sec
> >>> -- local access with HTTPS: 15-16 sec
> >>>
> >>> Other pages are factor 2-4 slower, with or
> without ajax.
> >>> The time is spent in
> htmlTableRenderer.encodeInnerHtml. Data is of course
> >>> available, there is no additional backend
> access.
> >>>
> >>> The simple download of xhtml files or other
> files is NOT (noticeable)
> >>> slower.
> >>> Other non JSF applications running on the same
> servers are also not
> >> slower
> >>> with HTTPS.
> >>>
> >>> Before I start profiling:
> >>> - Does anybody have an idea where I should
> look at?
> >>> - Are there any known JSF or webApp settings
> that influence https
> >>> performance?
> >>>
> >>> Environment:
> >>> Facelets
> >>> myFaces 1.2.9
> >>> tomahawk12_1.1.10
> >>> richfaces 3.3.3
> >>> tomcat 6.0.29
> >>> jdk 1.6.0_23
> >>>
> >>> Regards,
> >>> Michael
> >>>
> >
> >
>
>
Re: JSF application very slow with HTTPS
Posted by Michael Heinen <mh...@googlemail.com>.
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 just tried to measure the times with jetty without success.
Which jetty version do I have to use for myfaces 1.2?
I tried several ones (7.3.x, 7.2.x, 7.1.X) but I get always EL errors
with nested expressions which I do not get with Tomcat 6.0.X.
I never used Jetty so far, can I put Tomcat's EL impl into jetty?
Michael
Am 11.04.2011 15:28, schrieb Adrian Mitev:
> Have you turned on the page compression of your app server?
>
> 2011/4/11 Walter Mourão<wa...@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
>> http://arcadian.com.br
>> http://oriens.com.br
>>
>>
>>
>> On Mon, Apr 11, 2011 at 8:49 AM, Michael Heinen<mhn4dev@googlemail.com
>>> wrote:
>>> 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 HTTP: 1 sec
>>> -- local access with HTTPS: 15-16 sec
>>>
>>> Other pages are factor 2-4 slower, with or without ajax.
>>> The time is spent in htmlTableRenderer.encodeInnerHtml. Data is of course
>>> available, there is no additional backend access.
>>>
>>> The simple download of xhtml files or other files is NOT (noticeable)
>>> slower.
>>> Other non JSF applications running on the same servers are also not
>> slower
>>> with HTTPS.
>>>
>>> Before I start profiling:
>>> - Does anybody have an idea where I should look at?
>>> - Are there any known JSF or webApp settings that influence https
>>> performance?
>>>
>>> Environment:
>>> Facelets
>>> myFaces 1.2.9
>>> tomahawk12_1.1.10
>>> richfaces 3.3.3
>>> tomcat 6.0.29
>>> jdk 1.6.0_23
>>>
>>> Regards,
>>> Michael
>>>
>
>
Re: JSF application very slow with HTTPS
Posted by Adrian Mitev <ad...@googlemail.com>.
Have you turned on the page compression of your app server?
2011/4/11 Walter Mourão <wa...@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
> http://arcadian.com.br
> http://oriens.com.br
>
>
>
> On Mon, Apr 11, 2011 at 8:49 AM, Michael Heinen <mhn4dev@googlemail.com
> >wrote:
>
> > 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 HTTP: 1 sec
> > -- local access with HTTPS: 15-16 sec
> >
> > Other pages are factor 2-4 slower, with or without ajax.
> > The time is spent in htmlTableRenderer.encodeInnerHtml. Data is of course
> > available, there is no additional backend access.
> >
> > The simple download of xhtml files or other files is NOT (noticeable)
> > slower.
> > Other non JSF applications running on the same servers are also not
> slower
> > with HTTPS.
> >
> > Before I start profiling:
> > - Does anybody have an idea where I should look at?
> > - Are there any known JSF or webApp settings that influence https
> > performance?
> >
> > Environment:
> > Facelets
> > myFaces 1.2.9
> > tomahawk12_1.1.10
> > richfaces 3.3.3
> > tomcat 6.0.29
> > jdk 1.6.0_23
> >
> > Regards,
> > Michael
> >
>
--
Although nobody can come back and make a new start, anyone can start now and
make a new end
Re: JSF application very slow with HTTPS
Posted by Walter Mourão <wa...@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
http://arcadian.com.br
http://oriens.com.br
On Mon, Apr 11, 2011 at 8:49 AM, Michael Heinen <mh...@googlemail.com>wrote:
> 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 HTTP: 1 sec
> -- local access with HTTPS: 15-16 sec
>
> Other pages are factor 2-4 slower, with or without ajax.
> The time is spent in htmlTableRenderer.encodeInnerHtml. Data is of course
> available, there is no additional backend access.
>
> The simple download of xhtml files or other files is NOT (noticeable)
> slower.
> Other non JSF applications running on the same servers are also not slower
> with HTTPS.
>
> Before I start profiling:
> - Does anybody have an idea where I should look at?
> - Are there any known JSF or webApp settings that influence https
> performance?
>
> Environment:
> Facelets
> myFaces 1.2.9
> tomahawk12_1.1.10
> richfaces 3.3.3
> tomcat 6.0.29
> jdk 1.6.0_23
>
> Regards,
> Michael
>