Thanks for the pointer. I'll do more profiling and report back.

On Fri, Mar 28, 2008 at 12:18 PM, Christopher Cheng <
[EMAIL PROTECTED]> wrote:

> You could try to generate java codes using "
> org.apache.cxf.tools.wsdlto.WSDLToJava" with the following wsdl and see
> the
> performance.
>
>
> http://webservices.sabre.com/wsdl/sabreXML1.0.00/tpf/OTA_HotelAvailLLS1.5.1RQ.wsdl
>
> If it's jaxb that's causing the performance problem, which databinding in
> your opinion has the best performance?
>
>
> On Fri, Mar 28, 2008 at 11:26 PM, Benson Margulies <[EMAIL PROTECTED]>
> wrote:
>
> > Please supply some sort of test case. I've profiled extensively. I don't
> > believe that service caching, as discussed, would have any effect. The
> > current 2.1 code (as ported by Dan to 2.0.5) appears to be constrained
> by
> > the performance of JAXB, and I don't think we have a caching opportunity
> > there, though I would love to be wrong. Perhaps there's something about
> > your
> > services that use a lot more time in the service model code than the
> > sample
> > I've been profiling.
> >
> > On Fri, Mar 28, 2008 at 8:13 AM, Christopher Cheng <
> > [EMAIL PROTECTED]> wrote:
> >
> > > I just tried to rerun it with the snapshot 2.0.5. It is running about
> > 20%
> > > faster, but it still takes 3 seconds to build services.
> > > I hope that the service caching will be available soon so I can
> migrate
> > > the
> > > current axis-1.2 application to cxf
> > >
> > > On Thu, Mar 20, 2008 at 7:33 PM, Daniel Kulp <[EMAIL PROTECTED]> wrote:
> > >
> > > > On Thursday 20 March 2008, Christopher Cheng wrote:
> > > > > Looks like 2.0.5 is going to release soon, is this service caching
> > in
> > > > > 2.0.5?
> > > >
> > > > Yea.   The stuff that Benson has done is being ported to 2.0.x.
> > > >
> > > > That said, it's not the full service caching.   It's basically a
> bunch
> > > of
> > > > incremental improvements to the current algorithms, but it's
> > definitely
> > > > a big improvement.
> > > >
> > > > Dan
> > > >
> > > >
> > > > >
> > > > > On Wed, Mar 5, 2008 at 11:50 AM, Christopher Cheng <
> > > > >
> > > > > [EMAIL PROTECTED]> wrote:
> > > > > > Looking forward to have this in the next release 2.0.5 or 2.1 :)
> > > > > >
> > > > > > On Tue, Mar 4, 2008 at 11:55 PM, Daniel Kulp <[EMAIL PROTECTED]>
> > > > wrote:
> > > > > > > Willem,
> > > > > > >
> > > > > > > The issue is that they CAN be modified after that.   One
> popular
> > > > > > > modification is to grab the EndpointInfo out of it and change
> > the
> > > > > > > address.   Other things like adding interceptors to the
> > > > > > > BindingInfo, changing properties on the service (like to
> enable
> > > > > > > schema validation), etc... are all modifications that affect
> the
> > > > > > > servicemodel.
> > > > > > >
> > > > > > > Databinding is "less" of an issue, but still one.   For
> example,
> > > > > > > the databinding has an "mtomThreshold" and a namespaceMap that
> > can
> > > > > > > be set programatically.
> > > > > > >
> > > > > > > In both of those cases, a modification should only affect the
> > > > > > > proxy on which the modification is made.   Thus, the
> > servicemodel
> > > > > > > would need a full "clone", which may not be easy to do.   It's
> > > > > > > certainly a lot more code to add.
> > > > > > >
> > > > > > > That said, I don't think it's a bad idea at all.  On the
> > contrary,
> > > > > > > it's a
> > > > > > > good idea.   It's just a bit of work.
> > > > > > >
> > > > > > > Dan
> > > > > > >
> > > > > > > On Tuesday 04 March 2008, Willem Jiang wrote:
> > > > > > > > Hi Dan,
> > > > > > > >
> > > > > > > > I think we could cache the ServiceInfo object and
> DataBinding
> > > > > > > > object which will take lots of time to be created and can't
> be
> > > > > > > > modified after that. Any thought?
> > > > > > > >
> > > > > > > > Willem
> > > > > > > >
> > > > > > > > Daniel Kulp wrote:
> > > > > > > > > On Tuesday 04 March 2008, Christopher Cheng wrote:
> > > > > > > > >> I haven't read the codes of Axis, but I have been using
> it
> > > > > > > > >> for 2 years and it doesn't have this problem.
> > > > > > > > >> Having an overhead for 5-8 seconds is not an option for a
> > > > > > > > >> production system in term of performance
> > > > > > > > >>
> > > > > > > > >> What you are saying is that all the services must
> implement
> > > > > > > > >> Clonable interface?
> > > > > > > > >
> > > > > > > > > No, not the services themselves.   Just our interal
> service
> > > > > > > > > model stuff that holds all the metadata.  Basically, when
> > > > > > > > > creating a new service, we need to calculate the metadata.
> > > > > > > > > We should cache that if possible.
> > > > > > > > >
> > > > > > > > > Dan
> > > > > > > > >
> > > > > > > > >> On Tue, Mar 4, 2008 at 4:48 AM, Daniel Kulp
> > > > > > > > >> <[EMAIL PROTECTED]>
> > > > > > >
> > > > > > > wrote:
> > > > > > > > >>> Christopher,
> > > > > > > > >>>
> > > > > > > > >>> We cannot just "reuse" the Service model objects as they
> > are
> > > > > > > > >>> completely modifiable at runtime. For example, one proxy
> > > > > > > > >>> could be reconfigured with new address or have
> additional
> > > > > > > > >>> interceptors added or similar.  Those shouldn't affect
> > > > > > > > >>> others.
> > > > > > > > >>>
> > > > > > > > >>> On option that propably would make sense is to add a
> fast
> > > > > > > > >>> "clone" functionality to the entire service model so we
> > > > > > > > >>> could cache one, and then clone it whenever one is
> really
> > > > > > > > >>> needed.   All the individual versions could be modified
> > and
> > > > > > > > >>> not affect the original. However, doing that would be
> > quite
> > > > > > > > >>> a bit of work as there are a LOT of classes that would
> > need
> > > > > > > > >>> to be updated to support that.
> > > > > > > > >>>
> > > > > > > > >>> Patches towards that end would be great.   :-)
> > > > > > > > >>>
> > > > > > > > >>> Dan
> > > > > > > > >>>
> > > > > > > > >>> On Monday 03 March 2008, Christopher Cheng wrote:
> > > > > > > > >>>> wsdl is indeed cached in WSDLManagerImpl.definitionsMap
> > > > > > > > >>>>
> > > > > > > > >>>> After reading the codes, I have some questions. My
> > > > > > > > >>>> workstation is a PentiumD 3GHz with 1.5GB RAM
> > > > > > > > >>>>
> > > > > > > > >>>> In the class
> > > > > > > > >>>> "
> > org.apache.cxf.service.factory.ReflectionServiceFactoryBea
> > > > > > > > >>>>n.buil d Serv iceFromWSDL(String url)",
> > > > > > > > >>>> "setService(factory.create());" takes 3 seconds
> > > > > > > > >>>> "getDataBinding().initialize(getService());" takes 2
> > > > > > > > >>>> seconds
> > > > > > > > >>>>
> > > > > > > > >>>> These 2 methods are called even in 2nd calls. Can you
> > also
> > > > > > > > >>>> cache the services perhaps using jakarta commons-pool?
> or
> > > > > > > > >>>> eh-cache?
> > > > > > > > >>>>
> > > > > > > > >>>> By the way, I found that the wsdl is put into the
> > > > > > > > >>>> definitionMap twice if " WSDLManagerImpl.getDefinition
> > (URL
> > > > > > > > >>>> url)" is called. First in "getDefintion(URL url)" at
> line
> > > > > > > > >>>> 147 and second in "loadDefinition(String url)" at line
> > 201.
> > > > > > > > >>>>
> > > > > > > > >>>>
> > > > > > > > >>>> On Mon, Mar 3, 2008 at 4:22 PM, Christopher Cheng <
> > > > > > > > >>>>
> > > > > > > > >>>> [EMAIL PROTECTED]> wrote:
> > > > > > > > >>>>> wsdl is indeed cached in
> WSDLManagerImpl.definitionsMap
> > > > > > > > >>>>>
> > > > > > > > >>>>> After reading the codes, I have some questions. My
> > > > > > > > >>>>> workstation is a PentiumD 3GHz with 1.5GB RAM
> > > > > > > > >>>>>
> > > > > > > > >>>>> In the class "
> > > > > > > > >>>>>
> > org.apache.cxf.service.factory.ReflectionServiceFactoryBea
> > > > > > > > >>>>>n.buil dSer viceFromWSDL(String url)",
> > > > > > > > >>>>> "setService(factory.create());" takes 3 seconds
> > > > > > > > >>>>> "getDataBinding().initialize(getService());" takes 2
> > > > > > > > >>>>> seconds
> > > > > > > > >>>>>
> > > > > > > > >>>>> These 2 methods are called even in 2nd calls. Can you
> > also
> > > > > > > > >>>>> cache the services perhaps using jakarta commons-pool?
> > or
> > > > > > > > >>>>> eh-cache?
> > > > > > > > >>>>>
> > > > > > > > >>>>> By the way, I found that the wsdl is put into the
> > > > > > > > >>>>> definitionMap twice if " WSDLManagerImpl.getDefinition
> > (URL
> > > > > > > > >>>>> url)" is called. First in "getDefintion(URL url)" at
> > line
> > > > > > > > >>>>> 147 and second in "loadDefinition(String url)" at line
> > > > > > > > >>>>> 201.
> > > > > > > > >>>>>
> > > > > > > > >>>>>
> > > > > > > > >>>>>
> > > > > > > > >>>>> On Mon, Mar 3, 2008 at 9:43 AM, Willem Jiang
> > > > > > > > >>>>> <[EMAIL PROTECTED]>
> > > > > > > > >>>>>
> > > > > > > > >>>>> wrote:
> > > > > > > > >>>>>> Hi,
> > > > > > > > >>>>>>
> > > > > > > > >>>>>> I just went through the code, we really cache the
> WSDL
> > > > > > > > >>>>>> definition in CXF.
> > > > > > > > >>>>>> Could you send your test case and wsdl file to me ? I
> > may
> > > > > > > > >>>>>> need to trace it for more information.
> > > > > > > > >>>>>>
> > > > > > > > >>>>>> Regards,
> > > > > > > > >>>>>>
> > > > > > > > >>>>>> Willem
> > > > > > > > >>>>>>
> > > > > > > > >>>>>> Christopher Cheng wrote:
> > > > > > > > >>>>>>> I think the issue is still there. I used a for loop
> to
> > > > > > > > >>>>>>> execute the
> > > > > > > > >>>>>>
> > > > > > > > >>>>>> same
> > > > > > > > >>>>>>
> > > > > > > > >>>>>>> call, all takes approximately the same time to
> create
> > > > > > > > >>>>>>> service. I guess
> > > > > > > > >>>>>>
> > > > > > > > >>>>>> that
> > > > > > > > >>>>>>
> > > > > > > > >>>>>>> the service itself is not cached.
> > > > > > > > >>>>>>>
> > > > > > > > >>>>>>> On Sun, Mar 2, 2008 at 11:43 AM, Willem Jiang
> > > > > > > > >>>>>>> <[EMAIL PROTECTED]>
> > > > > > > > >>>>>>>
> > > > > > > > >>>>>>> wrote:
> > > > > > > > >>>>>>>> Here is the JIRA[1] which describe the same thing
> > that
> > > > > > > > >>>>>>>> you want. I don't know if it was really resolved,
> > could
> > > > > > > > >>>>>>>> you try the latest released CXF 2.0.4 for it.
> > > > > > > > >>>>>>>>
> > > > > > > > >>>>>>>> If the issue is still there, please let me know , I
> > > > > > > > >>>>>>>> will put it to my next week todo list.
> > > > > > > > >>>>>>>>
> > > > > > > > >>>>>>>> [1]https://issues.apache.org/jira/browse/CXF-699
> > > > > > > > >>>>>>>> [2]http://cwiki.apache.org/CXF/download.html
> > > > > > > > >>>>>>>>
> > > > > > > > >>>>>>>> Willem.
> > > > > > > > >>>>>>>>
> > > > > > > > >>>>>>>> Christopher Cheng wrote:
> > > > > > > > >>>>>>>>> I am migrating from Axis1.2 to CXF 2.0.3
> > > > > > > > >>>>>>>>>
> > > > > > > > >>>>>>>>> I understand that it will take a long time to
> build
> > > > > > > > >>>>>>>>> for the first
> > > > > > > > >>>>>>
> > > > > > > > >>>>>> time.
> > > > > > > > >>>>>>
> > > > > > > > >>>>>>>> What
> > > > > > > > >>>>>>>>
> > > > > > > > >>>>>>>>> I am wondering is that why it takes so long for
> the
> > > > > > > > >>>>>>>>> second and third
> > > > > > > > >>>>>>>>
> > > > > > > > >>>>>>>> time?
> > > > > > > > >>>>>>>>
> > > > > > > > >>>>>>>>> Is there any caching of services? Axis does not
> seem
> > > > > > > > >>>>>>>>> to have this
> > > > > > > > >>>>>>
> > > > > > > > >>>>>> issue.
> > > > > > > > >>>>>>
> > > > > > > > >>>>>>>>> Christopher Cheng wrote:
> > > > > > > > >>>>>>>>>> Attached is the log
> > > > > > > > >>>>>>>>>>
> > > > > > > > >>>>>>>>>> ----- Original Message -----
> > > > > > > > >>>>>>>>>> From: "Willem Jiang" <[EMAIL PROTECTED]>
> > > > > > > > >>>>>>>>>> To: <cxf-user@incubator.apache.org>
> > > > > > > > >>>>>>>>>> Sent: Saturday, March 01, 2008 8:53 PM
> > > > > > > > >>>>>>>>>> Subject: Re: service caching?
> > > > > > > > >>>>>>>>>>
> > > > > > > > >>>>>>>>>>> Hi
> > > > > > > > >>>>>>>>>>>
> > > > > > > > >>>>>>>>>>> Could you set the logger level to FINE ?
> > > > > > > > >>>>>>>>>>> So we can get more information about the service
> > > > > > > > >>>>>>>>>>> publishing.
> > > > > > > > >>>>>>>>>>>
> > > > > > > > >>>>>>>>>>> Willem.
> > > > > > > > >>>>>>>>>>>
> > > > > > > > >>>>>>>>>>> Christopher Cheng wrote:
> > > > > > > > >>>>>>>>>>>> When I call the service as a client, it takes 5
> > > > > > > > >>>>>>>>>>>> seconds to load.
> > > > > > > > >>>>>>
> > > > > > > > >>>>>> I am
> > > > > > > > >>>>>>
> > > > > > > > >>>>>>>>>>>> not
> > > > > > > > >>>>>>>>>>>> sure whether it takes 5 seconds to create the
> > > > > > > > >>>>>>>>>>>> service or it takes
> > > > > > > > >>>>>>
> > > > > > > > >>>>>> 5
> > > > > > > > >>>>>>
> > > > > > > > >>>>>>>>>>>> seconds
> > > > > > > > >>>>>>>>>>>> to look up for ciper filters. I am wondering if
> > the
> > > > > > > > >>>>>>>>>>>> services are cached...
> > > > > > > > >>>>>>>>>>>>  Feb 29, 2008 2:14:42 PM
> > > > > > > > >>>>>>>>>>>>
> > org.apache.cxf.service.factory.ReflectionServiceFac
> > > > > > > > >>>>>>>>>>>>tory Bean buildServiceFromWSDL
> > > > > > > > >>>>>>>>>>>> INFO: Creating Service
> > > > > > > > >>>>>>>>>>>> {
> > https://webservices.sabre.com/websvc}OTA_HotelAvai<https://webservices.sabre.com/websvc%7DOTA_HotelAvai>
> <https://webservices.sabre.com/websvc%7DOTA_HotelAvai>
> > <https://webservices.sabre.com/websvc%7DOTA_HotelAvai>
> > > <https://webservices.sabre.com/websvc%7DOTA_HotelAvai>
> > > > > > > > >>>>>>>>>>>>lSer<
> > https://webservices.sabre.com/websvc%7DOTA_Hote
> > > > > > > > >>>>>>>>>>>>lAvailSer>
> > > > > > > > >>>>>>>>>>>> vice<
> > https://webservices.sabre.com/websvc%7DOTA_Hot
> > > > > > > > >>>>>>>>>>>>elAva ilService>
> > > > > > > > >>>>>>>>>>>> <
> > https://webservices.sabre.com/websvc%7DOTA_HotelAv
> > > > > > > > >>>>>>>>>>>>ailS ervic e>
> > > > > > > > >>>>>>
> > > > > > > > >>>>>> <
> > https://webservices.sabre.com/websvc%7DOTA_HotelAvailSer
> > > > > > > > >>>>>>vice> from
> > > > > > > > >>>
> > > > > > > > >>> WSDL:
> > > > > > > > >>>>>>>>>>>> file:/C:/Java/abacus-webconnect-1.14.0.rc1
> > > > > > > > >>>>>>>>
> > > > > > > > >>>>>>>> /wsdl/OTA_HotelAvailLLS1.4.1RQ.wsdl
> > > > > > > > >>>>>>>>
> > > > > > > > >>>>>>>>>>>> Feb 29, 2008 2:14:47 PM
> > > > > > > > >>>>>>>>>>>> org.apache.cxf.transport.https.SSLUtils
> > > > > > > > >>>>>>>>>>>> getCiphersuites INFO: The cipher suites have
> not
> > > > > > > > >>>>>>>>>>>> been configured, falling back to
> > > > > > > > >>>>>>>>
> > > > > > > > >>>>>>>> cipher
> > > > > > > > >>>>>>>>
> > > > > > > > >>>>>>>>>>>> suite filters.
> > > > > > > > >>>>>>>>>>>> Feb 29, 2008 2:14:47 PM
> > > > > > > > >>>>>>>>>>>> org.apache.cxf.transport.https.SSLUtils
> > > > > > > > >>>>>>>>>>>> getCiphersFromList INFO: The cipher suites have
> > > > > > > > >>>>>>>>>>>> been set to
> > > > > > > > >>>>>>
> > > > > > > > >>>>>> SSL_RSA_WITH_RC4_128_MD5,
> > > > > > > > >>>>>>
> > > > > > > > >>>>>>>>>>>> SSL_RSA_WITH_RC4_128_SHA,
> > SSL_RSA_WITH_DES_CBC_SHA,
> > > > > > > > >>>>>>>>>>>> SSL_DHE_RSA_WITH_DES_CBC_SHA,
> > > > > > > > >>>>>>>>>>>> SSL_DHE_DSS_WITH_DES_CBC_SHA,
> > > > > > > > >>>>>>>>>>>> SSL_RSA_EXPORT_WITH_RC4_40_MD5,
> > > > > > > > >>>>>>
> > > > > > > > >>>>>> SSL_RSA_EXPORT_WITH_DES40_CBC_SHA,
> > > > > > > > >>>>>>
> > > > > > > > >>>>>>>>>>>> SSL_DHE_RSA_EXPORT_WITH_DES40_CBC_SHA,
> > > > > > > > >>>>>>>>>>>> SSL_DHE_DSS_EXPORT_WITH_DES40_CBC_SHA,
> > > > > > > > >>>>>>>>>>>> SSL_RSA_WITH_NULL_MD5, SSL_RSA_WITH_NULL_SHA,
> > > > > > > > >>>>>>>>>>>> SSL_DH_anon_WITH_RC4_128_MD5,
> > > > > > > > >>>>>>>>>>>> TLS_DH_anon_WITH_AES_128_CBC_SHA,
> > > > > > > > >>>>>>
> > > > > > > > >>>>>> SSL_DH_anon_WITH_3DES_EDE_CBC_SHA,
> > > > > > > > >>>>>>
> > > > > > > > >>>>>>>>>>>> SSL_DH_anon_WITH_DES_CBC_SHA,
> > > > > > > > >>>>>>>>>>>> SSL_DH_anon_EXPORT_WITH_RC4_40_MD5,
> > > > > > > > >>>>>>>>>>>> SSL_DH_anon_EXPORT_WITH_DES40_CBC_SHA,
> > > > > > > > >>>>>>>>>>>> TLS_KRB5_WITH_DES_CBC_SHA,
> > > > > > > > >>>>>>>>>>>> TLS_KRB5_WITH_DES_CBC_MD5,
> > > > > > > > >>>>>>>>>>>> TLS_KRB5_EXPORT_WITH_RC4_40_SHA,
> > > > > > > > >>>>>>>>>>>> TLS_KRB5_EXPORT_WITH_RC4_40_MD5,
> > > > > > > > >>>>>>
> > > > > > > > >>>>>> TLS_KRB5_EXPORT_WITH_DES_CBC_40_SHA,
> > > > > > > > >>>>>>
> > > > > > > > >>>>>>>>>>>> TLS_KRB5_EXPORT_WITH_DES_CBC_40_MD5.  Feb 29,
> > 2008
> > > > > > > > >>>>>>>>>>>> 2:14:48 PM
> > > > > > > > >>>>>>
> > > > > > > > >>>>>>
> > org.apache.cxf.interceptor.LoggingOutInterceptor$LoggingC
> > > > > > > > >>>>>>allba ckon Close
> > > > > > > > >>>>>>
> > > > > > > > >>>>>>>>>>>>  I have put this in my cxf.xml as in
> > > > > > > > >>>>>>>>>>>>
> > http://cwiki.apache.org/CXF20DOC/client-http-transp
> > > > > > > > >>>>>>>>>>>>ort. html , but
> > > > > > > > >>>>>>
> > > > > > > > >>>>>> it
> > > > > > > > >>>>>>
> > > > > > > > >>>>>>>>>>>> doesn't
> > > > > > > > >>>>>>>>>>>> help... <http:conduit name="*.http-conduit">
> > > > > > > > >>>>>>>>>>>>             <http:tlsClientParameters
> > > > > > > > >>>>>>>>>>>> secureSocketProtocol="SSL">
> > > > > > > > >>>>>>>>>>>> <sec:cipherSuitesFilter> <!-- these filters
> > ensure
> > > > > > > > >>>>>>>>>>>> that a ciphersuite with export-suitable or null
> > > > > > > > >>>>>>>>>>>> encryption is used, but exclude anonymous
> > > > > > > > >>>>>>>>>>>> Diffie-Hellman key change
> > > > > > > > >>>>>>
> > > > > > > > >>>>>> as
> > > > > > > > >>>>>>
> > > > > > > > >>>>>>>>>>>>                 this is vulnerable to
> > > > > > > > >>>>>>>>>>>> man-in-the-middle attacks
> > > > > > > > >>>>>>
> > > > > > > > >>>>>> -->
> > > > > > > > >>>>>>
> > > > > > > > >>>>>>>>>>>>
> > > > > > > > >>>>>>>>>>>> <sec:include>.*_EXPORT_.*</sec:include>
> > > > > > > > >>>>>>>>>>>>
> > > > > > > > >>>>>>>>>>>> <sec:include>.*_EXPORT1024_.*</sec:include>
> > > > > > > > >>>>>>>>>>>> <sec:include>.*_WITH_DES_.*</sec:include>
> > > > > > > > >>>>>>>>>>>> <sec:include>.*_WITH_NULL_.*</sec:include>
> > > > > > > > >>>>>>>>>>>> <sec:exclude>.*_DH_anon_.*</sec:exclude>
> > > > > > > > >>>>>>>>>>>> </sec:cipherSuitesFilter>
> > > > > > > > >>>>>>>>>>>>         </http:tlsClientParameters>
> > > > > > > > >>>>>>>>>>>> </http:conduit>
> > > > > > > > >>>>>>>>>>
> > > > > > > > >>>>>>>>>>  http://www.nabble.com/file/p15773252/cxf.log
> > cxf.log
> > > > > > > > >>>
> > > > > > > > >>> --
> > > > > > > > >>> J. Daniel Kulp
> > > > > > > > >>> Principal Engineer, IONA
> > > > > > > > >>> [EMAIL PROTECTED]
> > > > > > > > >>> http://www.dankulp.com/blog
> > > > > > >
> > > > > > > --
> > > > > > > J. Daniel Kulp
> > > > > > > Principal Engineer, IONA
> > > > > > > [EMAIL PROTECTED]
> > > > > > > http://www.dankulp.com/blog
> > > >
> > > >
> > > >
> > > > --
> > > > J. Daniel Kulp
> > > > Principal Engineer, IONA
> > > > [EMAIL PROTECTED]
> > > > http://www.dankulp.com/blog
> > > >
> > >
> >
>

Reply via email to