PSR Testing of the EnterpriseOne Adapter for JD Edwards EnterpriseOne 8.12, OBIEE 1.1.3.4, DAC 7.9.6, and Informatica 8.6 Christian Smith Oracle Corporation January 29 Abstract This white paper documents performance results of the Extract, Transform, and Load (ETL) component of the Oracle Business Intelligence Applications Adapter for JD Edwards EnterpriseOne. 1
Table of contents Executive Summary 2 Test Environment 3 Test Objectives 5 Conclusions 15 Appendix A -- Database and OS Tuning 16 Appendix B -- Database and OS Tuning 18 Data Expansion 7 Test Results 8 Executive Summary As a global leader in enterprise applications, Oracle s Applications Unlimited Business Intelligence (AUBI) team is committed to delivering high performance solutions that meet our customers expectations. Business software must deliver rich functionality with robust performance. This performance must be maintained at volumes that are representative of customer environments. Oracle s benchmark testing demonstrates our software s performance characteristics for a range of processing volumes in a specific configuration. But it is not intended to include all potential processing requirements. Customers should contact their hardware vendor for help in determining the software, hardware, and network configurations necessary to support their complete processing volumes. The primary objective of our performance testing is to provide as many data points as possible to support this important decision. For this project, performance tests were designed to test the throughput of the Extract, Transform and Load (ETL) processes for the EntepriseOne Adapter component of OBIA 7.9.6. A Business Intelligence Application such as the EnterpriseOne Adapter provides business executives with a comprehensive solution for Financial Reporting and Analytics. This analytical information was drawn from the EnterpriseOne 8.12 transactional database through the ETL process and into the warehouse. Figure 1 below gives a high level view of Oracle s Business Intelligence Applications 2
Figure 1 Test Environment The hardware for this project was provided by IBM. Each server identified below is a logical partition (LPAR) within a single server. Three LPARs were configured for the EnterpriseOne Adapter Business Intelligence test environment. PSR used this environment to test the scaling and performance of the EnterpriseOne BI development project. The storage for the LPARs was located on a single storage array attached to the server. Below is the hardware and software configuration specific to each of the three servers configured for the E1 Adapter project. OLTP Server Configuration Hardware confiiguration: (EnterpriseOne Database) Machine IBM Power 57 Model 9117-57 Processor Memory Storage OS POWER5 64-bit 1 processor Speed 2.2 Ghz 8192 MB IBM System Storage DS47 Fiber array Fifty-Six 146 GB 1K rpm disks 5 GB allocated paging: 372 MB AIX 5.3.7 64-bit Software configuration: Oracle DB 1gR2 1.2..4 OLTP EnterpriseOne 8.12 3
ETL Server Configuration Hardware configuration: (Repositories for both Informatica and DAC) Machine IBM Power 57 Model 9117-57 Processor Memory Storage OS POWER5 64-bit 1 processor Speed 2.2 Ghz 8192 MB IBM System Storage DS47 Fiber array Fifty-Six 146 GB 1K rpm disks 5 GB allocated paging: 372 MB AIX 5.3.7 64-bit Software configuration: Oracle DB 1gR2 1.2..4 Informatica 8.6 HotFix4 DAC Server 7.9.6 OBIEE 1.1.3.4 Java 1.5 JDK OLAP Server Configuration Hardware configuration: (Warehouse Database) Machine IBM Power 57 Model 9117-57 Processor Memory Storage OS POWER5 64-bit 1 processor Speed 2.2 Ghz 8192 MB IBM System Storage DS47 Fiber array Fifty-Six 146 GB 1K rpm disks 5 GB allocated paging: 496 MB AIX 5.3.7 64-bit Software configuration: Oracle DB 1gR2 1.2..4 4
Client Machine Configuration Hardware configuration: Machine Processor Memory Storage OS (Informatica Client & DAC Console) Dell GX24 1.5 GHz P4 124 MB C: 38GB D: 75GB Windows XP SP2 Software configuration: Informatica 8.6 HotFix4 Client OBIEE 1.3.4 Client OBIA 7.9.6 DAC 7.9.6 (necessary for installation of DAC on the ETL server) Oracle Client 1gR2 1.2..4 Java 1.5._15 Test Objectives The goal of this test was to determine the amount of time and resources required to Extract, Transform and Load a fixed workload using the EnterpriseOne Adapter BI application. ETL Process Figure 2 5
Figure 2 provides the logical flow of the ETL process from the source database (OLTP) through to the warehouse database (OLAP). Test Methodology There are two primary modes of processing in the ETL process: Full Load and Incremental Load. A full load is executed when a data warehouse is initially created, or when it is determined that a complete refresh of the dataset is appropriate. Incremental loads are typically executed at regular periodic intervals to update the existing warehouse with the latest OLTP data. The frequency of the incremental updates is determined by organizational requirements. EnterpriseOne Adapter testing utilizes the EnterpriseOne 8.12 version of the Day in the Life (DIL) database for two test scenarios described below. Full load tests processed 28 million rows in approximately 2 hours and 4 minutes. The incremental load tests processed almost 8.3 million records in million rows in 91 minutes. Scenario 1: Full Load Purpose: This test will measure the performance of the extract, transform and load steps with a fully populated OLTP source database. Description: Two hundred and four workflows were executed in Full Load mode into an empty warehouse database. Scenario 2: Incremental Load Purpose: This test will measure the performance of the extract, transform and load steps with a fully populated OLTP source database, and OLAP target database by adding 3 million unique records into the GL transaction detail warehouse table. Description: Two hundred and six workflows were executed in Incremental Load mode into an existing warehouse database. 6
Data Expansion Twenty nine tables in the EnterpriseOne OLTP database are referenced by the E1 Adapter extraction mappings. Below are the row counts for each of these tables. For this round of testing only the F911 table was expanded to test both large table ETL and incremental loads. The expansion rules are illustrated in the following table. Source Table Row Counts Table number Table name F6 Business Unit Master 3,329 F8 Fiscal Date Patterns 25 F1 Company Constants 15 F12 Automatic Accounting Instructions 4,1 F14 Payment Terms 25 F141 Advanced Payment Terms 9 F142 Due Date Rules 8 F11 Address Book Master 72,144 F111 Address Book Who s Who 72,22 F1151 Electronic Address 35 F116 Address By Date 52,22 F312 Customer Master By Line Of Business 4,941 F3B11 Customer Ledger 659,996 F3B13 Receipts Header 1,353 F3B14 Receipts Detail 12,3 F41 Supplier Master 1,933 F411 Accounts Payable Ledger 27,891 F413 Accounts Payable Matching Document 1,726 F414 Accts Payable Matching Document Detail 19,481 F6116 Employee Master Information 2,474 F91 Account Master 1,371,31 F92 Account Balances 91,32 F92P Purge Account Balances F911 Account Ledger 12,86,453 Expanded Incremental Record Count 18,87,53 F411 Item Master 911,881 F4117 Item Master Service/Warranty Extension 788 F421 Sales Order Header File 683,7 F431 Purchase Order Header 161,193 F498 Item Shipping Information 11,53 Table 1 7
Test Results Full Load Summary Results SESSION_NAME SUCESS_ROWS READ_THRUPUT WRITE_THRUPUT Minutes Seconds SDE_JDE_GL_Journals_Extract_Full 12,67,432 4,744 6,426 42 55 SDE_JDE_GLAccountDimension 2,747,942 2,874 3,21 42 3 SDE_JDE_CodeDimension_GLSegmentMisc 1,374,78 9,548 13,22 2 46 SDE_JDE_CodeDimension_GLAccountNames 1,371,31 14,746 14,746 1 58 SDE_JDE_ProductDimensions_Full 911,881 5,333 5,333 3 28 SDE_JDE_AR_Transaction_Fact_Extract_Full 671,718 1,596 2,545 7 47 SDE_JDE_Account_Budget_Fact_Full 286,846 36 4,73 2 14 SDE_JDE_GL_Balance_Extract_Full 244,15 1,57 9,765 53 SDE_JDE_GL_Other_Fact_Full 219,98 1,135 1,177 3 51 SDE_JDE_PartyOrganisationDimension_Full 51,412 1,837 3,214 1 6 SDE_JDE_GL_Cogs_Fact_Full 49,782 113 113 7 58 SDE_JDE_AP_Transaction_Fact_Extract_Full 47,347 929 1,353 1 33 SDE_JDE_DecimalShift_Full 45,495 22,748 45,495 46 SDE_JDE_CustomerLocationDimension_Full 4,971 4,98 6,829 4 SDE_JDE_CustomerAccountDimension_Full 4,941 13,647 1,236 52 SDE_JDE_Customer_Fin_Profl_D_Full 4,941 6,824 8,189 38 SDE_JDE_GL_Revenue_Fact_Full 26,99 62 62 7 46 SDE_JDE_Stage_GLAccountDimension_AidSblSbltLkp 2,874 1,437 2,874 43 SDE_JDE_SupplierAccount_Full 1,926 1,926 5,463 43 SDE_JDE_Code_Dimension 6,75 1,852 21 2 2 SDE_JDE_InternalOrganization_BusinessUnits_Full 6,658 3,329 3,329 36 SDE_JDE_GL_SegmentDimension_Full 3,547 9 3,547 7 12 SDE_JDE_CodeDimension_DepartmentName 3,329 3,329 3,329 1 48 SDE_JDE_CodeDimension_CostCenterName 3,329 3,329 3,329 38 SDE_JDE_CodeDimension_GLCatCodes 1,169 1,169 1,169 1 8 SDE_JDE_EmployeeDimension_Full 474 237 474 38 SDE_JDE_Code_Dimension_TransactionType 374 374 374 56 SDE_JDE_TimeDimension_FiscalPeriodExtract_Full 3 25 3 43 SDE_JDE_TimeDimension_McalContext_Full 15 15 15 41 SDE_JDE_ProfitCenterDimension_Full 15 15 15 4 SDE_JDE_LEDGER_FULL 15 15 15 37 SDE_JDE_InternalOrganization_Company_Full 15 15 15 38 SDE_JDE_CodeDimension_ProfitCenter_Company 15 15 15 41 SDE_JDE_CodeDimension_ProfitCenter_Company 15 15 15 37 SDE_JDE_CodeDimension_ProfitCenter_Company 15 15 15 36 SDE_JDE_CodeDimension_State_Load 114 114 114 2 1 SDE_JDE_CodeDimension_Load_City 114 48 57 1 56 SDE_JDE_ExchangeRateGeneral_Full 14 14 14 49 SDE_JDE_Stage_GroupAccountNumberDimension 91 94 91 44 SDE_JDE_Payment_Method_D_Full 5 5 5 42 SDE_JDE_CodeDimension_Group_Acct_Names 46 46 46 4 SDE_JDE_UserDimension_Full 39 12,24 39 43 SDE_JDE_CodeDimension_PositionType 35 21 35 34 SDE_JDE_Stage_GLAccountDimension_CatCodesFlatFile 3 3 3 42 SDE_JDE_Stage_GLAccountDimension_CatCodesFlatFile 3 3 3 41 SDE_JDE_PaymentTermsDimension_Full 25 25 25 39 SDE_JDE_CodeDimension_ProfitCenter_Currency 25 25 25 37 SDE_JDE_Code_PayTerms_Load 25 25 25 1 22 SDE_JDE_Code_PayTerms_Load 25 25 25 49 SDE_JDE_Code_PayTerms_Load 25 25 25 46 SDE_JDE_APTermsDimension_Full 25 25 25 41 SDE_JDE_Code_Category_Map_Load 21 21 21 46 SDE_JDE_InternalOrganisationHierarchyDimension_Full 13 13 13 51 SDE_JDE_CodeDimension_Fin_Stmt_Item_Names 1 1 1 43 SDE_JDE_Stage_GLAccountDimension_FinSubCodes 9 9 9 46 SDE_JDE_CodeDimension_Fin_Sub_Names 7 7 7 51 SDE_JDE_StatusDimension_AccountingDocument 6 6 6 38 SDE_JDE_W_INT_ORG_DHS_TOP_HIERARCHY 2 2 2 1 48 SDE_JDE_TimeDimension_Calendar_Full 2 2 2 56 SDE_JDE_Stage_GLAccount_SegmentConfig 2 2 2 43 SDE_JDE_CodeDimension_Acct_Doc_Status 2 2 2 1 59 8
Full Load Performance Graphs 1 9 8 CPU Utilization Source Server CPU Utilization CPU Waits P ercent U tiliz ation 7 6 5 4 3 2 1 4 8 12 16 2 24 28 32 36 4 44 48 52 56 6 64 68 72 76 8 84 88 92 96 1 1418112116 12124128132136 14144148 Chart 1 As the chart indicates, the OLTP system is heavily utilized in the first 2 minutes of the ETL process, steadily declining through the remainder of the process. This reflects the activity associated with the extraction of the data from the database. The heavy utilization can be tied to the GL extraction of the 12M rows the largest ETL map in the execution plan. The memory utilization for this server remained constant at 5.2GB for the duration of the test. Throug h p ut ( KB/sec) 16, 15, 14, 13, 12, 11, 1, 9, 8, 7, 6, 5, 4, 3, 2, 1, Disk Throughput Source Server 4 8 12 16 2 24 28 32 36 4 44 48 52 56 6 64 68 72 76 8 84 88 92 96 1 14 18 112 116 12 124 128 132 136 14 144 148 Chart 2 A majority of the high activity on the disk subsystem can be attributed to the initial extract of the GL transactions. 9
1 9 8 CPU Utilization Informatica Server CPU Utilization CPU Waits 7 Percent Utilization 6 5 4 3 2 1 4 8 12 16 2 24 28 32 36 4 44 48 52 56 6 64 68 72 76 8 84 88 92 96 1 14 18 112 116 12 124 128 132 136 14 144 148 Chart 3 The ETL server running the Informatica workload varies with respect to workload. The full utilization seen early in the run correlates with the large GL extraction of 12M rows. The extraction is multi-threaded accounting for additional workload in the same time frame. As a general rule, increasing or decreasing the concurrent threads in the Informatica run will change the workload of the Informatica server. The Informatica default was used for this test which is 1 concurrent threads. Another factor influencing workload and throughput is mapping data dependencies. Some of the ETL maps are dependent upon data generated by other ETL maps. These dependent ETL s are queued in a wait state until prerequisite ETL s completed. Because this dependency can exist, actual concurrent threads may be less than 1 while maps wait for prerequisite maps to finish their execution. This is true in the second half of the test which explains the lower utilization. The memory utilization for this server remained constant at 3.9GB for the duration of the test. 9, Disk Throughput Informatica Server 8, 7, Throughput (KB/sec) 6, 5, 4, 3, 2, 1, 4 8 12 16 2 24 28 32 36 4 44 48 52 56 6 64 68 72 76 8 84 88 92 96 1 14 18 112 116 12 124 128 132 136 14 144 148 Chart 4 1
1 9 8 CPU Utilization Target Server CPU Utilization CPU Waits Percent Utilization 7 6 5 4 3 2 1 4 8 12 16 2 24 28 32 36 4 44 48 52 56 6 64 68 72 76 8 84 88 92 96 1 14 18 112 116 12 124 128 132 136 14 144 148 Chart 5 Since the goal is to get the most data loaded into the data warehouse as quickly as possible, it is normal to have the processor almost completely consumed. The memory utilization for this server remained constant at 5GB for the duration of the test. 9, 8, 7, Disk Throughput Target Server Throughput (KB/sec) 6, 5, 4, 3, 2, 1, 4 8 12 16 2 24 28 32 36 4 44 48 52 56 6 64 68 72 76 8 84 88 92 96 1 14 18 112 116 12 124 128 132 136 14 144 148 Chart 6 The disk throughput peaked at slightly less than 7 MB/sec during the full load test 11
Incremental Load Summary Results SESSION_NAME SUCESS_ROWS FAILED_ROWS READ_THRUPUT WRITE_THRUPUT Minutes Seconds SDE_JDE_GLAccountDimension 2,747,942 2,874 3,19 26 2 SDE_JDE_GL_Journals_Extract 2,68,3 3,463 7,747 13 4 SDE_JDE_CodeDimension_GLSegmentMisc 1,374,78 11,955 15,623 2 23 SDE_JDE_CodeDimension_GLAccountNames 1,371,31 16,93 16,724 1 38 SDE_JDE_CustomerLocationDimension 4,971 2,49 1,951 55 SDE_JDE_Stage_GLAccountDimension_AidSblSbltLkp 2,874 2,874 2,874 47 SDE_JDE_SupplierAccount 1,926 1,926 3,642 39 SDE_JDE_Code_Dimension 6,75 1,667 21 2 29 SDE_JDE_GL_SegmentDimension_Full 3,547 11 3,547 5 57 SDE_JDE_CodeDimension_DepartmentName 3,329 3,329 3,329 1 15 SDE_JDE_CodeDimension_CostCenterName 3,329 3,329 3,329 34 SDE_JDE_CodeDimension_GLCatCodes 1,169 1,169 1,169 54 SDE_JDE_Code_Dimension_TransactionType 374 374 374 38 SDE_JDE_TimeDimension_McalContext 15 15 15 42 SDE_JDE_LEDGER 15 15 15 37 SDE_JDE_CodeDimension_ProfitCenter_Company 15 15 15 48 SDE_JDE_CodeDimension_ProfitCenter_Company 15 15 15 38 SDE_JDE_CodeDimension_ProfitCenter_Company 15 15 15 32 SDE_JDE_CodeDimension_State_Load 114 114 114 1 15 SDE_JDE_CodeDimension_Load_City 114 48 114 1 16 SDE_JDE_Stage_GroupAccountNumberDimension 91 94 91 41 SDE_JDE_CodeDimension_Group_Acct_Names 46 46 46 43 SDE_JDE_UserDimension_Full 39 14,429 39 49 SDE_JDE_CodeDimension_PositionType 35 21 35 43 SDE_JDE_Stage_GLAccountDimension_CatCodesFlatFile 3 3 3 4 SDE_JDE_Stage_GLAccountDimension_CatCodesFlatFile 3 3 3 39 SDE_JDE_CodeDimension_ProfitCenter_Currency 25 25 25 45 SDE_JDE_Code_PayTerms_Load 25 25 25 1 22 SDE_JDE_Code_PayTerms_Load 25 25 25 4 SDE_JDE_Code_PayTerms_Load 25 25 25 39 SDE_JDE_Code_Category_Map_Load 21 21 21 35 SDE_JDE_InternalOrganisationHierarchyDimension 13 13 13 33 SDE_JDE_CodeDimension_Fin_Stmt_Item_Names 1 1 1 37 SDE_JDE_Stage_GLAccountDimension_FinSubCodes 9 9 9 36 SDE_JDE_CodeDimension_Fin_Sub_Names 7 7 7 35 SDE_JDE_W_INT_ORG_DHS_TOP_HIERARCHY 2 2 2 44 SDE_JDE_Stage_GLAccount_SegmentConfig 2 2 2 49 SDE_JDE_CodeDimension_Acct_Doc_Status 2 2 2 1 51 SDE_JDE_TimeDimension_FiscalPeriodExtract 38 SDE_JDE_TimeDimension_Calendar 5 SDE_JDE_ProfitCenterDimension 39 SDE_JDE_ProductDimensions 1 26 SDE_JDE_PaymentTermsDimension 37 SDE_JDE_Payment_Method_D 38 SDE_JDE_PartyOrganisationDimension 38 SDE_JDE_InternalOrganization_Company 45 SDE_JDE_InternalOrganization_BusinessUnits 4 SDE_JDE_GL_Revenue_Fact 3 25 SDE_JDE_GL_Cogs_Fact 3 26 SDE_JDE_GL_Balance_Extract 32 SDE_JDE_ExchangeRateGeneral 51 SDE_JDE_EmployeeDimension 34 SDE_JDE_Decimal_Shift 47 SDE_JDE_CustomerAccountDimension 38 SDE_JDE_Customer_Fin_Profl_D 35 SDE_JDE_AR_Transaction_Fact_Extract 4 22 SDE_JDE_APTermsDimension 36 SDE_JDE_AP_Transaction_Fact_Extract 57 SDE_JDE_Account_Budget_Fact 34 12
Incremental Load Performance Graphs P e r c e n t U tiliz a tio n 1 9 8 7 6 5 4 3 2 1 CPU Utilization Source Server CPU Utilization CPU Waits 4 8 12 16 2 24 28 32 36 4 44 48 52 56 6 64 68 72 76 8 84 88 Chart 7 The incremental load curve for the OLTP source database was similar to the full load. However, given the shorter time span needed to process the additional 3 million seed records, it is a much faster process. 13
CPU Utilization Informatica Server CPU Utilization CPU Waits P e r c e n t U tiliz a tio n 1 9 8 7 6 5 4 3 2 1 4 8 12 16 2 24 28 32 36 4 44 48 52 56 6 64 68 72 76 8 84 88 Chart 8 The Informatica server was heavily utilized, transforming the OLTP data into the OLAP schema needed for the warehouse. 1 9 8 7 CPU Utilization Target Server CPU Utilization CPU Waits Percent U tilization 6 5 4 3 2 1 4 8 12 16 2 24 28 32 36 4 44 48 52 56 6 64 68 72 76 8 84 88 Chart 9 14
9, Disk Throughput Target Server 8, 7, Throughput (KB/sec) 6, 5, 4, 3, 2, 1, 4 8 12 16 2 24 28 32 36 4 44 48 52 56 6 64 68 72 76 8 84 88 Chart 1 The disk throughput peaked at almost 6mb/sec of throughput. Conclusions This testing was the first analysis of the EnterpriseOne Adapter BI application, and so there is no data to compare from previous testing. Valuable performance and capacity planning information has been compiled from these tests. The servers used in this environment consisted of single, dual threaded CPU. The disk subsystem is a DS47 Fiber array equipped with 56 1K rpm disk drives of 146gb capacity each. 5GB was allocated to each of the three servers. The disk array has an approximate capacity to support 5, transfers per second. Testing utilized about half of that capacity, while driving the CPUs to 1% utilization for extended periods of time. So the overall results of processing 28 million rows in 2 hours and 4 minutes for a full load, and 8.3 million rows in just over 1 hour and 4 minutes for the incremental load is a reflection of both the speed of the ETL software and the capacity of the test environment. 15
Appendix A -- Database and OS Tuning This section includes screen shots of the Oracle Enterprise Manager with the memory parameter values for each server. BI SGA Info Figure 3 16
OLTP SGA Info Figure 4 Informatica SGA Info Figure 5 17
Appendix B -- Database and OS Tuning This section contains the changes made to the AIX servers to tune the operating system. VMO: -Default settings: Minperm%=2 Maxperm%=8 Maxclient%=8 Lru_file_repage=1 -Changes: # vmo -p -o minperm%=5 -o maxperm%=8 -o maxclient%=8 -o lru_file_repage= Setting minperm% to 5 in nextboot file Setting maxperm% to 8 in nextboot file Setting maxclient% to 8 in nextboot file Setting lru_file_repage to in nextboot file Setting minperm% to 5 Setting maxperm% to 8 Setting maxclient% to 8 Setting lru_file_repage to SMIT AIO: -Default settings: Minservers = 1 Maxservers=1 Maxreqs=496 -Changes: Minservers = 1 Maxservers=5 Maxreqs=16384 Network Settings: -Default settings: tcp_recvspace= 16384 tcp_sendspace= 16384 -Changes: no -p -o tcp_recvspace=262144 no -p -o tcp_sendspace=262144 18
Copyright IBM Corporation 29 IBM Corporation 1 New Orchard Road Armonk, NY 154 U.S.A. Produced in the United States of America June 29 All Rights Reserved Copyright 29 Oracle Corporation Oracle Corporation 5 Oracle Parkway Redwood Shores, CA 9465 Oracle is a registered trademark of Oracle Corporation and/or its affiliates. IBM, the IBM logo, ibm.com, AIX, Power, POWER5, and System Storage are trademarks or registered trademarks of International Business Machines Corporation in the United States, other countries, or both. These and other IBM trademarked terms are marked on their first occurrence in this information with the appropriate symbol ( or TM), indicating U.S. registered or common law trademarks owned by IBM at the time this information was published. Such trademarks may also be registered or common law trademarks in other countries. A current list of IBM trademarks is available on the Web at ibm.com/legal/copytrade.shtml. References in this document to IBM products or services do not imply that IBM intends to make them available in every country. The information provided in this document is distributed AS IS without any warranty, either express or implied. The information in this document may include technical inaccuracies or typographical errors. Performance is based on measurements and projections using standard IBM benchmarks in a controlled environment. The actual throughput or performance that any user will experience will vary depending upon considerations such as the amount of multiprogramming in the user's job stream, the I/O configuration, the storage configuration, and the workload processed. Therefore, no assurance can be given that an individual user will achieve throughput or performance improvements equivalent to the ratios stated here. 19