Performance of WLPS

What sort of performance are people seeing for WLPS?
I have tested the demo portal on a Wintel P500+256MB,
and a Sun E420R+1GB, and get response times for loading
the main page (after JSPs have been compiled) of four and two
seconds respectively. This seems slow to me.
Is anyone else seeing better performance?
Any tips on how to improve these numbers?
Peter Booth
[email protected]

Actually, I am now testing on a 128Mb P500, which means portions of the
Commerce Server must be paged to file, and am getting sub-second response
time....once the page is compiled! If the page has to compile, it will take
up to 10 seconds.
Do you have content cacheing on or off???
NT4.0 128 Mb
"Gervase Gallant" <[email protected]> wrote in message
news:397330fd$[email protected]..
Peter, this is interesting. Are you going against Cloudscape or Oracle? I
have been using Cloudscape on the local box and notice that response times
are reasonable, once the page compiles. However, on the 256Mb (NT 4.0?)
machine could be getting to the pagefile if you have many other services
running. I hope to complete some test on a similar configuration NT box
(256Mb P500) within the next day or so and will get back to you.
"Peter Booth" <[email protected]> wrote in message
news:396e60db$[email protected]..
What sort of performance are people seeing for WLPS?
I have tested the demo portal on a Wintel P500+256MB,
and a Sun E420R+1GB, and get response times for loading
the main page (after JSPs have been compiled) of four and two
seconds respectively. This seems slow to me.
Is anyone else seeing better performance?
Any tips on how to improve these numbers?
Peter Booth
[email protected]

Similar Messages

  • WLPS/WLCS 2.0.1: Performance tip

    Performace tip for WLCS 2.0.1 [User.getProperty() vs
    CachedProfileBean.getProperty()]:
    JSP programmers should take advantage of speedy user property
    retrieval from the local cache by using the "useCache=true"
    attribute with the JSP tags <um:getproperty> and <um:setproperty>
    (http://e-docs.bea.com/wlcs/p13ndev/jsptags.htm#1058056 ).
    If you are getting and setting user properties in a servlet then
    you should prefer the methods of
    com.beasys.commerce.user.jsp.beans.CachedProfileBean over
    com.beasys.commerce.axiom.contact.User so that you can take
    advantage of caching. Even on the first invocation of
    CachedProfileBean.getProperty() it is significantly faster than
    User.getProperty(). Subsequent invocations of
    CachedProfileBean.getProperty() are orders of magnitude faster. The
    CachedProfileBean is what the JSP tags use.
    A separate CachedProfileBean is instantiated for each user whose
    profile is to be manipulated. See the attached javadoc for the
    details of instantiating a CachedProfileBean for a
    com.beasys.commerce.axiom.contact.User versus a Unified User Profile
    (UUP) user of your own creation. If you want to use the
    CachedProfileBean in a clustered environment then you need to keep
    an instance in each user's session to make it cluster-aware. For
    example, if you want to set a user property then you should retrieve
    the CachedProfileBean from the user's HttpSession, use
    setProperty(), and return the CachedProfileBean to the session. Of
    course, when you get a property you should retrieve the
    CachedProfileBean from the user's session instead of instantiating a
    new one.
    If you use the CachedProfileBean in a t3 client or in a servlet
    deployed on a server that is not WLCS/WLPS then you will have to set
    the environment property "commerce.properties" to
    "weblogiccommerce.properties". The CachedProfileBean needs
    weblogiccommerce.properties to figure out where to do JNDI lookups.
    You can set this property on the command line when you start your t3
    client (or server) like this:
    java -Dcommerce.properties=weblogiccommerce.properties MyT3Client
    The CachedProfileBean was not javadoc'ed for the WLCS 2.0.1
    release. It was javadoc'ed for the WLCS 3.1.1 release, but changes
    were made between releases. The javadoc for the WLCS 2.0.1 release
    is attached.
    Thank you for using WebLogic.
    Ture Hoefner
    BEA Systems, Inc.
    2590 Pearl St.
    Suite 110
    Boulder, CO 80302
    www.bea.com
    [att1.html]
    [WLCS201_CachedProfileBean_javadoc.zip]

    Here's a follow-up related to User.setProperty( ) vs.
    CachedProfileBean.setProperty( ).
    To reiterate what Ture stated, CachedProfileBean is preferred over User
    because property values can be retrieved from the local cache. However,
    when setting properties, CachedProfileBean can be slower if you're doing a
    number of set statements in a row. Here's why.
    User is an entity bean. The CachedProfileBean lives in the session; it's
    purpose is to avoid using the User entity bean unless it has to (since
    entity beans generally mean poor performance).
    As the number of references to an entity bean grows, the risk of deadlock
    increases. For this reason, the CachedProfileBean doesn't have a reference
    to the user entity bean. The setProperty method of CachedProfileBean needs
    to first get a reference to the entity bean, then update the property. This
    is what can make it slower than User.setProperty( ). If the setInCache
    parameter is true, it will also set the value in the cache.
    We advise against using the User.setProperty( ) method, especially for
    highly shared entity beans, since deadlocks may occur. For example, avoid
    using User to set a property for a user that has a Group specified as a
    successor; Groups are highly shared entity beans, increasing the chance of
    deadlock.
    You generally should not mix User.setProperty( ) and
    CachedProfileBean.getProperty( ). Since User.setProperty( ) updates the
    database but not the cache, you may be left with a dirty cache.
    Our best advice is to stick with CachedProfileBean, but wrap all your set
    statements in a transaction (e.g., javax.transaction.UserTransaction).
    There are two benefits of this. First, all the sets will succeed or fail as
    a unit. Second, you'll see a performance gain since you're saving on
    database connections. If you have a large number of set statements in a
    row, you will see a significant performance increase if you wrap them in a
    transaction, since you're only using one database connection rather than one
    per set statement.
    - Ginny

  • Capacity planning (performance tuning of WLP 8.1 SP6 application)

    Hi Guys,
    I have one question regarding the performance tuning of the weblogic portal application (or may be any J2EE application for that matter) :
    I understand that there could be lot of performance bottleneck areas e.g
    (a) network issues (not enough bandwidth),
    (b) bottleneck because of the DBs,
    (c) application design/coding
    (d) JVM might not have been tuned as per the business requirement of the application
    (e) lack of clustering
    (f) hardware problems (CPUs, RAMs etc)
    Inorder to do the capacity planning for such an enterprise applications, what would be the best starting point?
    Is it a good idea to start and profile the application using some profiling tools like OptimizeIt or JProbe? and then analyze the profiling the data and conclusion can be drawn interms of what and where the major bottleneck is into the application and accordingly it can be worked upon.
    Or if there is any better and elegant way doing capacity planning?
    Thanks for your time.
    Regards
    Jameel

    Hi
    id say start with a load tool that simulates average/ peak behavior with varied inputs and exercise your site . then profile if necessary.
    Also start with the critical/most used portions of your site.
    Its difficult doing the above because unles your migrating noone really knows the expected usage of your site. And its hard for someone to specify acceptable response times.
    regards
    deepak

  • Performance problem when running a personalization rule

    We have a serious performance problem when running a personalization rule.
    The rule is defined like this:
    Definition
    Rule Type: Content
    Content Type: LoadedData
    Name: allAnnouncements
    Description: all announcements of types: announcement, deal, new release,
    tip of the day
    If the user has the following characteristics:
    And when:
    Then display content based on:
    (CONTENT.RessourceType == announcement) or (CONTENT.RessourceType == deal)
    or (CONTENT.RessourceType == new release) or (CONTENT.RessourceType == tip
    of the week)
    and CONTENT.endDate > now
    and CONTENT.startDate <= now
    END---------------------------------
    and is invoked in a JSP page like this:
    <%String customQuery = "(CONTENT.language='en') && (CONTENT.Country='nl'
    || CONTENT.Country='*' ) && (!(CONTENT.excludeIds like '*#7#*')) &&
    (CONTENT.userType ='retailer')"%>
    <pz:contentselector
    id="cdocs"
    ruleSet="jdbc://com.beasys.commerce.axiom.reasoning.rules.RuleSheetDefinitio
    nHome/b2boost"
    rule="allAnnouncements"
    sortBy="startDate DESC"
    query="<%=customQuery%>"
    contentHome="<%=ContentHelper.DEF_DOCUMENT_MANAGER_HOME%>" />
    The customQuery is constructed at runtime from user information, and cannot
    be constructed with rules
    administration interface.
    When I turn on debugging mode, I can see that the rule is parsed and a SQL
    query is generated, with the correct parameters.
    This is the generated query (with the substitutions):
    select
    WLCS_DOCUMENT.ID,
    WLCS_DOCUMENT.DOCUMENT_SIZE,
    WLCS_DOCUMENT.VERSION,
    WLCS_DOCUMENT.AUTHOR,
    WLCS_DOCUMENT.CREATION_DATE,
    WLCS_DOCUMENT.LOCKED_BY,
    WLCS_DOCUMENT.MODIFIED_DATE,
    WLCS_DOCUMENT.MODIFIED_BY,
    WLCS_DOCUMENT.DESCRIPTION,
    WLCS_DOCUMENT.COMMENTS,
    WLCS_DOCUMENT.MIME_TYPE
    FROM
    WLCS_DOCUMENT
    WHERE
    ((((WLCS_DOCUMENT.ID IN (
    SELECT
    WLCS_DOCUMENT_METADATA.ID
    FROM
    WLCS_DOCUMENT_METADATA
    WHERE
    WLCS_DOCUMENT_METADATA.ID = WLCS_DOCUMENT.ID
    AND WLCS_DOCUMENT_METADATA.NAME = 'RessourceType'
    AND WLCS_DOCUMENT_METADATA.VALUE = 'announcement'
    )) OR (WLCS_DOCUMENT.ID IN (
    SELECT
    WLCS_DOCUMENT_METADATA.ID
    FROM
    WLCS_DOCUMENT_METADATA
    WHERE
    WLCS_DOCUMENT_METADATA.ID = WLCS_DOCUMENT.ID
    AND WLCS_DOCUMENT_METADATA.NAME = 'RessourceType'
    AND WLCS_DOCUMENT_METADATA.VALUE = 'deal'
    )) OR (WLCS_DOCUMENT.ID IN (
    SELECT
    WLCS_DOCUMENT_METADATA.ID
    FROM
    WLCS_DOCUMENT_METADATA
    WHERE
    WLCS_DOCUMENT_METADATA.ID = WLCS_DOCUMENT.ID
    AND WLCS_DOCUMENT_METADATA.NAME = 'RessourceType'
    AND WLCS_DOCUMENT_METADATA.VALUE = 'new release'
    )) OR (WLCS_DOCUMENT.ID IN (
    SELECT
    WLCS_DOCUMENT_METADATA.ID
    FROM
    WLCS_DOCUMENT_METADATA
    WHERE
    WLCS_DOCUMENT_METADATA.ID = WLCS_DOCUMENT.ID
    AND WLCS_DOCUMENT_METADATA.NAME = ''
    AND WLCS_DOCUMENT_METADATA.VALUE = 'tip of the week'
    )) OR (WLCS_DOCUMENT.ID IN (
    SELECT
    WLCS_DOCUMENT_METADATA.ID
    FROM
    WLCS_DOCUMENT_METADATA
    WHERE
    WLCS_DOCUMENT_METADATA.ID = WLCS_DOCUMENT.ID
    AND WLCS_DOCUMENT_METADATA.NAME = 'RessourceType'
    AND WLCS_DOCUMENT_METADATA.VALUE = 'press release'
    AND (WLCS_DOCUMENT.ID IN (
    SELECT
    WLCS_DOCUMENT_METADATA.ID
    FROM
    WLCS_DOCUMENT_METADATA
    WHERE
    WLCS_DOCUMENT_METADATA.ID = WLCS_DOCUMENT.ID
    AND WLCS_DOCUMENT_METADATA.NAME = 'endDate'
    AND WLCS_DOCUMENT_METADATA.VALUE > '2001-10-22 15:53:14.768'
    AND (WLCS_DOCUMENT.ID IN (
    SELECT
    WLCS_DOCUMENT_METADATA.ID
    FROM
    WLCS_DOCUMENT_METADATA
    WHERE
    WLCS_DOCUMENT_METADATA.ID = WLCS_DOCUMENT.ID
    AND WLCS_DOCUMENT_METADATA.NAME = 'startDate'
    AND WLCS_DOCUMENT_METADATA.VALUE <= '2001-10-22 15:53:14.768'
    AND ((WLCS_DOCUMENT.ID IN (
    SELECT
    WLCS_DOCUMENT_METADATA.ID
    FROM
    WLCS_DOCUMENT_METADATA
    WHERE
    WLCS_DOCUMENT_METADATA.ID = WLCS_DOCUMENT.ID
    AND WLCS_DOCUMENT_METADATA.NAME = 'language'
    AND WLCS_DOCUMENT_METADATA.VALUE = 'en'
    AND ((WLCS_DOCUMENT.ID IN (
    SELECT
    WLCS_DOCUMENT_METADATA.ID
    FROM
    WLCS_DOCUMENT_METADATA
    WHERE
    WLCS_DOCUMENT_METADATA.ID = WLCS_DOCUMENT.ID
    AND WLCS_DOCUMENT_METADATA.NAME = 'Country'
    AND WLCS_DOCUMENT_METADATA.VALUE = 'nl'
    )) OR (WLCS_DOCUMENT.ID IN (
    SELECT
    WLCS_DOCUMENT_METADATA.ID
    FROM
    WLCS_DOCUMENT_METADATA
    WHERE
    WLCS_DOCUMENT_METADATA.ID = WLCS_DOCUMENT.ID
    AND WLCS_DOCUMENT_METADATA.NAME = 'Country'
    AND WLCS_DOCUMENT_METADATA.VALUE = '*'
    AND NOT (WLCS_DOCUMENT.ID IN (
    SELECT
    WLCS_DOCUMENT_METADATA.ID
    FROM
    WLCS_DOCUMENT_METADATA
    WHERE
    WLCS_DOCUMENT_METADATA.ID = WLCS_DOCUMENT.ID
    AND WLCS_DOCUMENT_METADATA.NAME = 'excludeIds'
    AND WLCS_DOCUMENT_METADATA.VALUE LIKE '%#7#%' ESCAPE '\'
    AND (WLCS_DOCUMENT.ID IN (
    SELECT
    WLCS_DOCUMENT_METADATA.ID
    FROM
    WLCS_DOCUMENT_METADATA
    WHERE
    WLCS_DOCUMENT_METADATA.ID = WLCS_DOCUMENT.ID
    AND WLCS_DOCUMENT_METADATA.NAME = 'userType'
    AND WLCS_DOCUMENT_METADATA.VALUE = 'retailer'
    At this moment, the server makes the user wait more than 10 min for the
    query to execute.
    This is what I found out about the problem:
    1)When I run the query on an Oracle SQL client (We are using Oracle 8.1.7.0)
    , it takes 5-10 seconds.
    2)If I remove the second term of (CONTENT.Country='nl' ||
    CONTENT.Country='*' ) in the custom query,
    thus retricting to CONTENT.Country='nl', the performance is OK.
    3)There are currently more or less 130 records in the DB that have
    Country='*'
    4)When I run the page on our QA server (solaris), which is at the same time
    our Oracle server,
    the response time is OK, but if I run it on our development server (W2K),
    response time is ridiculously long.
    5)The problem happens also if I add the term (CONTENT.Country='nl' ||
    CONTENT.Country='*' )
    to the rule definition, and I remove this part from the custom query.
    Am I missing something? Am I using the personalization server correctly?
    Is this performance difference between QA and DEV due to differences in the
    OS?
    Thank you,
    Luis Muñiz

    Luis,
    I think you are working through Support on this one, so hopefully you are in good
    shape.
    For others who are seeing this same performance issue with the reference CM implementation,
    there is a patch available via Support for the 3.2 and 3.5 releases that solves
    this problem.
    This issue is being tracked internally as CR060645 for WLPS 3.2 and CR055594 for
    WLPS 3.5.
    Regards,
    PJL
    "Luis Muniz" <[email protected]> wrote:
    We have a serious performance problem when running a personalization
    rule.
    The rule is defined like this:
    Definition
    Rule Type: Content
    Content Type: LoadedData
    Name: allAnnouncements
    Description: all announcements of types: announcement, deal, new release,
    tip of the day
    If the user has the following characteristics:
    And when:
    Then display content based on:
    (CONTENT.RessourceType == announcement) or (CONTENT.RessourceType ==
    deal)
    or (CONTENT.RessourceType == new release) or (CONTENT.RessourceType ==
    tip
    of the week)
    and CONTENT.endDate > now
    and CONTENT.startDate <= now
    END---------------------------------
    and is invoked in a JSP page like this:
    <%String customQuery = "(CONTENT.language='en') && (CONTENT.Country='nl'
    || CONTENT.Country='*' ) && (!(CONTENT.excludeIds like '*#7#*')) &&
    (CONTENT.userType ='retailer')"%>
    <pz:contentselector
    id="cdocs"
    ruleSet="jdbc://com.beasys.commerce.axiom.reasoning.rules.RuleSheetDefinitio
    nHome/b2boost"
    rule="allAnnouncements"
    sortBy="startDate DESC"
    query="<%=customQuery%>"
    contentHome="<%=ContentHelper.DEF_DOCUMENT_MANAGER_HOME%>" />
    The customQuery is constructed at runtime from user information, and
    cannot
    be constructed with rules
    administration interface.
    When I turn on debugging mode, I can see that the rule is parsed and
    a SQL
    query is generated, with the correct parameters.
    This is the generated query (with the substitutions):
    select
    WLCS_DOCUMENT.ID,
    WLCS_DOCUMENT.DOCUMENT_SIZE,
    WLCS_DOCUMENT.VERSION,
    WLCS_DOCUMENT.AUTHOR,
    WLCS_DOCUMENT.CREATION_DATE,
    WLCS_DOCUMENT.LOCKED_BY,
    WLCS_DOCUMENT.MODIFIED_DATE,
    WLCS_DOCUMENT.MODIFIED_BY,
    WLCS_DOCUMENT.DESCRIPTION,
    WLCS_DOCUMENT.COMMENTS,
    WLCS_DOCUMENT.MIME_TYPE
    FROM
    WLCS_DOCUMENT
    WHERE
    ((((WLCS_DOCUMENT.ID IN (
    SELECT
    WLCS_DOCUMENT_METADATA.ID
    FROM
    WLCS_DOCUMENT_METADATA
    WHERE
    WLCS_DOCUMENT_METADATA.ID = WLCS_DOCUMENT.ID
    AND WLCS_DOCUMENT_METADATA.NAME = 'RessourceType'
    AND WLCS_DOCUMENT_METADATA.VALUE = 'announcement'
    )) OR (WLCS_DOCUMENT.ID IN (
    SELECT
    WLCS_DOCUMENT_METADATA.ID
    FROM
    WLCS_DOCUMENT_METADATA
    WHERE
    WLCS_DOCUMENT_METADATA.ID = WLCS_DOCUMENT.ID
    AND WLCS_DOCUMENT_METADATA.NAME = 'RessourceType'
    AND WLCS_DOCUMENT_METADATA.VALUE = 'deal'
    )) OR (WLCS_DOCUMENT.ID IN (
    SELECT
    WLCS_DOCUMENT_METADATA.ID
    FROM
    WLCS_DOCUMENT_METADATA
    WHERE
    WLCS_DOCUMENT_METADATA.ID = WLCS_DOCUMENT.ID
    AND WLCS_DOCUMENT_METADATA.NAME = 'RessourceType'
    AND WLCS_DOCUMENT_METADATA.VALUE = 'new release'
    )) OR (WLCS_DOCUMENT.ID IN (
    SELECT
    WLCS_DOCUMENT_METADATA.ID
    FROM
    WLCS_DOCUMENT_METADATA
    WHERE
    WLCS_DOCUMENT_METADATA.ID = WLCS_DOCUMENT.ID
    AND WLCS_DOCUMENT_METADATA.NAME = ''
    AND WLCS_DOCUMENT_METADATA.VALUE = 'tip of the week'
    )) OR (WLCS_DOCUMENT.ID IN (
    SELECT
    WLCS_DOCUMENT_METADATA.ID
    FROM
    WLCS_DOCUMENT_METADATA
    WHERE
    WLCS_DOCUMENT_METADATA.ID = WLCS_DOCUMENT.ID
    AND WLCS_DOCUMENT_METADATA.NAME = 'RessourceType'
    AND WLCS_DOCUMENT_METADATA.VALUE = 'press release'
    AND (WLCS_DOCUMENT.ID IN (
    SELECT
    WLCS_DOCUMENT_METADATA.ID
    FROM
    WLCS_DOCUMENT_METADATA
    WHERE
    WLCS_DOCUMENT_METADATA.ID = WLCS_DOCUMENT.ID
    AND WLCS_DOCUMENT_METADATA.NAME = 'endDate'
    AND WLCS_DOCUMENT_METADATA.VALUE > '2001-10-22 15:53:14.768'
    AND (WLCS_DOCUMENT.ID IN (
    SELECT
    WLCS_DOCUMENT_METADATA.ID
    FROM
    WLCS_DOCUMENT_METADATA
    WHERE
    WLCS_DOCUMENT_METADATA.ID = WLCS_DOCUMENT.ID
    AND WLCS_DOCUMENT_METADATA.NAME = 'startDate'
    AND WLCS_DOCUMENT_METADATA.VALUE <= '2001-10-22 15:53:14.768'
    AND ((WLCS_DOCUMENT.ID IN (
    SELECT
    WLCS_DOCUMENT_METADATA.ID
    FROM
    WLCS_DOCUMENT_METADATA
    WHERE
    WLCS_DOCUMENT_METADATA.ID = WLCS_DOCUMENT.ID
    AND WLCS_DOCUMENT_METADATA.NAME = 'language'
    AND WLCS_DOCUMENT_METADATA.VALUE = 'en'
    AND ((WLCS_DOCUMENT.ID IN (
    SELECT
    WLCS_DOCUMENT_METADATA.ID
    FROM
    WLCS_DOCUMENT_METADATA
    WHERE
    WLCS_DOCUMENT_METADATA.ID = WLCS_DOCUMENT.ID
    AND WLCS_DOCUMENT_METADATA.NAME = 'Country'
    AND WLCS_DOCUMENT_METADATA.VALUE = 'nl'
    )) OR (WLCS_DOCUMENT.ID IN (
    SELECT
    WLCS_DOCUMENT_METADATA.ID
    FROM
    WLCS_DOCUMENT_METADATA
    WHERE
    WLCS_DOCUMENT_METADATA.ID = WLCS_DOCUMENT.ID
    AND WLCS_DOCUMENT_METADATA.NAME = 'Country'
    AND WLCS_DOCUMENT_METADATA.VALUE = '*'
    AND NOT (WLCS_DOCUMENT.ID IN (
    SELECT
    WLCS_DOCUMENT_METADATA.ID
    FROM
    WLCS_DOCUMENT_METADATA
    WHERE
    WLCS_DOCUMENT_METADATA.ID = WLCS_DOCUMENT.ID
    AND WLCS_DOCUMENT_METADATA.NAME = 'excludeIds'
    AND WLCS_DOCUMENT_METADATA.VALUE LIKE '%#7#%' ESCAPE '\'
    AND (WLCS_DOCUMENT.ID IN (
    SELECT
    WLCS_DOCUMENT_METADATA.ID
    FROM
    WLCS_DOCUMENT_METADATA
    WHERE
    WLCS_DOCUMENT_METADATA.ID = WLCS_DOCUMENT.ID
    AND WLCS_DOCUMENT_METADATA.NAME = 'userType'
    AND WLCS_DOCUMENT_METADATA.VALUE = 'retailer'
    At this moment, the server makes the user wait more than 10 min for the
    query to execute.
    This is what I found out about the problem:
    1)When I run the query on an Oracle SQL client (We are using Oracle 8.1.7.0)
    , it takes 5-10 seconds.
    2)If I remove the second term of (CONTENT.Country='nl' ||
    CONTENT.Country='*' ) in the custom query,
    thus retricting to CONTENT.Country='nl', the performance is OK.
    3)There are currently more or less 130 records in the DB that have
    Country='*'
    4)When I run the page on our QA server (solaris), which is at the same
    time
    our Oracle server,
    the response time is OK, but if I run it on our development server (W2K),
    response time is ridiculously long.
    5)The problem happens also if I add the term (CONTENT.Country='nl' ||
    CONTENT.Country='*' )
    to the rule definition, and I remove this part from the custom query.
    Am I missing something? Am I using the personalization server correctly?
    Is this performance difference between QA and DEV due to differences
    in the
    OS?
    Thank you,
    Luis Muñiz

  • Portal Commerce Templates in WLP 8.1?

    Hi;
    Just having a first look around the new WebLogic Platform 8.1, I wanted to
    understand the strategy for developing and deploying e-Commerce websites.
    It seems clear that it should be possible to host an existing WebLogic Portal
    7 SP2 e-Commerce templates based web-site in a new WebLogic Portal 8.1 compatibility
    domain.
    The WLP 7 commerce templates are based on deprecated WebFlow and Pipeline technology
    which is being superseded by PageFlow.
    Will BEA or a partner will be supplying a WLP 7 SP2 Commerce templates style functionality
    based on PageFlow technology for new developments?

    You can use the <wl:cache> tag
    (http://e-docs.bea.com/wls/docs81/jsp/customtags.html#56944) in jsps to
    cache dynamically generated JSP content.
    In other, java-based code you can use the com.bea.p13n.cache.Caches,
    which supports TTLs and external-flushing. See the WLP javadoc.
    Greg
    Manjit wrote:
    I'm looking to cache content in the portlet itself, something like:
    -The banner is cached indefinitely.
    -The headlines are cached for an hour.
    -The weather forecast is cached for six hours.
    -The weather map is cached for a day.
    -The highly-personalized section with the reader's name doesn't get cached at
    all.
    When a visitor requests a page, construct only those portlets that are not cached.
    Then, portal builds the complete page out of the newly constructed portlets and
    the cached portlets. On many complex sites, well over 90% of the page can be cached,
    leading to vastly superior performance over sites that have to reconstruct the
    entire page each time a visitor requests it.
    We are looking at a competing product that can do all this.
    Manjit
    "manjit" <[email protected]> wrote:
    Is it possible to cache contents displayed by Portlets? Pages? Books?
    especially
    in the web server from where they are served?

  • Landing Page performance improvement

    Hi All,
    In my project landing page there are 9 portlets are there. For all portlets we are getting contents from UCM using RIDC.
    Landing page is loding very slow, Page is waiting to complete 9 RIDC calls then only it is loding.
    Is there any solution to improve the performance. Pleaase advise.
    Thanks,
    Venkata Sarvabatla

    From [Understanding Portal Development|http://download-llnw.oracle.com/docs/cd/E13218_01/wlp/docs100/portals/intro_to_portal_dev.html] :
    h2. Asynchronous Rendering
    You can choose to have your portal rendered asynchronously. When you set this property, each component of your portal renders when its life cycle is complete, instead of waiting for the entire page or book to be ready for display. You can set this property on a portal (see [Setting Portal Component Properties|http://download-llnw.oracle.com/docs/cd/E13218_01/wlp/docs100/portals/develop_portals.html#wp1020316] ) or on a per portlet basis (see the [Portlet Development Guide|http://download-llnw.oracle.com/docs/cd/E13218_01/wlp/docs100/portlets/intro_to_dev.html#wp1008631] ).

  • Migrating from WLPS 3.2 to 4.0

    Hi,
    We are planning to migrate from WLPS 3.2 to WLPS 4.0. We have purchased licenses
    only for WLPS 4.0 not the the portal piece which is old seperately. We havent
    used any of the custom tags that BEA provides. It was a conscious decision that
    we made as we knew some of these tags may not be supported in future releases.
    Due to some bugs with the way multi valued properties are handled in 3.2 we had
    to write custom code to perform the tasks.
    We basically have custom code that makes direct calls to the UUP and to the Rules
    engine EJB. My question is, during our migration is it likely that we will encounter
    significant problems with our code, that makes calls to these EJB components?
    Have methods in these EJB's been deprecated? Have method signatures changed etc...?
    There was no mention of any changes in the migration docs. If indeed there have
    been changes, is it documented anywhere? If not what do we expect?
    Any information will be invaluable, and will help us through the migration.
    Thanks!

    Kapil,
    The products now come with a migration tool that can analyse your source
    code and warn you if you are using deprecated or removed APIs/features. It
    is hard to generalize from your comments but there have been significant
    improvements from 3.2 to 4.0. The migration tool attempts to make the
    transition as easy as possible (including performing simple API
    substitutions).
    Please don't hesitate to post back with specific questions or issues that
    you run into.
    Sincerely,
    Daniel Selman
    "Kapil Khanna" <[email protected]> wrote in message
    news:3c508bc5$[email protected]..
    >
    Hi,
    We are planning to migrate from WLPS 3.2 to WLPS 4.0. We have purchasedlicenses
    only for WLPS 4.0 not the the portal piece which is old seperately. Wehavent
    used any of the custom tags that BEA provides. It was a conscious decisionthat
    we made as we knew some of these tags may not be supported in futurereleases.
    Due to some bugs with the way multi valued properties are handled in 3.2we had
    to write custom code to perform the tasks.
    We basically have custom code that makes direct calls to the UUP and tothe Rules
    engine EJB. My question is, during our migration is it likely that we willencounter
    significant problems with our code, that makes calls to these EJBcomponents?
    Have methods in these EJB's been deprecated? Have method signatureschanged etc...?
    There was no mention of any changes in the migration docs. If indeed therehave
    been changes, is it documented anywhere? If not what do we expect?
    Any information will be invaluable, and will help us through themigration.
    Thanks!

  • Wlp and apache load balancing

    Hi,
              I have been trying to understand webloigc clustering and load balancing capabilities. I have been through the edocs but it does not explain how things work, instead they only emphasis on how to configure.
              Consider the following scenario:
              --------cisco firewall/load balancer------------
              apatche1 apache2 apache3
              -------------------firewall-------------------------
              WLP1 WLP2 WLP3 WLP4
              My questions are:
              (1) how apache servers load balance incoming requests amongst the four portal instances? I understand that it will use weblogic proxy plug-in. the httpd.config also should be configured to proxy requests to WLP instances by adding the corresponding address:prot entries for each instance, using WebLogicCluster keyword.
              (2) Weblogic cluster will have nothing to do with load balancing? The only benefit I get of configuring weblogic cluster is session replication, right?
              (3) even failover is going to be handled by apache servers?
              (4) if I need to use SSL and I need to have my SSL encryption/decryption to be done on WLP instances; apache servers will only forward requests, no encryption/decryption to be done on the web tier. Is this possible?
              See in WebSphere the edge component will handle the load balancing and through it I can assign load weights for each appserver instance.
              (5) Are there any best practice to implement load balancing and failover on weblogic portal?
              I appreciate any input in this regards.

    1. yes, configure the apache plugin. put your 4 servers in the WeblogicCluster property (host:port,host:port...). The proxy will round robin requests between the servers in the cluster, although sessions are pinned to a single server. So if a request with a session (jsessionid cookie) comes in, it will read the primary server from the cookie and route it to that server.
    note that we have had trouble with keep alives ON and load balancing. we had to turn keep alives off to get load balancing working.
    2. right, the cluster allows failover by replication. apache plugin will perform the failover.
    3. the plugin will keep a dynamic server list so if a server goes down, it will update the cluster list and not route to it. it will also retry requests on another server on an error or timeout connecting. you can tweak timeout settings like WLSocketTimeoutSecs and ConnectTimeoutSecs. and keep idempotent ON which allows failover, unless you aplpication can't handle this.

  • WLPS/WLCS 3.5 and Campaign Mananger 1.1 Ships!

    All,
    We recently put WLPS and WLCS 3.5 on the web. These new releases add new
    features and run on WLS 6.0 allowing you to use new WLS features, such as
    two-phase commit across different databases.
    http://www.bea.com/products/weblogic/commerce/whatsnew.shtml
    In addition we have completed a new product offering - the Campaign Manager.
    Campaign Manager is a Swing application that allows business users to create
    targeted, personalized campaigns for sites running WLPS or WLCS. You can
    define discounts, send emails, select personalized content, track
    advertisements, perform dynamic user segmentation etc. etc.
    http://www.bea.com/products/weblogic/campaign/index.shtml
    All without a single line of Java or JSP code. Just start up the WLPS or
    WLCS templates, boot-up the Campaign Manager and start clicking!
    There cool! Check 'em out - you can download all three here:
    http://commerce.beasys.com/downloads/commerce_servers.jsp#wlcs
    Sincerely,
    Daniel Selman

    We were using WLCS 3.2 and WLS 5.1 SP8 so far, we got a patch
    (patch_CR043462) from BEA in response to some bugs we reported ( BEA Support
    Case: 222714). This patch had some new classes (e.g.
    CommerceInputProcessorExtended, PipelineSessionExtended) and to use them we
    changed the code. The site is live now. I'm now trying to find the
    effort/feasibility of migrating to WLS 6 and WLCS3.5. But during the
    migration I found that the above patch is not shipped with WLCS 3.5. So my
    question is, can we use the old patch given to us with WLCS 3.5 or shouldn't
    it be part of the new WLCS 3.5 release ? What BEA suggests about this.
    Regards,
    Ajay Upadhyaya
    "Daniel Selman" <[email protected]> wrote in message
    news:3adf2542$[email protected]..
    All,
    We recently put WLPS and WLCS 3.5 on the web. These new releases add new
    features and run on WLS 6.0 allowing you to use new WLS features, such as
    two-phase commit across different databases.
    http://www.bea.com/products/weblogic/commerce/whatsnew.shtml
    In addition we have completed a new product offering - the CampaignManager.
    Campaign Manager is a Swing application that allows business users tocreate
    targeted, personalized campaigns for sites running WLPS or WLCS. You can
    define discounts, send emails, select personalized content, track
    advertisements, perform dynamic user segmentation etc. etc.
    http://www.bea.com/products/weblogic/campaign/index.shtml
    All without a single line of Java or JSP code. Just start up the WLPS or
    WLCS templates, boot-up the Campaign Manager and start clicking!
    There cool! Check 'em out - you can download all three here:
    http://commerce.beasys.com/downloads/commerce_servers.jsp#wlcs
    Sincerely,
    Daniel Selman

  • Hx_5 is undefined - WSRP: Consumer: WLP 10.2 Producer: Websphere 6

    WSRP Version - 2
    Consumer: WLP 10.2
    Producer: Websphere 6
    In the consumer end, the portlets are getting rendered, but when any action is performed it is not redirecting to the new page. A js error: hx_5 is undefined is thrown.
    This is not occuring in producer stand alone and in consumer local envs. The consumer uses Clear Trust for authentication.
    Anyone has faced this issue? Please let me know if you have any inputs on this.
    Thanks,
    Sid

    Hello Sid,
    I assume by "A js error" you mean a JavaScript error in the browser? If so, is the JavaScript actually trying to redirect the page to a URL that it is generating?
    WSRP modifies the URLs put out by portlets, and this often causes issues with JavaScript libraries.
    Kevin

  • Eclipse/Workshop 9.2 Performance

    While I do like the integration of the BEA Workshop tools into Eclipse, the end result (so far, that is) is unacceptible. It simply is way too slow. Are there tuning documents on how we can speed things up? I've got a 3.6GHZ Pentium 4 with 2gb of RAM, and it can take up to 4 minutes to publish a simple JSP change to the local server domain. Just saving files seems to launch so many different builders that I wind up losing 30 seconds at a time. I never faced this type of performance with Eclipse and 'generic' WTP.

    Speaking for the Portal product team, we are well aware that the existing performance of the technical preview 2 is not where we need it to be for GA. However, it's important to understand that isn't completely unexpected; this is the phase of the release where the performance teams are able to get to work and make many of the optimizations that will ship with GA.
    Some of the goals for performance for the Portal are the following:
    For all capabilities that exist in Portal 8.1 and are essentially being carried forward to 9x, we are shooting for those to have 8.1 SP4 and SP5 or better performance.
    New capabilities, such as GroupSpace, should provide a very usable out-of-the-box experience when it comes to performance. As the virtual content repository provides the back-end store for much of the GroupSpace related content, much effort is being put into performance of that core service to improve it beyond Portal 8.1.
    As to how we are doing the work, we have a good sized and highly skilled performance team that is running a huge number of performance analysis tests across all of the Portal features. This is the same group that is responsible for the Portal 8.1 performance and capacity planning guides available at:
    •     http://edocs.bea.com/wlp/docs81/perftune/index.html
    •     http://edocs.bea.com/wlp/docs81/capacityplanning/index.html
    One of the things that we do know at this time is that for a development environment, we are going to suggest having a greater amount of ram available then for Portal 8.1 with WebLogic Workshop. However, it should be reasonably inline with what any Eclipse based development environment requires today. As some people have noted, some of the performance issues with the technical preview 2 center around the iterative development experience. In the coming months those will be greatly optimized to meet expectations; right now the goal was to allow a preview of the forthcoming capabilities less then to provide a tuned environment… and we are taking your feedback in this area very seriously.
    Fundamentally, we have also introduced and improved several new core concepts to move our customers away from the ‘uber-portal’ model where all portal assets are contained in the same J2EE application. These models allow faster development and the ability to break large scale Portal development into multiple, independent release cycles. The two primary means to accomplish this are:
    •     Remote Portal via WSRP. By separating out the production of portlets from their consumption in a single rendering container, developers can concentrate on producing portlets in isolation. Practically speaking, this means that portlet developers do not need to build the entire portal with all containing portlets to get their work done. WSRP and BEA also provide an interportlet communication model which is essential to having a ‘contract’ between developers to allow for events and information to be passed where needed via a declarative mechanism. WSRP is available today in Portal 8.1, and has new improvements in Portal 9x.
    •     Library Modules. The WebLogic Portal team worked closely with the WebLogic Server 9 team to introduce a new model for storing ‘libraries’ of reusable code assets, from JSP pages and tag libraries, to entire Portal look and feel constructs and EJBs. These libraries are leveraged by the Portal so that most all the assets that used to live in your customer authored application (and were built by Workshop) are now instead referenced at runtime as a declarative include. As well, the library facility can be leveraged by customers and partners for your own code assets, allowing you to take portlets and other libraries, compile them, and then integrate them into numerous other products without introducing all the IDE overhead. When creating a new Portal application in the tech preview, you can see some of these capabilities exposed.
    Please continue to send us feedback on the tech preview 2; and to track this newsgroup for future updates.
    Thanks,
    Josh Lannin
    Sr. Product Manager, WebLogic Portal

  • Significant performance reduction from SP2 to SP3

    We have noticed a significant increase in CPU utilization when going from weblogic
    6.1 SP2 to SP3. In our testbed we noticed a CPU increase of more than 10% with
    all other factors equal.
    Have anyone else noticed a similar performance degration when shifting service
    packs?

    Unfortunately, yes.
    In the effort of gaining every little bit of performance out of available resources,
    we decided to test upgrading the service packs of WLS 6.1 sp1 and WLP (portal)
    4.0 sp1 to sp3 and sp2, respectively.
    We also saw roughly 10% performance degradation. So we stayed with sp1/sp1.
    "Espen Tjonneland" <[email protected]> wrote:
    >
    We have noticed a significant increase in CPU utilization when going
    from weblogic
    6.1 SP2 to SP3. In our testbed we noticed a CPU increase of more than
    10% with
    all other factors equal.
    Have anyone else noticed a similar performance degration when shifting
    service
    packs?

  • Poor Performance of the WebLogic Portal System

    Hi,
    I am facing one issue which has become bottleneck over the time as far as the development of my application is concerned.
    My problem is that when i run and wish to see my portal page (Web Page)on Internet Explorer/Mozzila Firefox it takes so much time to get rendered (appx 10 mins). This is affecting the productivity as the page rendering is a frequent process to see the output of your work/changes made.
    I would be very thankful if anyone can guide me what is wrong. Is this problem is with me only? Why Weblogic Portal system so slow as compared to other Portal systems like Microsoft's Sharepoint and IBM's Webshpere Portal system.
    I am using Weblogic Portal v10.
    CPU is 3.2 Ghz, 4 GB RAM, 3 MB Cache.
    Please guide. I would appreciate if one can provide some way out to speed up the page rendering. I have tried changing the Heap Size etc but failed.
    Thank You all. Have a great Day.

    10 minutes?!
    We need to narrow that down, it may be something in your portlet implementation. An easy way to get an idea would be to take a series of Java thread dumps of the WLP server instance while it is processing that portlet. On Windows, press CTRL-Break or Google for the way to do it for your platform.
    It will print out what each thread is working on - if you see your code in there over a period of time, you've got a problem in your portlet. If it is stuck in WLP code, let us know.
    I also did a blog entry about performance improvement tips during iterative development, some might apply for you:
    http://peterlaird.blogspot.com/2007/05/optimized-development-for-weblogic.html
    Peter

  • Uploading File in WLPS

    I am trying to upload files to the server.
    For this to occur you need to set "enctype=mutlipart/form-data" in the <Form>
    tag.
    I can not figure out how to make the server read a multipart request.
    I recieve the following error:
    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    <Aug 21, 2001 11:06:39 AM PDT> <Error> <NT Performance Pack> <failure in process
    Sockets() - GetData: 'weblogic.socket.GetData@520293 - fd: '1788', numBytes: '40
    96''
    java.lang.NullPointerException
    at weblogic.socket.TunnelContext.getServlet(TunnelContext.java:24)
    at weblogic.servlet.internal.MuxableSocketHTTP.dispatch(MuxableSocketHTT
    P.java:465)
    at weblogic.socket.NTSocketMuxer.processSockets(NTSocketMuxer.java:638)
    at weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:
    23)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:137)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    >
    <Aug 21, 2001 11:06:39 AM PDT> <Error> <HTTP> <Connection failure
    java.lang.NullPointerException
    at weblogic.socket.TunnelContext.getServlet(TunnelContext.java:24)
    at weblogic.servlet.internal.MuxableSocketHTTP.dispatch(MuxableSocketHTT
    P.java:465)
    at weblogic.socket.NTSocketMuxer.processSockets(NTSocketMuxer.java:638)
    at weblogic.socket.SocketReaderRequest.execute(SocketReaderRequest.java:
    23)
    at weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:137)
    at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:120)
    >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
    There have been posting on this issue in the past but never a response.
    Has anyone been able to perform this in WLPS?
    Your help would be greatly appreciated.

    malcolmmc wrote:
    The advantage of using a BLOB is that you can then access the file data from anywhere you can access the database, whereas a file path may be different from another client machine, or the file may be inaccessible.Another advantage is data integrity. I've encountered scenarios where file refernces in a database became invalid because an overzealous sys-admin deleted the files as stale after they'd reached a set age.
    Or someone decides to "restructure the file system" and the entire directory containing your files gets moved somewhere else (hopefully not to /dev/null).
    If the files are stored on different machines from the database the risk of this happening increases exponentially, if those machines are maintained by another company/department from the DBAs it goes through the roof.

  • Landing pages performance improvements

    Hi All,
    In my project in Landing page there are 9 portlets are there. For each portlet we are getting contents from UCM using RIDC calls.
    Because of 9 calls page performance is hitting.
    Is there any way to improvement performace like first load the page and load the contents using Java Script(Ajax)?
    Thanks,
    Venkata Sarvabatla
    Thanks,
    Venkata Sarvabatla

    a. Use an Application level Cache
    b. Multithreaded Asynchronous fetches if needed
    Is there any way to improvement performace like first load the page and load the contents using Java Script(Ajax)?Its likely that the overall cost of making 10 requests and the users perceived render time will actually be more (also consider that IE will not make more than two ajax requests in parallel)
    If you still want to try it The closest out of box implementations are
    a. Asynchronous desktop , which wont work for you because the first request doesnt use AJAX.
    b. http://download.oracle.com/docs/cd/E13155_01/wlp/docs103/portlets/performance.html#wp1027903 - Forking etc
    and finally , you can always implement this yourself
    regards
    deepak

Maybe you are looking for