Information for setting up an environment to run PlanetTogether. Includes hardware guidelines, network considerations, user login methods and performance benchmarks.
This guide will help IT personnel determine how their existing hardware and network infrastructure can be used or expanded to support PlanetTogether software. This guide will cover hardware requirements for a server and end user’s computers, failover and recovery, and possible impact on users from limited networks. Content provided is for planning and informative purposes only. This guide does not contain step-by-step instructions for implementing or configuring PlanetTogether software features.
References to the phrase ‘PlanetTogether’ in this document refers to the Advanced Planning and Scheduling software provided by PlanetTogether Inc.
Note that this is not the PlanetTogether installation guide. Installation instructions can be found online at download.planettogether.com.
The recommended hardware depends on if PlanetTogether will be running on a dedicated machine or sharing resources with other demanding applications. If running PlanetTogether on a dedicated machine, the Workstation recommendation is ideal. The server recommendation will provide better results if the machine is running other applications such as SQL Server, ERP software, or PlanetTogether clients (even on other isolated virtual machines). PlanetTogether may be run on virtual environments with no additional hardware requirements.
Note that CPU speed is the most impactful component on PlanetTogether performance. Therefore, faster CPU speeds will result in noticeable speed improvements.
Investment in faster desktop hardware for the client sign-in application will be more valuable in user-perceived performance. The only noticeable impact of having a server slower than the client will be when publishing the schedule, as the server will have to catch up before the publish is started. This is especially important in cloud server environments since cloud servers with high-speed processors can be expensive.
The minimum recommendation is a CPU with a speed of 2.3 GHz. PlanetTogether must be running on an environment with at least 4 dedicated CPU cores. In addition, the server should have 10 GB of free disk space per instance for transactional data files.
Recommended Server Specifications
- Server CPU: Latest Intel Xeon 3.8 GHz or faster
- At least 4 cores should be dedicated to the PlanetTogether environment
- At least 2 cores should be dedicated to each instance of PlanetTogether running concurrently.
- OR Workstation CPU: Latest Intel i7, i9, or AMD Ryzen. 4.0 GHz or faster
- Workstations can be useful in running PlanetTogether instances if performance is a top priority. Non-server CPUs often have faster speeds and better CPU cooling available. A high-end i9 can complete CPU-limited actions such as optimization at up to 5GHz, resulting in a significant performance gain over a higher core count server CPU.
- Dedicated 32 GB if under 20,000 orders across all active instances
- Dedicated 64 GB if over 20,000 orders or using End User method 2 (below)
- Actual memory requirements will depend on the data model and the number of instances running and other applications on the same server, such as SQL Server.
On-Premise Server Management
PlanetTogether Data Volume Performance
PlanetTogether’s architecture is designed to provide the fastest possible responsiveness to users in data-intensive applications. All data is loaded into computer memory for processing that is much faster than disk-based operations that are common in traditional databases. The memory-resident data objects also have direct links to each other designed to allow for fast access to needed information without relying on time-consuming lookups that are also common in many other traditional database systems. The software also utilizes multi-threading extensively. The result is that in most businesses, small or large, PlanetTogether will provide schedule optimizations and adjustments in minutes or even seconds, resulting in a system that is easier and more enjoyable to use.
The most important factors affecting performance are: (1) the number of operations in the schedule, (2) the features in use, and (3) the computer hardware.
Server Demands and Benchmarks
The hardware used to perform the following tests matched the Workstation Recommended Specifications above (both server and client components were installed on the Workstation).
This first table shows estimated optimize times based on data volume with minimal constraints. The model contained 100 resources with random need dates and minimal constraints. The only way to be sure of actual performance and memory requirements is to build a representative model of the particular factory with the required features and actual data volumes running on the computers to be used. This article provides tips for performance tuning.
|# Scheduled Operations||Seconds for full Optimize|
Example model data volumes from realistic models
The following diagram shows realistic models containing multiple constraints.
PlanetTogether End Users
There are three common ways to run the PlanetTogether client application. In each case, the client computer needs access to the PlanetTogether server on the standard installation TCP ports. No other internet access is required. Allowing user access to planettogether.com may be helpful for online help and support resources. End users normally run a PlanetTogether login application that automatically retrieves the latest client updates. This allows for upgrades to PlanetTogether without additional configuration or updates to the end user’s computer. The login application is not required, and users may also run the full client application to connect to PlanetTogether.
- Users run PlanetTogether client on their own computers
- Each user’s computer should meet the minimum hardware requirements for PlanetTogether and the memory recommendation for workstations
- Users run PlanetTogether on the server machine
- In this setup, the Server hardware selection is recommended
- Each end-user should be using a separate windows user
- Users run PlanetTogether in a virtual desktop environment.
- Virtual desktops are supported; however, users may not use the client log-in application when connecting to PlanetTogether. Instead, the client log-in application stores information in the user’s roaming AppData folders.
- As an alternative, users can run the full client application to log in. This full client does not require information stored in user profiles but must be installed and accessible for each user.
A note about ports:
For versions 11.49.x and above, port 7994 is the secure port to allow clients to connect to PlanetTogether. Ports 7995 and 7996 are used on the PlanetTogether server only, and no access outside of the server is required for those.
For earlier versions, port 7991 is the port to use to allow clients to connect to PlanetTogether. Ports 7992 and 7993 are used on the PlanetTogether server only, and no access outside of the server is required for those.
Version 11.39 and older will use port 7990 instead of 7991. Once all older instances are upgraded, port 7990 can be disabled.
Performance with many users
User scheduling actions are processed synchronously. If one user’s action is processed, the other user’s actions will be queued and processed in sequence. PlanetTogether clients will remain responsive while performing scheduling actions. Users may continue to view and analyze data, run reports, and queue additional actions while other user’s actions are in process.
If many users log in to PlanetTogether simultaneously, the limiting factor for login speed will be network bandwidth. This is because each client will be retrieving the required application data. If clients take too long to log in due to low bandwidth, consider staggering user logins or leave clients connected continuously to avoid the login process.
Active Directory Integration
PlanetTogether supports Microsoft Active Directory for user management. On the server, the APS System Service must be configured with a Log On As user with permissions to read the Active Directory domain.
Active Directory Integration is managed in the PlanetTogether Instance Manager application. If enabled, a domain security group can be specified. Only users in this group will be able to log in with their Windows users.
User’s within the system must still be imported. For example, the user login name imported much match the Active Directory Domain user name.
When users log into PlanetTogether clients, they will have three methods:
- First, use PlanetTogether standard user authentication. This method is available even when Active Directory login is enabled. To disable this login method, an Admin may set a strong password in the PlanetTogether system for each user.
- Use the current Windows user account. With this method, the user only needs to provide their current Windows account password.
- Use a different Windows user account. With this method, the user may provide a different Windows Active Directory user account and password.
Operating System Compatibility
PlanetTogether server, clients, and associated programs running on the Microsoft .NET Framework (version 4.8). It is compatible with all Microsoft Windows operating systems that support this framework. However, a 64-bit operating system is recommended for better performance and future support.
Note: PlanetTogether versions 11.39.9 and later now require a .NET Framework version 4.8.
Any virtual machine that meets the minimum hardware requirements and runs a compatible operating system is sufficient to handle PlanetTogether. The standard approach to installing PlanetTogether in the cloud is to use a Windows virtual machine on any cloud platform.
Note that there is great variability in the performance of cloud virtual machines. However, as CPU performance is the most important factor for the speed of PlanetTogether, cloud machines with fast computing performance are recommended.
PlanetTogether uses TCP connections to communicate between clients, the server, data sources, and configuration programs. The TCP ports used by PlanetTogether are configurable for each of these connections. Typical data volumes include: between 10 MB to 200 MB during startup of the client, 1 MB to 5 MB between the server and the import data source during queries of the data source, and minimal network during normal operation of a client.
Server software installation using our web installer requires access to https://planettogether.com and the following subdomains and the Licensing URLs below. An offline installer is also available if internet access is unavailable.
The server application requires an active internet connection and access to:
An active internet connection means continuous internet access while the instance is running. However, intermittent connection losses will not affect licensing if the server has connection issues; consult with a PlanetTogether engineer to determine any potential licensing problems.
The primary data import and export source for PlanetTogether is Microsoft SQL Server. Version 2008 and later are supported. A SQL Server installation is most likely required. Integrations to or from other data sources can be achieved through PlanetTogether integrations that use SQL Server as a staging database. Data can also be imported directly from Excel files. For Excel import, a data adapter that matches the Excel version is required.
PlanetTogether can also export to an XML formatted data file for custom export processes.
Integration services and methods vary; please consult with a PlanetTogether engineer to determine the ideal setup for your environment.
Fail-over and Recovery
To assist in server failure, a standby PlanetTogether instance can be prepared for fast recovery.
Backing Up PlanetTogether
- PlanetTogether automatically provides transactional data backups. These files reside on the PlanetTogether server.
- Transactional files should be backed up to a secondary location for recovery in case of a server failure.
- A second PlanetTogether installation is required in case of a server failure. The second instance can be pre-installed with the same configuration as the primary instance. However, it cannot be active while the primary instance is active.
- For recovery, the latest transactional backup can be restored by taking the latest snapshot (scenario.dat file and/or transaction files) and applying it to the secondary instance. The secondary instance can then be started. Once started, the instance will become active automatically if the primary instance is offline.
- Clients connect to the instance by a server connection string. The connection string needs to be pointed to the new instance, or clients must use a new connection string to access the secondary instance.
PlanetTogether does not support load balancing. Only a single server instance is running at once. PlanetTogether is a high-performance, memory-resident program capable of optimizing large amounts of data due to its in-memory objects. To allow for this capability, scheduling operations cannot be distributed among multiple services, and data is not stored in a shared database or store. In most situations, the high performance of PlanetTogether alleviates the need for load balancing to achieve fast performance. If your application has a high volume of scheduled operations (more than 25,000, for example), testing the application in a Proof-of-Concept configuration is recommended.
Most user actions are not affected by latency or slow connections. However, users may experience a slight delay between attempting to act and when the action begins under inferior connections. A slow connection will more heavily impact the following actions:
- Client login. Slow connections may result in long login times for end-users. This action is the most heavily impacted. Depending on the connection limits, it may be preferred to stay logged in to the system.
- Data refresh. Depending on the amount and frequency of data brought into the system, import actions may take longer for users on a slower connection.
- Data export. This action is only affected by the server’s network performance. Slow connections will result in longer publish durations.
Unstable connections where network connections may be completely disrupted have varying effects. The server must have, at a minimum, a few-minute connection each day to the internet for licensing communication. Client’s whose connection with the server is disrupted will not be able to perform actions. If the client’s connection is disrupted for a long duration (configurable but generally 1-3 minutes), it will be disconnected from the server and need to log into the system again when the network connection is restored.
To enable SSL connection and choose a certificate, see the following setup instructions: Server Manager settings.
- Go to the following section of the registry: HKLM SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols.
- You may have to create the TLS 1.0 and TLS 1.1 subkeys. Create them if they don't exist.
- Under each of those subkeys, create a Server subkey (if it doesn't already exist).
- In each Server subkey, create a DWORD called "Enabled" and set it to 0. This will disable the specific protocols referenced.
- HKLM SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.0\Server Enabled DWORD 0
- HKLM SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL\Protocols\TLS 1.1\Server Enabled DWORD 0
- A reboot may be required to take effect. Note that this will disable TLS 1.0 and 1.1 for all applications using CHANNEL on this server.
Service & Support
For ease of service and support during integration, implementation, and support/maintenance activities, VPN remote access to PlanetTogether application server and SQL Server is required. This typically is configured the following way:
- Windows Remote Desktop access with Administrator privileges
- Windows users must have administrator privileges on the server
- SQL Server authentication login/user
- read/write/owner access to PlanetTogether Staging Databases
- Ability to execute stored procedures, update, select, drop, insert, etc.…
- Read access to linked servers and other data sources containing scheduling data.
- read/write/owner access to PlanetTogether Staging Databases