CNC Tips & Tricks for E1 9 - Quest Oracle Community

46
CNC Tips & Tricks for E1 9.2 #JDEINFOCUS #ECSINFOCUS Marcelo Tamassia Teunis Aalberts

Transcript of CNC Tips & Tricks for E1 9 - Quest Oracle Community

CNC Tips & Tricks for E1 9.2

#JDEINFOCUS #ECSINFOCUS

Marcelo Tamassia Teunis Aalberts

April 2-6, 2017 in Las Vegas, NV USA #C17LV

Marcelo Tamassia

ā€¢ Founding Partner @ EmeraldCube Solutions

ā€¢ Responsible for all Engineering and R&D initiatives @ ECS

ā€¢ University of Florida MBA

ā€¢ 19 years of tech industry

ā€¢ 14 years of JDE consulting in South and North America

ā€¢ Planned, designed, executed, and managed 90+ E1 implementations worldwide

April 2-6, 2017 in Las Vegas, NV USA #C17LV

Teunis Aalberts

ā€¢ Technology Consultant @ Forza

ā€¢ Responsible for CNC Add On Solutions @ Forza

ā€¢ Joined JDE in 1999

ā€¢ 17 years CNC experience

ā€¢ Visit us @ booth 624

April 2-6, 2017 in Las Vegas, NV USA #C17LV

Agendaā€¢ Intended Audience

ā€¢ Best Practices & Tipsā€¢ Performance

ā€¢ Database Monitoring

ā€¢ JDE CNC

ā€¢ Packman

ā€¢ Prism

April 2-6, 2017 in Las Vegas, NV USA #C17LV

Forza Consulting

One-stop shop for JD Edwards

Extensive JD Edwards add-on portfolioā–Ŗ AP Automation ā–Ŗ AR Automation ā–Ŗ Electronic Payments module ā–Ŗ Automated Package Build & Deploymentā–Ŗ Self Service Password Reset solution ā–Ŗ Workload scheduler

Over 200 clients supported globally

Leading CNC Technology Department

Innovative Development Department

April 2-6, 2017 in Las Vegas, NV USA #C17LV

Feedback Cards

Enter to Win a $100 American Express Gift Card

Fill out the EmeraldCube session feedback card. Drawing will be held at the end of the session.

April 2-6, 2017 in Las Vegas, NV USA #C17LV

BEST PRACTICES?

April 2-6, 2017 in Las Vegas, NV USA #C17LV

PERFORMANCE BEST PRACTICES

April 2-6, 2017 in Las Vegas, NV USA #C17LV

#1 Performance ā€“ Track Enterprise Queriesā€¢ Configure JDE.INI

ā€¢ Set QueryExecutionTimeTreshold > 0 (start at 30 seconds)

ā€¢ Search logs for ā€œdbperfrq.cā€

ā€¢ JDE Log

6373/1 MAIN_THREAD Thu Jan 30 00:00:33.704811 dbperfrq.c770

doQueryDiagnostics: The following SQL query took 10 seconds which is equal to or greater than

QueryExecutionTimeThreshold (10 seconds) for E1User(MARK) with DBProxyUser(JDE).

6373/1 MAIN_THREAD Thu Jan 30 00:00:33.705162 dbperfrq.c782

SELECT * FROM PRODTA.F41021 WHERE ( LIPQOH <> 0.000000 OR LIPCOM <> 0.000000 OR LIHCOM <> 0.000000

OR LIPREQ <> 0.000000 OR LIQOWO <> 0.000000 OR LIQTTR <> 0.000000 OR LIQTO1 <> 0.000000 OR LIFCOM <>

0.000000 OR LIMCU <> ' 1001' OR LIITM > 1.000000 ) ORDER BY LIITM ASC,LIMCU ASC

April 2-6, 2017 in Las Vegas, NV USA #C17LV

#1 Performance ā€“ Track Enterprise Queriesā€¢ Research Issue

ā€¢ Determine type of process (JDE.LOG)ā€¢ Talk to the user (shown on log message)

ā€¢ Be mindful of row security impact on queries

ā€¢ Involve your DBA (if you have one) to determine why the query is taking to long

ā€¢ Bad Query/Inquireā€¢ Missing Index(es)ā€¢ Slow I/Oā€¢ Locking/Blocking

April 2-6, 2017 in Las Vegas, NV USA #C17LV

JDE Enterprise Server Kernels

April 2-6, 2017 in Las Vegas, NV USA #C17LV

#2 Performance ā€“ Tune JDE Kernels

ā€¢ Make sure you have enough kernels of at least these:ā€¢ Call Object: 6 to 12 users / multithread kernelā€¢ Security: 40 to 60 users / kernelā€¢ Metadata: 150 users / kernelā€¢ Network: 1 process + 200 users / kernelā€¢ UBE: 60 users / kernel

ā€¢ Make sure you donā€™t have too manyā€¢ Memory & Performance considerations

ā€¢ E1: KER: EnterpriseOne Kernels Overview (Doc ID 961823.1)

April 2-6, 2017 in Las Vegas, NV USA #C17LV

#3 Performance ā€“ Compress Data

ā€¢ Use database compressionā€¢ SQL Enterprise 2008+ā€¢ Oracle Enterprise 11g + Feature

ā€¢ Resultsā€¢ Data reduction of 60% to 90%ā€¢ Reduced memory requirementsā€¢ Reduce backup/restore timeā€¢ Fewer I/Oā€¢ 40% to 50% performance improvementā€¢ 5% to 10% higher CPU consumption

April 2-6, 2017 in Las Vegas, NV USA #C17LV

#3 Performance ā€“ Compress Data

ā€¢ Sample compression rates

Table Name Compression

F4111 Item Ledger File 76%

F0911 Account Ledger 73%

F0411 Accounts Payable Ledger 69%

F43121 Purchase Order Receiver File 69%

F4311 Purchase Order Detail File 68%

F9000 Task Master 62%

F0101 Address Book Master 61%

F4229 Sales Summary History File 56%

F0005 User Defined Code Types 54%

April 2-6, 2017 in Las Vegas, NV USA #C17LV

#4 Performance ā€“ Consider Solid State

ā€¢ Most JDE E1 environments are I/O bound, not CPU boundā€¢ Faster I/O most likely will result in faster overall E1 performanceā€¢ Faster CPU might/ might not result in faster overall E1 performance

ā€¢ Most JDE E1 environments are 2/3 reads and 1/3 writes

ā€¢ Performance Comparison (IOMeter Database ā€“ Average IO/s)ā€¢ HDD 15K RPM: 445 IOPSā€¢ SSD: 2300 IOPS

ā€¢ Cost / GBā€¢ HDD: 0.05 USDā€¢ SSD: 0.80 USD

April 2-6, 2017 in Las Vegas, NV USA #C17LV

#5 Performance ā€“ Adjust JVM Heap

ā€¢ JVM Process Memory

ā€¢ OS memory limits per single processā€¢ 32-bit, roughly 2GBā€¢ 64-bit, theoretically 2,000 PB

April 2-6, 2017 in Las Vegas, NV USA #C17LV

#5 Performance ā€“ Adjust JVM Heap

ā€¢ Garbage Collectionā€¢ Lock (lock involved objects so they donā€™t mutate)ā€¢ Mark (iterate through all objects)ā€¢ Sweep (remove marked objects / reclaim memory)

ā€¢ Why do we care?ā€¢ Garbage Collection relationship with performance

ā€¢ Baseline for 50 usersā€¢ 32-bit: 1.5 Gb (max = min)ā€¢ 64-bit: 2 Gb (max = min)

April 2-6, 2017 in Las Vegas, NV USA #C17LV

ā–Ŗ Concurrent Mark & Sweep (CMS)ā–Ŗ Default algorithm on Java 7 and 8

ā–Ŗ Lock objects so they donā€™t mutate

ā–Ŗ Mark (iterate through all objects)

ā–Ŗ Sweep (remove marked objects / reclaim memory)

ā–Ŗ Compact

ā–Ŗ Garbage First (G1)ā–Ŗ Leverages Multi Cores

ā–Ŗ Reduced Pause times

ā–Ŗ Increased Throughput

ā–Ŗ GA with Java Hotspot 1.7 Update 4

ā–Ŗ Ideal for 6GB + Heap sizes

ā–Ŗ -XX:+UseG1GC

ā–Ŗ Default algorithm on Java 9

#5 Performance ā€“ GC Algorithms

April 2-6, 2017 in Las Vegas, NV USA #C17LV

ā–Ŗ Start JVM with verbose GCā–Ŗ -verbose:gc

ā–Ŗ -Xloggc:<filename>

ā–Ŗ -XX:+PrintGCDetails

ā–Ŗ -XX:+PrintGCDateStamps

ā–Ŗ -XX:+PrintTenuringDistribution

ā–Ŗ -XX:+PrintGCApplicationConcurrentTime

ā–Ŗ -XX:+PrintGCApplicationStoppedTime

ā–Ŗ -XX:+HeadDumpOnOutOfMemoryError

ā–Ŗ Parse log/output via GC Viewer

ā–Ŗ Determine ideal heap size and number of JVMs

https://github.com/chewiebug/GCViewer

#5 Performance ā€“ JVM Memory Monitor

April 2-6, 2017 in Las Vegas, NV USA #C17LV

#5 Performance ā€“ Memory LeakCrash!!!

April 2-6, 2017 in Las Vegas, NV USA #C17LV

ā–Ŗ Session Timeout (less than 1 hour)

ā–Ŗ JDBj Database Connection Timeout (Less than 30 mins)

ā–Ŗ JDBj Database Pool Setup

ā–Ŗ [CONNECTION POOL]

ā–Ŗ minConnection=5 (default is 0) (for unique proxy users set to 0)

ā–Ŗ maxConnection=max users (for unique proxy users set to 5)

ā–Ŗ initialConnection=5 (default) (for unique proxy users set to 1)

ā–Ŗ poolGrowth=10 (default is 5) (for unique proxy users set to 1)

ā–Ŗ Cachesā–Ŗ JDBj to no more than 10 mins

ā–Ŗ Resultset to no more than 3 mins

#5 Performance ā€“ Parameters

ER Loops

April 2-6, 2017 in Las Vegas, NV USA #C17LV

#6 Performance ā€“ Track ER Loops

ā€¢ Event Rules are interpreted by JAS in real time

ā€¢ ER loops can cause high CPU and memory consumption

ā€¢ How to find out?

ā€¢ Set Long Loop Warning Threshold (jas.ini) to 1000

ā€¢ If a process performs more than 1000 iterations a message is logged

April 2-6, 2017 in Las Vegas, NV USA #C17LV

#6 Performance ā€“ Track ER Loops

ā€¢ Message on JAS log

ā€¢ Typical causesā€¢ Code issue/bug

ā€¢ End-user mistake

April 2-6, 2017 in Las Vegas, NV USA #C17LV

Database Monitoring

April 2-6, 2017 in Las Vegas, NV USA #C17LV

#7 Database Monitoring - I/O Latency

ā€¢ Measure Latency ā€¢ SQL DMVs: Join sys.dm_io_virtual_file_stats and sys.master_files

ā€¢ Read Latency: CEILING((io_stall_read_ms / ( 1.0 + num_of_reads)))

ā€¢ Write Latency: CEILING((io_stall_write_ms / ( 1.0 + num_of_writes)))

ā€¢ Oracle: AWR / Foreground Events

ā€¢ ā€œAcceptableā€ Latency (Ī¼ Ā± 2Ļƒ ā‰ˆ 95%)

Type Read Write

Sequential < 20ms < 10ms

Random < 25ms < 20ms

Total < 25ms < 20ms

April 2-6, 2017 in Las Vegas, NV USA #C17LV

#8 Database Monitoring - Blocking

ā€¢ Blocking vs Locking

ā€¢ What causes blockingā€¢ Concurrency? Poor I/O? Code bug? DB Misconfiguration?

ā€¢ Identify ā€¢ SQL DMVs

ā€¢ dm_exec_requests + dm_os_waiting_tasks + dm_exec_sql_text

ā€¢ Oracleā€¢ v$lock + v$session

April 2-6, 2017 in Las Vegas, NV USA #C17LV

#9 Database Monitoring - Long running SQL

ā€¢ Monitorā€¢ SQL: dm_exec_query_stats + dm_exec_sql_textā€¢ Oracle: v$session_longops + v$session

ā€¢ Researchā€¢ Find source process

ā€¢ Potential fixesā€¢ Application Query Securityā€¢ Data Selection Securityā€¢ Create Index(s)

April 2-6, 2017 in Las Vegas, NV USA #C17LV

JDE CNC & Monitoring Tips

April 2-6, 2017 in Las Vegas, NV USA #C17LV

#10 JDE Monitoring ā€“ Zombie Kernels

ā€¢ Use Server Manager for alerting

ā€¢ Call Object kernels are the most common zombie kernel

ā€¢ Clear zombie only after all the necessary data is collectedā€¢ Typeā€¢ PIDā€¢ Number of threadsā€¢ Users on each threadā€¢ Call stack

ā€¢ Researchā€¢ ESUs?

ā€¢ How to Troubleshoot Call Object Kernel Zombie Issues (Doc ID 837800.1)

April 2-6, 2017 in Las Vegas, NV USA #C17LV

#11 JDE Monitoring ā€“ Call Object Stats

ā€¢ What are your most executed BSFNs?

ā€¢ What are the most time consuming BSFNs?

ā€¢ What BSFNs timeout the most?

ā€¢ Howā€¢ Manually export data from Server Manager JAS Instance

ā€¢ Prism (TBD)

April 2-6, 2017 in Las Vegas, NV USA #C17LV

#12 JDE Monitoring ā€“ Batches

ā€¢ Anomaliesā€¢ Errorsā€¢ Queuing

ā€¢ Critical Jobs completion

ā€¢ Volumeā€¢ Most frequent vs. Longest running

ā€¢ Howā€¢ Custom queries/scriptsā€¢ Prism

April 2-6, 2017 in Las Vegas, NV USA #C17LV

#13 JDE Monitoring ā€“ Response Time

ā€¢ Monitor end-user performance

ā€¢ How long is it taking to logon?

ā€¢ How long does it take to open P4210?

ā€¢ Howā€¢ Oracle Real User Experience Insight

ā€¢ Prism Virtual User

April 2-6, 2017 in Las Vegas, NV USA #C17LV

#14 ā€“ JDE CNC ā€“ 9.2.1 Files in DB

ā€¢ All file based objects (BSFN, BSSV, TBLE, etc..) in DBā€¢ One-time migration to DB (first package / pathcode)ā€¢ Simplify backupsā€¢ Easier pathcode refreshes

ā€¢ All media objects are only supported in the databaseā€¢ All new attachments go to the DB automaticallyā€¢ Existing attachments require UBE executionā€¢ How about integrations/interfaces?

ā€¢ PrintQueue optionally supported in the databaseā€¢ Facilitates maintenanceā€¢ Simplifies active/active deployments

April 2-6, 2017 in Las Vegas, NV USA #C17LV

#15 ā€“ JDE CNC ā€“ Compare Specs vs DB

ā€¢ Execute R9698711 once a quarter against Production

ā€¢ Generate missing tables via OMW (R98403G if many)

ā€¢ Generate all missing indexes via OMW (R9698713 if many)

ā€¢ Fix any column mismatches

April 2-6, 2017 in Las Vegas, NV USA #C17LV

#16 ā€“ JDE CNC ā€“ Technical Purges

ā€¢ Databaseā€¢ Job Master +

Dependencies

ā€¢ Subsystem

ā€¢ Workflow

ā€¢ Workcenter

ā€¢ Scheduler History

ā€¢ Package History

ā€¢ Security History

ā€¢ Orphan Security Entries

ā€¢ Orphan User Overrides

ā€¢ Filesā€¢ Log files

ā€¢ PrintQueue

ā€¢ Temporary files

April 2-6, 2017 in Las Vegas, NV USA #C17LV

#17 ā€“ JDE CNC ā€“ OMW Backup Rule

ā€¢ Create a Production Save Location to back up production objects before they get replaced

ā€¢ Create new status code and activity rule prior PD

ā€¢ Make sure users/developers cannot bypass the PD save on promotion

ā€¢ Use Row exit ā€œBackup Ruleā€

April 2-6, 2017 in Las Vegas, NV USA #C17LV

#18 ā€“ Change Webclient Background

ā€¢ To distinct between the different environments

ā€¢ Since TR 9.1.x single webclient.css file change

ā€¢ Use F12 in chrome to choose a color

ā€¢ Find and replace the #1e4a6d in the webclient.css with the color of your choice

April 2-6, 2017 in Las Vegas, NV USA #C17LV

#19 ā€“ Fat Client Housekeeping

ā€¢ Multiple pathcodes on the same fat client can be an issue

ā€¢ Create bat file to save off and handle required files

April 2-6, 2017 in Las Vegas, NV USA #C17LV

PACKAGE AUTOMATION

April 2-6, 2017 in Las Vegas, NV USA #C17LV

#20 ā€“ JDE CNC ā€“ Packages

ā€¢ Retentionā€¢ No more than 2 full / pathcodeā€¢ No need to keep updates for older full packagesā€¢ No more than 20 updates / full packageā€¢ Full package for each pathcode should be built at least every 6

months

ā€¢ Be consistent with your name convention

ā€¢ Do not use compression

ā€¢ If you built more than one package / week you should automate it http://packman.forzaconsulting.eu/

April 2-6, 2017 in Las Vegas, NV USA #C17LV

ā€¢ Packman mobile application (Android, iOS, Windows)ā€¢ Review projects ready for package build

ā€¢ Advance project statuses

ā€¢ Start package builds

ā€¢ Monitor builds

#20 ā€“ JDE CNC ā€“ Package Automation

http://packman.forzaconsulting.eu/

April 2-6, 2017 in Las Vegas, NV USA #C17LV

PRISM

April 2-6, 2017 in Las Vegas, NV USA #C17LV

Prism

ā€¢ Modulesā€¢ Job Monitorā€¢ Log Monitorā€¢ Virtual Userā€¢ Database Monitorā€¢ Data Integrity Monitorā€¢ Record Reservation Monitorā€¢ Technical Purgesā€¢ Latency Monitorā€¢ BSSV Monitorā€¢ Best Practicesā€¢ FraudPatrol

April 2-6, 2017 in Las Vegas, NV USA #C17LV

And the winner isā€¦

Please Complete Your Session Evaluation

Evaluate this session in your COLLABORATE app. Pull up this session and tap "Session Evaluation" to complete the survey.

Session ID: 103420