Are you experiencing poor server performance managing Pro/E, Creo or Windchill Workgroup Manager (CAD) data in Windchill?
Are users complaining that when working with CAD data, interaction with Windchill or the Workspace is slow?
Do you wonder what you should do to setup or tune a Windchill server for interaction with clients working with CAD data?
Initial performance tuning of a Windchill server doesn't have to be overly complicated and time consuming process. Time spent tuning the Windchill server will improve performance and ensure users have the best possible interaction with the Windchill. Let's walk through the following:
Resources that are available to guide you during tuning
Server properties and preferences to set
Database tuning
Other considerations
Resources
Technical Support Article CS24192 [TS KP] Pro/ENGINEER Wildfire, Creo or Windchill Workgroup Manager Interaction with PDMLink - Recommended Initial Performance Server Settings contains all the suggestions we'll be walking through and more. I'd suggest you review and bookmark it for use while tuning your server.
Click Add a comment at the bottom of this blog post and I'll do my best to answer your question
Ask PTC Community
Perform a Technical Support Search as the Knowledge base is full of useful information
Open a Technical Support Case online or make a call to a Worldwide Support office
Server Properties and Preferences
Some settings and preferences are general in nature while others are specific to a particular Windchill version. Although the steps to tune a 9.1, 10.0, 10.1 and 10.2 server vary (typically more to do with older releases), I'll cover the typical steps you'll do with most installations (eg. 10.x releases). Refer to CS24192 for full detail for each Windchill release from 9.1 to 10.2 and MOR releases in between.
Configure common Windchill properties using the Windchill Configuration Assistant (WCA)
The WCA will inspect the server (identify available resources like CPUs, RAM, etc.) and suggest changes to wt.properties and other property files. Note that WCA execution is done automatically when installing using the 10.0 and later PTC Solution Installer. If you've upgraded/changed hardware since initial installation or it didn't run on initial installation, you'll want to run it again. See CS40846 and CS153338 for additional detail.
Set optimal collection preferences for common operations via Preference Management
Set defaults for operations like Add to Workspace, Check Out, Check In, Revise, Save As, etc. to collect minimal dependencies (None or Required):
If users need different default values, they can make changes in personal preferences or in the Basic/Advanced collectors when performing the operation.
Create or edit the default Workspace table Views so that they display a minimal amount of information
For releases prior to 10.2 M030, avoid default table displays with additional status columns (eg. Compare Status, Out of Date, etc.) as when those columns are included, the client must make additional and expensive requests to the server when refreshing the Workspace. See CS150977 for additional information.
If Save As performance is poor, set preference save.as.trace.circular.dependents=false
For some datasets, circular dependency processing when performing Save As can sometimes be an issue (take a long time). Configure to not trace circular dependents if performance issues have been observed performing Save As. See CS51570 and CS3348 for additional information.
Set wt.properties com.ptc.core.collectionsrv.engine.isIntralinkTracingEnabled=true if using later 10.x releases
Out of the box, Windchill can in some case trace dependencies for objects not explicitly requested by the user (eg. perform full dependency tracing for drawing dependents when the drawing is included in collection via Include Drawings). This can in some cases result in long time waiting for the server to process collection requests (eg. when performing an Add to Workspace). Making this change will disable the additional dependency tracing and should improve performance . See CS57721 & CS127319 for additional detail.
Consider custom values for wt.properties com.ptc.core.collectionsrv.engine.limitDependencyTracing and com.ptc.core.collectionsrv.engine.collected_result_limit if using later 10.x releases
Dependency tracing for large or complex datasets can in some cases cause server performance issues. If you observe performance issues with collection of dependents, see CS99609 and CS16012 for additional information.
Set wvs.properties publish.retrievallfiles=false, publish.retrieveallfiles.PROE=false or publish.retrieveallfiles.CATIAV5=false if publishing with filesync CAD workers
The out of the box WVS dependency tracing publish.retrievallfiles=all setting is only needed for non-filesync CAD workers and can result in longer than necessary publishing times and put unnecessary load on the server and database. If you're using filesync workers (most customers are or should be!), make this setting for improved performance. See CS76293 and CS34783 for additional information.
Configure the webserver with a 60 second KeepAliveTimeout
This setting keeps the network port between a client and server open longer than the 5 or 15 second default and allows the client to reuse an open network connection for up to 60 seconds. As a result, response times for SSL and HTTP connections is improved. As a side benifit, Internet Explorer doesn't work well with KeepAliveTimeout values ≠ 60. Setting this value to 60 will reduce the number of offline client sessions as well. See CS19706 and CS65884 for additional detail.
Review Windchill Configuration Settings Which Aid in Scaling to Production and make changes to <Windchill>\db\db.properties or database settings to prevent runaway queries that can impact server performance
The Methodserver and database will in most cases try to process all requests that are made regardless of whether or not the request may overload the Methodserver and database. Making a couple changes to db.properties can improve performance as it prevents high load, long running transactions from consuming all resources.
Database Tuning
The Windchill database is a primary component in any Windchill installation as requests made to the Windchill Methodserver invariably have to be processed by the database. Having a properly sized (enough memory) and functioning database (proper database indexes) is key to good overall performance.
Create database indexes to improve database performance
The database frequently is a performance bottleneck when Windchill is processing information for CAD objects. Start with CS75632 and CS151400 for Windchill 9.1 installations and CS98135 for Windchill 10.0, 10.1 and 10.2 installations as they contain indexes that are known to improve database performance for not only CAD object processing but other operations.
Periodically review and monitorSite > Utilities > Server Status for high percentage of Method Context Time is spent in JDBC Calls or PTC System Monitor (PSM) to determine if a high percentage of time is reported as being spent in the database (if there is a suggestion that the database is performing poorly):
Here's an example of Server Status showing a large amount of time in JDBC (database) calls:
Here's an example of PSM showing a much smaller amount of time spent in the database for a user transaction:
Additional diagnosis, tuning and sizing of the database by all means can be done, but is outside of the scope of this blog post. Refer to the following or collect Performance task detail from System Configuration Collector (Windchill System Configuration Collector (SCC) FAQ) along with test results and contact Technical Support if you're interested in taking a deeper look at the database:
CS51777 - Tuning Oracle and Interpreting the Oracle Gather Info Script Output
CS46060 - Where is the Oracle "gather_info_script.sql" located in Windchill
CS123644 - Where to find SQLServer diagnostic script for Windchill
CS139203 - SQL Statements taking too long in Oracle
CS49024 - Are there some best practices around SQL server database and Windchill PDMLink ?
Other Considerations
There are many other things that can be done to improve, diagnose and monitor performance. Depending on your environment, some may have a large impact while others may not. Take a look and let me know if you have any questions or comments:
Client tuning
See the following blog post: Configuring Creo Parametric and Windchill Workgroup Manager Clients for CAD Data Management Performance
Vaulting and Replication to WAN File Servers
Staging and maintaining File Servers can be a bit more involved from an administration perspective but for WAN users, being able to upload and download content from a local File Server is a big benefit. See Windchill Vaulting and Replication Planning - Technical Brief for additional information.
Implement a clustered environment for high load installations
Customers with many users can easily generate enough activity that a clustered Windchill environment (configuring multiple machines with multiple Method servers) to service client requests is necessary. See Windchill Architecture Overview for additional information.
For WAN clients with high latency and low bandwidth, implement caching proxy and/or WAN accelerator
Even if you have WAN File Servers that are local to WAN users, WAN clients still interact with the master Methodserver over the WAN for all information and requests other than content. If you latency is high (eg. 250+ ms) and bandwidth low, consider implementing caching proxies and WAN accelerators to improve interaction with the Windchill server. Refer to WAN Accelerators and Windchill Performance - Technical Brief for additional information.
Monitor and diagnose server performance with PTC System Monitor (PSM)
PSM is free and powerful tool available that can be used to easily monitor activity and performance of Windchill servers. Refer to the following for more detail:
PSM resource page
CS126670 - How to use the PTC System Monitor (PSM) in Workgroup Manager Transaction Performance Diagnosis
Benchmark the system before and after tuning and/or compare to PTC Performance QA results
Last but not least, collecting a benchmark of system performance before and after tuning is important as it allows you to gauge the impact of your tuning activity. Collect detail and/or test with a standard Creo dataset available from PTC and review posted results from PTC QA. See the following for additional detail:
Windchill Creo Data Management Performance Benchmark Test - Instructions
Windchill Creo Data Management Performance Benchmark Test – Preliminary Dataset (82 KB)
Windchill Creo Data Management Performance Benchmark Test - Data Sheet
Windchill Creo Data Management Performance Benchmark Test – World Car Dataset (295 MB)
If benchmark results with the Windchill Creo Data Management Performance Benchmark Test Dataset are not close to or better than PTC QA results reported in the Windchill Creo Data Management Performance Benchmark Test - Data Sheet or performance with other datasets does not meet expectations, collect Performance task detail from System Configuration Collector (Windchill System Configuration Collector (SCC) FAQ) along with test results and contact Technical Support.
That's it! I hope you find this information interesting and of use. As always, comments and feedback are very welcome.
View full tip