Partner TSWebinar Windchill Performance Tuning Stephen Vaillancourt PTC
Partner TS-Webinar: “Windchill Performance Tuning” Stephen Vaillancourt PTC Technical Support Fellow Dec 20, 2013
Agenda Takeaways • Common Themes of Windchill Performance Problems • Where can things go wrong? • How to Prevent Problems • Tools • What to capture when your customer has a performance problem 2
What makes up performance? • Performance is measured by one user but is determined by the load on the system in the environment in which the system is running Network Latency End U ser Ta # Active Users sks ons rati u g i f n Co System Ser Client Hardware ver Har dwa width d n a B k Networ re $! s /# g u B Cus tom i zati ons Software Versions nd rou ackg rati e p O B 3
What Really Matters? Probable Causes of Performance problems • Database related – Most common cause of Performance problems • System misconfigurations – More common in newer systems & ones setup without guidance i. e. don’t use the out of the box settings • Core code and Customization problems – How often they occur depends on a number of things, staying on the latest maintenance release is the most effective strategy to minimize production problems from bugs • Client Side configuration – If using Wildfire or Creo there a number of configuration changes which MUST be made • Infrequent – Problems occurring in dependent sub-system – Problems in the OS, disk I/O, corporate LDAP, Solr even the network would fit into this category 4
Configuring for Database Performance • Memory Allocation – Critical for acceptable Oracle performance – Use the 11 g parameters memory_max_target and memory_target parameters – Set sga_max_size and sga_target equal to 0 – Small to Medium sized systems SGA’s: 10 to 15 G, Medium: 15 G-30, Large up to 120 G – Set optimizer_index_cost_adj=10 – important but not as critical as in earlier releases of Oracle • Indexes (Oracle and SQLServer) – (R 10. x)There is a list of recommended (50+) indexes which should be applied see article CS 98135 • Problem identification (Oracle) – Check to see if the system is configured with enough SGA post – Check to see if there are long running SQL statements impacting performance, link – Introduction on how to interpret the output from the Gather Info Script – How to approach tuning a SQL statement (link) 5
Server and Client Configurations for Performance • Server – Use the Windchill Configuration Assistant see chapter 1 of the Administrator Configuration Guide – Set the db. property wt. pom. query. Limits (it’s not set by the WCA) – The query limit is one of a couple of settings which can improve system stability. The others on the list can be found here. • Work Group Manager Performance – Two recently re-worked article have everything needed: • Article CS 24192 - Pro/ENGINEER Wildfire or Creo Interaction with PDMLink Recommended Initial Performance Server Settings • Article CS 23960 - Pro/ENGINEER Wildfire and Creo Interaction with PDMLink - Recommended Initial Performance Client Settings • New Functional Patch for 10. 1 M 40 - resolves issues with communication between the Windchill Workgroup Manager client and Windchill server [Patch Available Dec 2013] 6
Windchill property Considerations What causes Partners problems? • Don’t allocate more memory to Method Servers than the machine has RAM – (wt. method. max. Heap x (wt. manager. monitor. start. Method. Server + 1 for the BGMS) ) + wt. manager. max. Heap + 1 G (for JVM perm space not part of the heap) + Extra* < Total Memory of the server Extra* = memory needed for other running applications (Apache , Windchill DS, database …) and the OS • JVM settings – Keep it simple, use the defaults. They are enough. Don’t let anyone short of a JAVA expert touch your JVM settings, no “best practices” no exotic settings; KISS (Keep It Simple Stupid) – wt. method. max. Heap – 3 g or more • Set the query Limits (I’m repeating myself; the limits are that important!) – (db. properties) wt. pom. query. Limit=250000 – (db. properties) wt. pom. paging. snapshot. Query. Limit=10000 – (wt. properties) com. ptc. windchill. search. query. Limit=10000 7
Windchill Property Considerations Con’t • wt. properties – Load Balancing: Maximum number of concurrent Operations in a Single Method Server before operation is balanced to a different Method Server (5 -15 is a normal range) • wt. method. loadbalance. active. Context – Load Balancing: Number of times an operation can be moved to a different Method Server (# of MS -1 is the usual setting) • wt. method. loadbalance. max. Redirects – The two MOST important caches in Windchill for Performance • wt. cache. size. WTPrincipal. Cache & wt. cache. size. Standard. Ufid. Srv. Service$Remote. Object. Id. Cache • See articles CS 71489 & CS 97931 for sizing instructions • Db. properties – wt. pom. max. Db. Connections (typical range: 10 -25, maybe higher for BGMS with many queues) – wt. pom. min. Db. Connections (Typical range: 10 -25) – Use the defaults: wt. pom. statement. Cache. Size (50) & wt. pom. row. Prefetch. Count (20) 8
Tools New tools • Administrator JSP page available in R 10 M 20 and later • Product System Monitor (PSM) – – – Free to Customers on Maintenance Constant Monitoring Thread dumps Alerts Charting More www. ptc. com/go/psm 9
Related Materials • Stress / Load Test Validation. i. e. Single User Benchmarks – (CRITICAL) It is important to perform load tests for extreme data and use cases. For ex: • Check. In/Out of very large assemblies, Very large searches & Very large reports • Available Benchmarks – Manual Method • Windchill Creo Data Management Performance Benchmark Test - Instructions • Windchill Creo Data Management Performance Benchmark Test - Data Sheet • Windchill Creo Data Management Performance Benchmark Test – Preliminary Dataset (82 KB) • Windchill Creo Data Management Performance Benchmark Test – World Car Dataset (295 MB) – Automated Method • Windchill Single User Performance Tester for Creo Data Management Operations (SPT) - Instructions • Windchill Single User Performance Tester for Creo Data Management Operations (SPT) - Media 10
What to do when there is a problem? Open a Case with Technical Support • General Case: Data to upload – wt and db properties – Oracle • Oracle Diagnostic report (latest version available here) • AWR reports Alternative to manual Data Collection: Using the ‘SCC’ – #Site tab #Utilities #System Configuration Collector – SQLServer • SQLServer Reports • SQLServer Diagnostic report – Method. Server logs • Reproducible Case: Data to Capture – PSM Export (Page 20) or – Windchill Profile 11
Summary • It’s Possible to have Acceptable Performance – Database, Method. Server Side and Client configurations are necessary • Not setting Query Limits will cause the Method. Server to crash • Most Performance problems related to Database interaction – Either poorly performing queries & under tuned databases – Code problem • There are experts at PTC who only work on performance problems, capturing the right data and engaging them is the quickest way to resolution • PSM is new(ish) tool and is a value add for customers 12
- Slides: 12