Windchill Modeler Performance Guidelines Document
Windchill Modeler Performance Guidelines Document
Windchill Modeler Performance Guidelines Document
Performance Guidelines
Document
Copyright © 2021 PTC Inc. and/or Its Subsidiary Companies. All Rights
Reserved.
User and training guides and related documentation from PTC Inc. and its
subsidiary companies (collectively "PTC") are subject to the copyright laws of the
United States and other countries and are provided under a license agreement that
restricts copying, disclosure, and use of such documentation. PTC hereby grants to
the licensed software user the right to make copies in printed form of this
documentation if provided on software media, but only for internal/personal use
and in accordance with the license agreement under which the applicable software
is licensed. Any copy made shall include the PTC copyright notice and any other
proprietary notice provided by PTC. Training materials may not be copied without
the express written consent of PTC. This documentation may not be disclosed,
transferred, modified, or reduced to any form, including electronic media, or
transmitted or made publicly available by any means without the prior written
consent of PTC and no authorization is granted to make copies for such purposes.
Information described herein is furnished for general information only, is subject
to change without notice, and should not be construed as a warranty or
commitment by PTC. PTC assumes no responsibility or liability for any errors or
inaccuracies that may appear in this document.
The software described in this document is provided under written license
agreement, contains valuable trade secrets and proprietary information, and is
protected by the copyright laws of the United States and other countries. It may
not be copied or distributed in any form or medium, disclosed to third parties, or
used in any manner not provided for in the software licenses agreement except
with written prior approval from PTC.
UNAUTHORIZED USE OF SOFTWARE OR ITS DOCUMENTATION CAN
RESULT IN CIVIL DAMAGES AND CRIMINAL PROSECUTION.
PTC regards software piracy as the crime it is, and we view offenders accordingly.
We do not tolerate the piracy of PTC software products, and we pursue (both
civilly and criminally) those who do so using all legal means available, including
public and private surveillance resources. As part of these efforts, PTC uses data
monitoring and scouring technologies to obtain and transmit data on users of
illegal copies of our software. This data collection is not performed on users of
legally licensed software from PTC and its authorized distributors. If you are
using an illegal copy of our software and do not consent to the collection and
transmission of such data (including to the United States), cease using the illegal
version, and contact PTC to obtain a legally licensed copy.
Important Copyright, Trademark, Patent, and Licensing Information: See
the About Box, or copyright notice, of your PTC software.
UNITED STATES GOVERNMENT RIGHTS
PTC software products and software documentation are “commercial items” as
that term is defined at 48 C.F.R. 2.101. Pursuant to Federal Acquisition Regulation
(FAR) 12.212 (a)-(b) (Computer Software) (MAY 2014) for civilian agencies or
2
the Defense Federal Acquisition Regulation Supplement (DFARS) at 227.7202-1
(a) (Policy) and 227.7202-3 (a) (Rights in commercial computer software or
commercial computer software documentation) (FEB 2014) for the Department of
Defense, PTC software products and software documentation are provided to the
U.S. Government under the PTC commercial license agreement. Use, duplication
or disclosure by the U.S. Government is subject solely to the terms and conditions
set forth in the applicable PTC software license agreement.
PTC Inc., 121 Seaport Blvd, Boston, MA 02210 USA
3
About this guide
Introduction
This document provides instructions, tips and tricks, and best practices to the
system/database administrator that result in enhancing the performance of
Windchill Modeler. The guidelines present in this document also help customers
plan their deployment. Some of the topics included in this document are:
• Optimal configuration options for installation
• Recommendations for multi-user management
• SQL Server optimization tips
• Optimizing Modeler for better performance
• General troubleshooting tasks
Technical Support
Contact PTC Technical Support through the PTC website or by phone if you
encounter problems using this product or the product documentation. The PTC
eSupport portal provides the resources and tools to support your implementation:
https://support.ptc.com/appserver/cs/portal/. For complete support details, see the
PTC Customer Support Guide. You must have a Service Contract Number (SCN)
before you can receive technical support. If you do not know your SCN, see
“Preparing to contact TS” on the Processes tab of the PTC Customer Support
Guide. This topic describes how to locate your SCN.
4
Hardware guidelines
The following sections outline the minimum hardware specifications for
deploying Windchill Modeler in different scenarios. For optimum performance,
PTC recommends using at least 32 GB RAM and utilizing SSDs (solid state
drives) for the computer that will host the Modeler Server and SQL Server.
When it comes to storage and performance, PTC recommends solid state drives
(SSDs). These are faster than conventional hard disk drives (HDDs) and are also
more reliable and use less power. When considering disk speed in terms of
sequential or random read/write speeds, SSDs are 2 to 5 times faster than
conventional hard disks. Note that the SSDs in question here are write-intensive
SSDs and not the usual read-intensive SSDs.
For information on SQL Server requirements and prerequisites, refer to the
Microsoft help topic:
Hardware and Software Requirements for Installing SQL Server 2017
For information about how much free disk space is required for each installation
type, see the Modeler Release Notes.
5
• SVGA graphics, 800x600 minimum, 256 colors.
• Supported Windows operating system - for more information, see the Modeler
Release Notes.
Note
Ensure that you have a working, regular backup procedure in place for your
models.
For more information, see topic “Setting up a backup procedure” in the online
help.
7
This is the simplest option and is suitable for individual users or test
environments. This deployment utilizes the standalone configuration.
• Production – workgroup deployment
This option is suitable for production environments and can support small and
medium sized workgroups. This deployment options utilizes client/server
configuration.
• Production – enterprise deployment
This option is suitable for production environments and can support small and
medium sized workgroups. This deployment options utilizes client/server
configuration.
9
The client software can access models stored in databases on many servers
through Model Explorer. In a client/server configuration, perform the server
installation before performing any client installations.
Network recommendations
In this topic, we will discuss how to set up trusted domains, how to work on a
standalone installation even when you are disconnected from the network, and
how to disable virus checkers while installation.
11
To work with Modeler, you must have a read/write trust between the two domains.
The client's domain ClientDom must be able to write to the ModelerATF share
directories on the server in domain ServerDom.
Make sure that the necessary trust relationships and permissions are set up by your
domain administrator.
If your Modeler client has two domains configured as child and parent domains,
and there is a trust relationship between the child and parent, then consider the
following:
• If Modeler is installed in the child domain, then SQL service must be executed
from the parent domain to enable access for both the domains.
• If Modeler is installed in the parent domain, then Modeler can not access the
users/groups that are in the child domain.
13
Use of Citrix/Remote desktops
If you are running Modeler over a slow network, you can improve its performance
by hiding the following parts of the Modeler user interface when not in use:
• The Property Pages
• Status Bar
Direct access of Models on another site can result in poor performance when there
is a WAN or firewall between the Modeler client and server. Using Microsoft
Terminal Server or Citrix MetaFrame can resolve this problem because the
Modeler server and client software reside on the same site.
When the latency of the connection between the Modeler client and server is such
that the performance of Modeler is not acceptable to you, you may be able to
access the models on the Modeler server directly by using Microsoft Remote
Desktop Services (RDS) or Citrix MetaFrame (Citrix).
In this scenario, the latency of the connection is not fast enough for an acceptable
performance of Modeler, but it is fast enough to support RDS or Citrix. When this
is the case, you can use RDS or Citrix to run the Modeler client software on the
Modeler server site. Remote users run the Modeler client software through RDS
or Citrix client software.
The following diagram illustrates a potential configuration for working across
sites in this way.
The following table outlines the steps for setting up the sites:
Step Consideration
1. On the server site, perform a You must perform a Server installation
Modeler Server installation. to install the floating license software.
The SQL Server and Floating License
Server software can reside on any site
computer.
2. On the server site, install the
Microsoft Remote Desktop Services/
Citrix MetaFrame server software and
the Modeler client software.
3. Set up a floating license for clients.
Define the default user settings.
4. Each user that wants to run Modeler
uses the Microsoft Remote Desktop
Services/Citrix MetaFrame remote
client software to run Modeler from the
Microsoft Remote Desktop Services/
Citrix MetaFrame computer.
15
Modeler supports agile modeling using a server-based database providing a
collaborative modeling environment where modifications automatically propagate
to all active client sessions and yet where the user can selectively apply Modeler
CM features to control access and modification rights to a model and to track why
changes occurred.
To manage simultaneous access, the locking and unlocking of the model data is
performed automatically at the finest level of granularity. For example, when you
modify the Parameter of an Operation of a Class of a Package of a Model,
Modeler automatically locks (and then unlocks) just that Parameter item.
Usage
Modeler provides a turnkey solution for multi-user modeling using its relational
database and active data dictionary.
Benefits
Agile re-structuring: With Modeler, you can easily change the package structure in
a model as the project evolves without having to restructure and change the access
controls in an external CM tool. The ability to restructure model content can
increase modeling productivity, particularly in early lifecycle phases when the
structure of a system is still evolving.
Robustness: Multi-user ensures that model consistency is maintained at all times.
This ensures consistency of the model regardless of the number of users and
without mandating unnecessary process constraints.
Granularity and locking: When you begin to modify the location, name,
properties, or associations of an item, Modeler automatically applies a lock on the
item and then releases it when you complete your modification. The fine
granularity and transaction-based approach to locking, reduces the potential for
multi-user conflicts.
Usability: Multi-user support provides an effective and integrated platform for
coping with fluctuations and increases in project team size without enforcing
process change. Importantly, it enables a wide team, including non-software
stakeholders, to access and edit the model without requiring training in complex
software-orientated external CM systems and processes.
Reduced complexity and overheads: An integrated solution reduces the total cost
of ownership, including co-installation and support costs of complex external CM
tools.
Usage
If you want to move a subsystem or component to a different model, use Package
Import/Export or the Component Sharing Wizard to move the subsystem or
component Package to a different model. The Component Sharing Wizard has the
advantage of identifying any dependencies that the Package has.
17
Benefits
Model size: Breaking large projects into subsystem and component specific
models results in smaller more manageable models.
Scalability: Large projects can be modeled without individual models becoming
too large.
User access: When a model contains only a subsystem or component, access to
that subsystem or component can be controlled at the model level.
Recommendations
Ensure that each subsystem or component has its own Package.
When deciding how to assign subsystems to models, you should consider the
following factors:
• How large each subsystem is likely to be.
• Which users require access to the different subsystems.
• How connected the different subsystems have to be. You cannot create
Modeler links between subsystems that are in different models.
When a subsystem or component is likely to be reused:
• Ensure that the subsystem or component is modeled in its own Package, so
that it can be easily copied or moved.
• Consider using PTC Integrity Asset Library to create the subsystem or
component as a reusable asset. For more information about PTC Integrity
Asset Library, see the PTC website.
When breaking down a model that has become too large, consider moving
subsystems that have the fewest links to other subsystems first. When using the
Component Sharing Wizard to move a Package, the Component Sharing Wizard
can identify links to items that are outside of the Package.
When a system and its subsystems are modeled in more than one model, it is good
practice to version all the models at the same time. Failure to do so can result in
version skew.
PTC’s Asset Library is one good example of breaking a model into subsystems for
better management.
Asset library
Asset Library is a web-hosted systems and software engineering asset
management system that is provided by PTC.
In conjunction with Modeler, Asset Library is used for breaking what could be
large and cumbersome models into smaller models, which can represent the same
modular structure as your system-of-systems, or service-oriented and component-
19
Model Manager overview
Model Manager executes the model functionalities from the server and not from
the client. It is used to schedule operations such as backing up, importing, and
exporting models that can be performed out of working hours.
Model Manager is a web application that allows users to login to a Modeler server
and perform common database and model management tasks on that Modeler
Server.
Executing tasks on the Modeler Server, instead of the Modeler Client,
significantly improves performance of many operations.
Key features include:
• Perform common database management tasks including start, stop and
upgrade.
• Perform common model management tasks including export, import, new
version and upgrade profiles.
• Streamlined user experience for initiating, executing, monitoring and
managing tasks.
• Tasks can be scheduled to execute at specific times (for example outside of
working hours) in order to minimize the performance impact on the Modeler
Servers and users.
• Scheduled tasks can also be set to recurring, allowing routine management
tasks to be executed on a regular basis.
• Database and model access permissions are respected when using Model
Manager.
Note
The above stored procedure works only if the log file size is greater than 2
GB. If it is, then the log file size is truncated to 64 MB.
For more information about stored procedures, refer to the SQL Server help topic
on how to execute a stored procedure:
For more information about backing up and deleting log files, see the
Administration chapter of the Modeler help.
Note
The optimize command is available only to Administrators.
21
• Model Manager
• SQL Server Management Studio
For more information about transaction logs, refer to the following help topic for
SQL Server:
The Transaction Log
Syntax:
ScfUtils -optimizedb Enterprise "<database-ref>"
Example:
ScfUtils -optimizedb Enterprise "\\SQL\Server1@MODELER\ModelsDB"
Performance troubleshooting
Update statistics
You can use the UPDATE STATISTICS query to update optimization statistics
on a table or an indexed view. You can also execute the sp_updatestats
stored procedure to update the statistics if the default updates are not too frequent.
For more information on Update Statistics, see:
• Update Statistics (Transact-SQL)
• Update Statistics
Process Lock/Deadlock
A deadlock results when two or more transactions lock the same resources. You
can execute the sp_who2 stored procedure to determine which processes are
blocking or creating the deadlock.
Compatibility Levels
When you migrate a database from an older version of SQL server, the database
does not automatically change its compatibility level. All of the query optimizer
changes are gated to the latest database compatibility level. Therefore, execution
23
plans are not changed right at point of upgrade but rather when a user changes the
COMPATIBILITY_LEVEL database option to the latest available. This gating
capability provided by the database compatibility level, in combination with
Query Store, gives you a great level of control over the query performance in the
upgrade process.
The compatibility level can be set through SSMS:
Click Database ▶ Properties ▶ Options and set the COMPATIBILITY_LEVEL to
the latest.
For more information on Compatibility Levels, see the following:
• ALTER DATABASE (Transact-SQL) Compatibility Level
• Change the Database Compatibility Level and use the Query Store