System Planning
Print Friendly View
written: 05/01/2025
last modified: 05/01/2025

Every system is different. Consequently, system planning is unique for each customer and situation. Below are things to consider.

Business Goal

As with all projects, you need to first identify why you are building or modifying your system. What is your goal? Is it to collect more data? Is it to be more efficient? Is it to reduce defects?

Variables

Identify the variables in your environment that will impact performance. These variables define the load on the overall system. Some common variables are:

-          How many users?

o   Number of simultaneous users and the types of users

o   Are users in the same location or on the same network?

-          How is the data being collected?

o   CMM

o   Gages

o   Automated data feeds

o   Manual entry

-          How much data?

o   Number of part files

o   Number of records per part file

o   Number of characteristics and trace fields per record

o   Number of records processed each minute (frequency or read rate)

o   Complexity of record or characteristic filters

o   Number of reports

o   Number of exports

o   Number of data groups

o   Number of dashboards

o   Number of full views

o   Number of snapshots

-          What tools do you have?

o   Measurement systems

o   Interfaces to other applications (e.g., MES, SPC, Minitab, etc.)

o   Computer – age, performance level, load from other applications, operating system.

o   Database – volume of data, MS SQL, QCQ files, shared with other applications.

o   Network – LAN, WAN, Internet access, load from other applications

o   Prolink applications

o   Third party applications

Tools

Computers

Computers have a significant impact on the performance of data collection and analysis. Prolink applications can run on older slower computers with less resources, but you will see slower performance. The recommended client computers have a high-speed CPU, SSD hard drive, and plenty of RAM. The suggested client computer configuration is:

-          Intel i7, i5, or equivalent with 12 or more threads (Gen 11 or better)

-          16 GB of RAM or more

-          512 GB SSD 

Windows 11 is recommended since the newer generation software and future releases may require the latest Windows release. Prolink applications can run on older versions of Windows, but this could impact performance and limit application features that are available.

More details on client computers are in Appendix A - Thick Client vs. Thin Client.

Servers

Server selection and configuration is completely up to the customer. Prolink applications cause minimal direct load on the server. The server load is primarily Microsoft SQL Server and Microsoft Windows RDS client sessions.

Physical vs. Virtual

Prolink applications run on either Physical or Virtual computers. It is up to the Customer to determine if the virtual machine has sufficient resources to run the Prolink application and support other products like SQL Server or RDS. Also, the physical server hosting the virtual machines must have sufficient resources to perform well.

Other Considerations

Customers may have other server architecture needs. The customer may need a server farm or more complex server configuration. These types of systems have support challenges and may be more expensive. These advanced architecture needs may include:

·         Load Balancing

·         Redundancy

·         Fault Tolerance

·         Virtualization

·         Storage on the network (e.g., SAN)

Server Performance Tuning Articles

Prolink relies on the customers to do their own performance tuning.  Here are handful of examples of the many articles on server performance tuning found on the web:

For RDS:

https://learn.microsoft.com/en-us/windows-server/administration/performance-tuning/role/remote-desktop/session-hosts

https://hub.acctivate.com/articles/remote-desktop-performance

For SQL Server:

https://learn.microsoft.com/en-us/sql/sql-server/install/hardware-and-software-requirements-for-installing-sql-server-2022?view=sql-server-ver16

https://learn.microsoft.com/en-us/sql/relational-databases/performance/monitor-and-tune-for-performance?view=sql-server-ver16

https://www.mssqltips.com/sqlservertip/3235/sql-server-hardware-configuration-best-practices/

https://www.mssqltips.com/sqlservertutorial/276/sql-server-performance-tuning-and-monitoring-tutorial/

https://docs.media.bitpipe.com/io_10x/io_106127/item_568340/Top10SQLPerf3.pdf

https://www.petenetlive.com/kb/article/0001753

https://greenclouddefense.com/knowledge-base/rds-sizing-guide/

Database

Prolink applications store data in QCQ files or a SQL Server database.

SQL Server vs. QCQ

Prolink applications store data in two formats: Microsoft SQL Server database or QCQ files.

A QCQ file contains a single part file. The file is an SQLite database file.

Microsoft SQL Server contains many part files and related data. MS SQL is used by a high percentage of Prolink customers and is better suited for Prolink enterprise applications.

Prolink applications work with all variants of Microsoft SQL Server (e.g., Express, Standard, Enterprise, etc.). However, be aware of the limitations of the different variants. As an example, SQL Server Express can only handle database files size of up to 10 GB.

Archiving

Customers are encouraged to use Enterprise Data Loader to archive older data. This will reduce the amount of data in a working database, which will improve performance. EDL can run periodic jobs to move data to another database when it is sufficiently old (e.g., monthly, annually, etc.). Archiving older part files or records will keep the working database smaller, which enables queries to run faster.

Network

Network performance and reliability impact Prolink applications.

·         If a network is overwhelmed, then Prolink applications are likely to have latency responding to user actions.

·         An unreliable network will slow down data collection and risk data loss. Prolink’s QC-CALC Real-Time is designed to mitigate losing contact with the SQL Server. However, other applications may not be as resilient.

·         Firewall and other cyber security measures will complicate and potentially degrade network performance, which can slow down data collection and analysis.

Prolink recommends the shortest physical distance between the data collection station and the database. This recommendation also applies to the computers hosting data analysis tools. Ideally all computers are in the same building on the same LAN, but this is becoming less common. A worst-case example is having thin clients running off a server in one location, the database hosted on a different server in another location, and the ERS & QC-Mobile applications running on different servers in yet another location. This undesirable example is vulnerable to many potential failure points.

Application Load

The load on the client computer or server is determined by the sum of the load of all applications running on it. Appendix B – Load of Prolink Applications has observations about the typical load that Prolink applications put their host computer. Customers also need to consider all the other applications that may be running on each computer.

Resources

What resources is the customer investing in the system?

-          Time – What are the deadlines?

-          Funding

-          Staff – How many people? What are their existing skills and abilities? Training?

-          Champion – Who is leading this project? Who will be the primary contact for support?

Risks & Vulnerabilities

Identify what can go wrong, so you can proactively plan to mitigate it. The following are a small number of example scenarios that should be considered:

-          Collecting more data than your database can handle.

-          Collecting data faster than the system can process it.

-          The system is sluggish, and the latency is more than the users can tolerate.

-          What happens when the WAN fails?

Conclusion

Each Customer’s needs and environment are unique. Consequently, no formula exists to easily define the solution or server configuration needed to reach a customer’s goals. System planning is a dynamic process that is constantly evolving.

Appendix A – Thick Client vs. Thin Client

Customers need to decide whether they want to use Thick Clients or Thin Clients. This decision is unique to each organization and has many things to consider. Often customers use a combination of Thick and Thin Clients.

What is a Thick or Thin Client?

A Thick Client would be a physical computer running Windows and hosting Windows applications.

A Thin Client is a device that runs a virtual desktop session on a server to run applications on the server. A thin client can be a Wyse terminal, a Raspberry Pi, or Windows computer. A Thin Client device is sometimes referred to as a “dumb terminal”.

Factors to Consider

Hardware & Software Needed

ADVANTAGE: Toss-up – Both requires similar hardware or software

A Thick Client system only needs a computer for each user or station. The computer could be a desktop, industrial computer, laptop, etc. Each computer needs its own copy of Windows and the Prolink applications (e.g. GageStation, SPC Office Buddy, etc.). You can have a successful data collection and SPC system with just a client computer, but typically a server is needed to host a SQL database, file sharing, or other shared resources.

A Thin Client needs a device on the user’s desk or station and a server to host the virtual desktop and applications. A Thin Client device does not host any software, so it relies on the server to desktop environment and the Prolink applications.

Both need a keyboard, mouse, monitor, and possibly USB for connection to gages). The size of the cabinet holding a thick or thin client has become essentially the same.

Cost

ADVANTAGE: Thin Client – A Thin Client system may cost less, but it has more variables. In certain situations, the Thick Client system may be more cost effective.

Sample budgets for Thick Client systems

Budget for a single Thick Client seat

Item

Cost

Purpose

Computer (Intel i7,16GB,512GB SSD,Win11Pro)

$800

Estimated typical cost for this config

Monitor (24”)

$100

GageStation

$1,560

Quantity discount (single seat is $1,950)

TOTAL

$2,460

Budget for a server for a Thick Client system supporting 10 users on a SQL Server database.

Item

Cost

Purpose

Server (2x Intel Xeon, 32GB, 1TB SSD)

$5,000

Estimated typical cost for this config

Windows Server 2022

$1,000

Broad estimate of OS plus client licenses

SQL Server 2022

$3,000

SQL Server 2022 – 10 User CAL’s

$1,800

TOTAL

$10,800

Budget for a 10 user Thick Client system

Item

Cost

Purpose

10 Thick Client

$24,600

1 Server

$10,800

TOTAL

$35,400

Sample budgets for Thin Client systems

Budget for a single Thin Client seat

Item

Cost

Purpose

Device (Raspberry Pi)

$100

Estimated typical cost for this config

Monitor (24”)

$100

TOTAL

$ 200

Budget for a server for a Thin Client system supporting 10 users on a SQL Server database.

Item

Cost

Purpose

Server (2x Intel Xeon, 64GB, 1TB SSD)

$6,000

Estimated typical cost for this config

Windows Server 2022

$1,000

Broad estimate of OS plus client licenses

Windows Remote Desktop Service CAL (10x)

$1,250

Needed for clients to run on Windows Server

SQL Server 2022

$3,000

SQL Server 2022 – 10 User CAL’s

$1,800

Prolink GageStation for 10 seats

$15,600

TOTAL

$28,650

Budget for a 10 user Thick Client system

Item

Cost

Purpose

10 Thick Client

$2,000

1 Server

$28,650

TOTAL

$30,650

IT Support & System Maintenance

ADVANTAGE: Toss-up – Both have advantages

A Thick Client system requires maintaining client computers and likely a database server. Since the client computers host Windows and applications, each computer needs to be maintained. For example, updating Windows or Prolink applications needs to be done on each client separately. The server will be updated independent of client computers.

A Thin Client has different support challenges. The client device generally does not run Windows, so IT support needs to be fluent in the Thin Client operating system (e.g., Linux). Updating Windows and Prolink applications occurs on the server. Consequently, an application only needs to be updated on one computer. However, updating the applications may require an outage, since all seats will update simultaneously, and the application cannot be in use during the update process.

CMM & Gage Support

ADVANTAGE: Thick Client

A Thick Client can support any CMM, gage, or measurement devices.

A Thin Client is limited to the devices that it supports. Thin Clients only support keyboard input. Fortunately, the MicroRidge Keyboard Wedge converts data from a variety of measurement devices to keystrokes.

Network

ADVANTAGE: Thick Client

A Thick Client collects data on the local computer and saves it to a local QCQ file or uploads it to the SQL Server database. Prolink applications.

A Thin Client is dependent on Network performance. All operations occur on the server. The Thin Client sends the user input (primarily keystrokes and mouse actions) and receives the graphics from the server. If the network is overwhelmed, the user may see latency in feedback to input (e.g. the user clicks on a menu item, and it takes seconds for the application to display a new dialog). This latency can be worsened by an overwhelmed server.

Performance

ADVANTAGE: Thick Client

A Thick Client system’s performance is more predictable since it is spread between the client computers and the server. Prolink applications are running the individual’s computer, so resources are not shared. The server is focused on hosting enterprise applications. These applications may include the SQL Server database, QC-CALC Real-Time as a Service, Enterprise Report Scheduler (ERS), Enterprise Data Loader (EDL), QC-Mobile, or Prolink License Server (PLS). The Prolink enterprise applications rarely put overwhelming load on the server.

A Thin Client system puts all the load on the server, which can be more challenging to balance. Like a Thick Client system, the server may host the enterprise Prolink applications and a SQL Server. The Thin Client server also hosts virtual desktops for each client computer. Microsoft Windows Server does this through its Remote Desktop Services (RDS). RDS requires CPU, memory, and disk resources to run each user session, and this load adds up fast. To make a Thin Client system successful, you need an IT support team with RDS skills and willingness to invest in more powerful servers.

Virtualization or Cloud Support

ADVANTAGE: Thin Client

Some companies have a mandate to virtualize their systems or use cloud technologies. Only Thin Clients support this.

Appendix B - Load of Prolink Applications

Below are observations of the load that Prolink applications typically put on the host computer. These observations are on Prolink’s test systems, so a customer needs to investigate how their data load with Prolink applications impacts their systems.

As an example, when a customer has over 1000 part files with less than 50 records per file, they may see different resource use when compared to a customer with only 10 part files with over 10,000 records per file. In this example, the size of each customer’s SQL database may be the same, but the performance of Prolink applications will behave very differently.

Application

Overall

Runs on

CPU

Memory

Disk

Network

Database

QC-CALC Real-Time

Collect data & displays graphics

Client

Medium

Medium

variable*

Medium

High – read & write

QC-CALC SPC

Data analysis

Client

Low

Low

Low

Low

Low – Queries only

QC-Gage

Get gage data

Client

Low

Low

Low

Low

Trivial – Queries only

SPC Office Buddy

Convert data

Client

Medium

Medium

Low

Low

Low – Queries only

QC-PLC

Get PLC data**

Client

Medium

Medium

Low

Low

None

QC-View

View data

Client

Low

Low

Low

Low

Low – Queries only

DCS

Get data for RTS

Client

Low

Low

Low

Low

None

EDL

Transfer data between DBs

Server

Medium

Medium

variable*

Low

High – read & write

ERS

Data analysis

Server

High

High

Low

Medium

High – many Queries

ERS Service

Batch data analysis without graphics

Server

High

High

Low

Medium

High – many Queries

QC-Mobile

Display data

Server

Medium

Medium

Low

Low

High – many Queries

Real-Time as a Service

Collect data without graphics

Server

High

High

variable*

Medium

High – read & write

PLS

License management

Server

Trivial

Trivial

Low

Low

None

* - Disk space and activity depend on numerous factors. Disk space and activity will be higher on the client computer when QCQ files are used, and it will be higher on the server when a SQL database is used. Total disk space needed depends on the number of part files, records per part file, and characteristics & trace fields in each record. The disk activity and CPU usage are based on the number of records processed each minute and the number of users sharing the SQL database. Also, RAM & CPU use will be proportional to the number of records in a part file and the number of characteristic & trace fields in each record.

** - The number of records per minute will determine the CPU usage. The number of characteristics and trace fields will determine RAM usage.

Applies To

Category

General Program Information
See more articles in this category