• No results found

JD Edwards Performance Tuning guide for Oracle Application Server and Oracle Portal Server 10g.

N/A
N/A
Protected

Academic year: 2021

Share "JD Edwards Performance Tuning guide for Oracle Application Server and Oracle Portal Server 10g."

Copied!
21
0
0

Loading.... (view fulltext now)

Full text

(1)

JD Edwards Performance Tuning guide for Oracle Application Server and Oracle Portal Server 10g. An Oracle JD Edwards EnterpriseOne

Performance and Tuning White Paper Aug 2010

PURPOSE STATEMENT

This document provides considerations when reviewing system performance relative to your JD Edwards EnterpriseOne system. Many factors can influence performance and your results may differ depending on many different variables.

This document is intended for information purposes only, and may not be incorporated into any contract. It is not a commitment to deliver any material, code, or functionality, and should not be relied upon in making purchasing decisions. The development, release, and timing of any features or functionality described for Oracle’s products remains at the sole discretion of Oracle. Updates and enhancements are provided in accordance with Oracle’s Technical Support Policies at:

(2)

Introduction

E1 should perform well out of the box for most customer workloads. However, it is possible to tune several settings and see incremental performance gains, especially if the nature of the workload is not expected to vary much over time. The most effective tuning takes into account the specific hardware, the target workload, and the performance goals for the environment. This tuning guide describes important tuning parameters and settings that can result in improved performance. Each setting and its potential effect are described to help you make an informed judgment about its relevance to the system, workload, and performance goals.

Oracle Application Server/Oracle Portal Server Tuning

If you have sufficient memory available on your system and your application is memory intensive, increase the JVM heap size from the default value. While the

amount of heap required varies based on the application and on the available memory, for most OC4J server applications, if you have sufficient memory, then Oracle

recommends using an initial heap size of 1024 Megabytes or larger (Max is 1.5GB per JVM). You can improve performance by setting the initial heap size equal to the maximum heap size.

For additional information please see Oracle Application Server Performance Guide 10g Release 3 http://download.oracle.com/docs/cd/B31017_01/core.1013/b28942.pdf

Measure and Analyze

The Oracle Application Server, in general, and the JAS server code, specifically, can be analyzed in a variety of ways. First, the traditional performance tools can be used to understand utilization of CPU,

disk, memory, and other resources. This tool is access via the Oracle EM console under Performance. Secondly, JAS has built-in tools to support performance analysis.

JAS includes the System Administration Workbench (SAW) or Server Manager Console (SVM) which can be used to analyze JAS performance including response times and statistics for business functions.

(3)

Adjust

Changes to the OC4J JVM configurations are made through the Oracle Enterprise Manager Console. Oracle Enterprise Manager Console uses a web interface.

The Oracle Enterprise Manager Console, is accessed through the following URL: http://localhostname/em/console

Where <localhost> is the name of the JAS server that is running Oracle Application Server/ Oracle Portal Server.

The administrative console presents a user id prompt, which is used to track the changes entered into the administrative console.

1) Adjust the heap size for the JVM

On UNIX, Linux, and Windows servers, Java performs memory management for applications running within the JVM.

The heap size for each JVM should be initial 1024 and max 1024.

Take the following steps to change the heap size values for an OC4J instance: 1. Navigate to the Home page for the OC4J instance.

2. Click Administration.

3. If necessary, expand the Properties section of the table by clicking the Expand icon. Then, click the Go to Task icon in the Server Properties row.

4. In the Command Line Options area, change the value in the Maximum heap size and Initial heap size fields.

5. Click Apply.

6. Navigate to the Cluster Topology page, select the OC4J instance that you modified, and click Restart. On the Confirmation page, click Yes.

This specifies the following JVM options and changes the size of the heap allocated to the OC4J process (only for that single instance). If your Oracle Application Server/ Oracle Portal Server topology includes more than one JVM on the same system, The heap changes must be apply to each JVM.

(4)

Click on admin

(5)

Min set to 1024

Max set to 1024

(6)

Set the initial and maximum heap size for the JVM. Apply and save the setting.

Once the JVM instance has been restarted the changes will take effect.

EnterpriseOne Application Tuning

JD Edwards EnterpriseOne provides a complete suite of modular, integrated industry-specific business applications. JD Edwards EnterpriseOne is flexible, permitting the database, application logic, and user interface code to run entirely on one system or each of these can run on separate systems.

Measure and Analyze

JD Edwards EnterpriseOne has built-in tools for monitoring the performance of the user’s interaction via the web interface. Prior to the availability of Server Manager for JD Edwards EnterpriseOne, the main interface for JD Edwards EnterpriseOne Server Administration Workbench (SAW is only available on 8.93 to 8.96) can be accessed via the following URL:

http://<sys>:<port>/jde/saw/index.jsp

Where <sys> is the name of the JAS server system and <port> is the port on which the JAS server is listening. Within this browser interface, two of the areas will be discussed in this document: JAS SAW and Enterprise SAW. The JAS SAW tool allows an administrator to monitor the performance of the JAS server and its interactions with the other components of the application and system. It can be accessed either from the above URL, or directly: http://<sys>:<port>/jde/saw/sawJAS.html

Where <sys> is the name of the JAS server system and <port> is the port on which the JAS server is listening. JAS SAW provides various views for monitoring:

 System Summary – shows a high-level view of the heap’s memory allocation, number of users logged in, and business functions.

 User List – shows the number of users signed on and active.

 Call Object Info – lists the business functions that have been run and statistics about the calls.  Work with Log files – contains the logs and ini files.

 Environment – lists the various operating system and Java properties.  Config – shows some of the JAS.INI configuration settings.

 JDENET pool – lists all of the connections to the Enterprise Server.

 Work with JDBj – contains details of the JDBC connections and caches the JAS server maintains.

 Virtual Clients – lists all virtual client sessions and activity within them.

 Outstanding Requests – shows any requests currently waiting for the Enterprise Server to return.

 Thread List – shows all threads running within JAS and their current activity.

Each of these views is useful for tracking various aspects of the JAS server and its configuration. For example, the System Summary view shows how many users are currently active on the system and how much memory they are using in the JAS server. See Figure 2.

(7)

The second area of SAW is the Enterprise Server portion of JD Edwards EnterpriseOne with useful information about the jobs running on the Enterprise Server. Access it via the main URL above or directly via the URL: http://<sys>:<port>/jde/saw/sawEnt.html

When prompted for host and port, enter the name of the JD Edwards EnterpriseOne Enterprise Server and its port (6014 by default). SAW for Enterprise Server also contains multiple views:

 Server Summary – shows a high-level view of the Enterprise Server instance, including time the server has been running, all currently running EnterpriseOne processes, and any zombie processes that have not been removed.

 All log files – lists all the log files in the log directory on the JD Edwards EnterpriseOne server including those for currently running processes and those no longer running (e.g., porttest, cleanup, etc.)

 Active log files – lists all the log files in the log directory on the JD Edwards EnterpriseOne server that are for currently running processes.

 Print Queue log files – lists all the log files in the Print Queue directory on the JD Edwards  EnterpriseOne server. These are from UBEs that have run on this server.

 Disk Usage – shows information for disk utilization on the EnterpriseOne server. The disk where this instance of JD Edwards EnterpriseOne is installed is highlighted in green.

 View INI settings – lists all of the publicly available JD Edwards EnterpriseOne server JDE.INI settings.

 Remove all Zombie processes – with SAW administrative rights, this will remove all the zombie processes from the Server Summary screen.

 Package Build files – lists all of the text files in the package build area of the JD Edwards EnterpriseOne server.

(8)

 View Environment Variables – lists all of the environment variables and their values for the JD Edwards EnterpriseOne server processes.

The server summary view shown in Figure 3 displays information about each of the server jobs, identifies which jobs have a backlog of requests, and allows tracing to be turned on dynamically.

The interfaces for tuning EnterpriseOne using the Server Manager are somewhat different. For example, Figure 4 shows Java heap size information. The path to navigate to this screen is as follows: Access Server Manager (which displays the Management Dashboard) > Click on the Managed Home Location for the desired environment > Click on the desired EnterpriseOne HTML Server instance > Under Runtime Metrics on the left, click Java Environment.

(9)

Figure 4 - Server Manager Java environment information

With the availability of the Server Manager for JD Edwards EnterpriseOne, all of these settings are managed using a graphical interface and should no longer be set by editing the JDE.INI, JAS.INI, or JDBJ.ini files.

(10)

JD Edwards EnterpriseOne HTML server baseline configuration for 100 web users.

Reducing these values from the defaults will decrease JVM heap footprint while increasing web server CPU usage

Web Runtime:

The path to navigate to this screen is as follows: Access Server Manager (which displays the

Management Dashboard) > Click on the Managed Home Location for the desired environment > Click on the desired EnterpriseOne HTML Server instance > Under Configuration on the left, click on Web Runtime.

CacheDataBrowser: Indicates if the databrowser grid data can be written to a disk cache. CacheDataBrowser=True

CacheFindBrowser: Indicates if Find/Browse and Search and Select grid data may be written to a disk cache file.

(11)

UserSession: Time out setting for user session within the cache. These intervals are in milliseconds. For example, 60000ms = 1 minute.

UserSession= # no larger than one hour (3600000)

AutoResumeInterval: Auto resume interval for fetch update dialogs, in milliseconds TimeWaitBeforeAutoResume=0

Ensure that Maximum number of Browsers that users can open is limited <=7 MaxOpenBrowsers=7 (default is 10)

(12)

Note: This setting impacts the size of all EnterpriseOne grids, and thus impacts both the CPU and memory consumption on the JAS server. Its best not to change this setting, if you have to do so, try using the minimal number possible.

GridGlobalPageSize: This setting overrides the application level page size when the application level page size is smaller # than this setting. Valid values are from 0 to 100. When this value is greater than 100, the Global Page size will be set # to 100. The default value is 0, which will never override

application level page size. GridGlobalPageSize=30

DefaultSectionSize: The default section size for 'go to end' functionality if there are more than 60 visible columns on the grid, the system will decrease this section size by 50%.

(13)

Network Settings:

The path to navigate to this screen is as follows: Access Server Manager (which displays the

Management Dashboard) > Click on the Managed Home Location for the desired environment > Click on the desired EnterpriseOne HTML Server instance > Under Configuration on the left, click on Network Settings.

(14)

JDBJ Database Configuration:

The path to navigate to this screen is as follows: Access Server Manager (which displays the

Management Dashboard) > Click on the Managed Home Location for the desired environment > Click on the desired EnterpriseOne HTML Server instance > Under Configuration on the left, click on JDBJ Database Configuration.

MinConnection : The minimum number of connects to a data source. When closing old connections, this many will remain in the pool regardless of use.

minConnection=0

MaxConnection: The maximum number of connections to a physical database. Connection requests beyond this threshold will be queued for the next available pooled connection.

maxConnection= should be 25% more then the max number of concurrent users Example: if the max number of concurrent users is 100 then the max connection should be set to 125. maxConnection is the maximum number of connections per System/Proxy database user assigned to an E1 user login. InitialConnection: The number of connections to make when the connection pool is created. initialConnection=5

PoolGrowth: The number of connections that the system creates when a request for a connection cannot be satisfied with the current open connections.

(15)

poolGrowth=5

ConnectionTimeout: The time (in milliseconds) before an inactive connection is closed and removed from the connection pool.

connectionTimeout=1800000 <- no more than this number

CleanPoolInterval: Specifies how often the pool cleaner is set to clean data sources that have a validation string. The value is specified in milliseconds.

cleanPoolInterval=300000

CachePurgeSize: The number of JDBC statements that are purged from a JDBC connection if the maximum prepared statements threshold is reached.

purgeCacheSize=5

Note: If the majority of the E1 users have their own database user ids, you must change the following settings:

minConnection=0 maxConnection=50 poolGrowth=1 initialConnection=1

(16)

ResultSetTimeout: Time (in milliseconds) before a result set will timeout if it has not had any operations. You should use the default setting. Values are 0 or greater.

resultSetTimeout=60000 # <- some customers make it "-1" this will kill Web Server

updateableResultSetTimeout: Time (in milliseconds) before an updatable result set will timeout if it has not had any operations. -1 indicates that updatable result sets should have the same value as RESULT_SET_TIMEOUT

updateableResultSetTimeout=60000

OCMCachePurge: Sets the number of milliseconds after which inactive OCM cache entries are purged. 0 specifies never purge OCM cache entries.

ocmCachePurge=3600000 # decrease to 1800000

SecurityCahcePurge : Sets the number of milliseconds after which inactive OCM cache entries are purged. 0 specifies never purge OCM cache entries.

securityCachePurge=3600000 # decrease to 1800000

ServiceCachePurge : Time (in milliseconds) before inactive service cache entries are purged. 0 means to never purge service cache entries. Values are 0 or greater.

(17)

serviceCachePurge=3600000 # decrease to 1800000

SpecCachePurge : Time (in milliseconds) before inactive spec cache entries are purged. 0 means to never purge spec cache entries. Values are 0 or greater.

specCachePurge=3600000 # decrease to 1800000

E1MenuCachePurge : Sets the number of milliseconds after which inactive cached menu entries are purged. 0 specifies to never purge menu cache entries.

E1MenuCachePurge=3600000 # decrease to 1800000 Internet Explorer and Firefox Tuning

Internet Explorer

I.E. 7 and I.E.8 setting for best performance.

The HTTP 1.1 specification states that there should be 2 connections available to a server from a client browser. This is the requirement to meet HTTP 1.1 standards, but not a restriction.

Internet Explorer sets this limit to the minimum specification of 2. Each of these connections is synchronous, so the effect of this limitation is that Internet Explorer can only download 2 resources at the same time.

When a menu is launched, approximately 20 static resources are downloaded (JavaScripts and images), while approximately 35-40 static resources are downloaded for a typical EnterpriseOne form.

By changing the default amount of connections to the server to 10, customers should observe significant improvements in EnterpriseOne menu and form rendering.

The fix is available from Microsoft here: http://support.microsoft.com/kb/282402

If the clients are using a proxy to access their EnterpriseOne system, Internet Explorer defaults to using the HTTP 1.0 specification. HTTP 1.1 far outperforms HTTP 1.0, so this default behavior should also be altered. Firefox always defaults to using HTTP 1.1.

To change this behavior in Internet Explorer:

1. Open Internet Explorer

2. Select "Internet Options" from the "Tools" menu

3. Navigate to the advanced tab

(18)

5. Press OK

NOTE: Make sure that your Internet Explorer is patched to the latest version or these settings may not resolve the issue.

Firefox Browser

The Firefox browser has set the max-persistent-connections-per-server limit default to 6 so Firefox can simultaneously download 6 resources. Fewer customers are experiencing issues with this higher default setting in Firefox, but there have still been some incidences of it.

The about:config preference: network.http.max-persistent-connections-per-server sets the limit for the number of connections.

Please see more information regarding this setting on this web page:

http://developer.mozilla.org/en/docs/XMLHttpRequest#Limited_Number_Of_Simultaneous_xmlHttp Request_Connections

Advanced Performance Tuning Oracle’s Performance Workbench

Performance Workbench is an Oracle-created tool which analyzes the content of JD Edwards EnterpriseOne debug log files and produces reports which contain timing and profiling data from JD Edwards EnterpriseOne code. It is widely used by customers, business partners, and Oracle internal developers. The data is based largely on JD Edwards EnterpriseOne business functions and tables. Very large and otherwise unwieldy debug log files can be decreased to manageable statistical summaries which can be used to analyze and troubleshoot JD Edwards EnterpriseOne code. It is downloadable from My Oracle Support as a zip file and runs on a Windows system. Extensive help files with usage examples are included with the tool. For more information visit the URL (userid and password required):

https://support.us.oracle.com/oip/faces/secure/km/DocumentDisplay.jspx?id=747328.1&h=Y EnterpriseOne Performance Workbench (Doc ID 747328.1)

Author

Joey Vargas |Technical Support Engineer

(19)

Oracle Corporation World Headquarters 500 Oracle Parkway Redwood Shores, CA 94065 U.S.A. Worldwide Inquiries: Phone: +1.650.506.7000 Fax: +1.650.506.7200 oracle.com

Copyright © 2006, Oracle. All rights reserved.

This document is provided for information purposes only and the contents hereof are subject to change without notice.

This document is not warranted to be error-free, nor subject to any other warranties or conditions, whether expressed orally or implied in law, including implied warranties and conditions of merchantability or fitness for a particular purpose. We specifically disclaim any

liability with respect to this document and no contractual obligations are formed either directly or indirectly by this document. This document may not be reproduced or transmitted in any form or by any means,

electronic or mechanical, for any purpose, without our prior written permission. Oracle, JD Edwards, PeopleSoft, and Retek are registered trademarks of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.

This document is for informational purposes only and may not be incorporated into a contract or agreement.

Copyright Notice

Copyright © 2009, Oracle and/or its affiliates. All rights reserved. Trademark Notice

Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners.

License Restrictions Warranty/Consequential Damages Disclaimer

This software and related documentation are provided under a license agreement containing restrictions on use and disclosure and are protected by intellectual property laws. Except as

expressly permitted in your license agreement or allowed by law, you may not use, copy, reproduce, translate, broadcast, modify, license, transmit, distribute, exhibit, perform, publish or display any part, in any form, or by any means. Reverse engineering, disassembly, or decompilation of this software, unless required by law for interoperability, is prohibited.

Subject to patent protection under one or more of the following U.S. patents: 5,781,908; 5,828,376; 5,950,010; 5,960,204; 5,987,497; 5,995,972; 5,987,497; and 6,223,345. Other patents pending. Warranty Disclaimer

The information contained herein is subject to change without notice and is not warranted to be error-free. If you find any errors, please report them to us in writing.

Restricted Rights Notice

If this software or related documentation is delivered to the U.S. Government or anyone licensing it on behalf of the U.S. Government, the following notice is applicable:

(20)

U.S. GOVERNMENT RIGHTS

Programs, software, databases, and related documentation and technical data delivered to U.S. Government customers are “commercial computer software” or “commercial technical data” pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental

regulations. As such, the use, duplication, disclosure, modification, and adaptation shall be subject to the restrictions and license terms set forth in the applicable Government contract, and, to the extent applicable by the terms of the Government contract, the additional rights set forth in FAR 52.227-19, Commercial Computer Software License (December 2007). Oracle USA, Inc., 500 Oracle Parkway, Redwood City, CA 94065.

Hazardous Applications Notice

This software is developed for general use in a variety of information management applications. It is not developed or intended for use in any inherently dangerous applications, including applications which may create a risk of personal injury. If you use this software in dangerous applications, then you shall be responsible to take all appropriate fail-safe, backup, redundancy and other measures to ensure the safe use of this software. Oracle Corporation and its affiliates disclaim any liability for any damages caused by use of this software in dangerous applications.

Third Party Content, Products, and Services Disclaimer

This software and documentation may provide access to or information on content, products and services from third parties. Oracle Corporation and its affiliates are not responsible for and expressly disclaim all warranties of any kind with respect to third party content, products and services. Oracle Corporation and its affiliates will not be responsible for any loss, costs, or damages incurred due to your access to or use of third party content, products or services.

Contains GNU libgmp library; Copyright © 1991 Free Software Foundation, Inc. This library is free software which can be modified and redistributed under the terms of the GNU Library General Public License.

Includes Adobe® PDF Library, Copyright 1993-2001 Adobe Systems, Inc. and DL Interface, Copyright 1999-2008 Datalogics Inc. All rights reserved. Adobe® is a trademark of Adobe Systems Incorporated. Portions of this program contain information proprietary to Microsoft Corporation. Copyright 1985-1999 Microsoft Corporation.

Portions of this program contain information proprietary to Tenberry Software, Inc. Copyright 1992-1995 Tenberry Software, Inc.

Portions of this program contain information proprietary to Premia Corporation. Copyright 1993 Premia Corporation.

This product includes code licensed from RSA Data Security. All rights reserved.

This product includes software developed by the OpenSSL Project for use in the OpenSSL Toolkit (http://www.openssl.org/).

This product includes cryptographic software written by Eric Young (eay@cryptsoft.com). This product includes software written by Tim Hudson (tjh@cryptsoft.com). All rights reserved. This product includes the Sentry Spelling-Checker Engine, Copyright 1993 Wintertree Software Inc. All rights reserved.

Open Source Disclosure

Oracle takes no responsibility for its use or distribution of any open source or shareware software or documentation and disclaims any and all liability or damages resulting from use of said software or documentation. The following open source software may be used in Oracle's JD Edwards

(21)

This product includes software developed by the Apache Software Foundation

(http://www.apache.org/). Copyright (c) 1999-2000 The Apache Software Foundation. All rights reserved. THIS SOFTWARE IS PROVIDED “AS IS’’ AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS

INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

References

Related documents

Study installation, deployment and usage of related open source software include Hadoop, Mahout, Sqoop and Gan- glia etc, combine with MapReduce solution of

this latest launch brings C-P’s toothpastes to a total of six, with mega Brand Colgate Dental Cream (CDC), the category volume driver; Colgate Gel-Positioned

We propose a method to construct a near-optimal control law by means of model-based reinforcement learning and subsequently verifying the reachability and safety of the

„ It lets your Oracle 10g Application Server users It lets your Oracle 10g Application Server users to authenticate using their user credentials. to authenticate using their

The SGA is a read/write memory area that stores information shared by all database processes and by all users of the database (sometimes it is called the Shared Global Area ).. o

JD Edwards EnterpriseOne Development Client Installation Guide, Applications Release 9.0 or 9.1 and Tools Release 9.1.x for Oracle Application Server (OAS) and WebSphere

Universal quantum computation with hybrid spin-Majorana qubits Silas Hoffman, Constantin Schrade, Jelena Klinovaja, and Daniel Loss Department of Physics, University of

Satelitska altimetrija osigurava prikupljanje visokopreciznih globalnih podataka ujednačene točnosti o razini mora što omogućuje praćenje geofizičkih karakteristi- ka mora