PI System Learning
ModulesPerformance Optimization
Module 7Expert

Performance Optimization

Optimize PI System performance through archive tuning, network configuration, interface optimization, and monitoring strategies for large-scale industrial deployments.

90 min8 topics2 code examples

Performance Baseline

Before optimizing, establish a performance baseline using PI System health tags and Windows Performance Monitor.

Key Performance Indicators

MetricHealthy RangeWarningCritical
Archive % Full< 80%80-90%> 90%
Snapshot Queue< 10001000-5000> 5000
Input Rate< 80% capacity80-90%> 90%
Archive Write Rate< 50,000/sec50-100K/sec> 100K/sec
CPU Usage< 60%60-80%> 80%
Memory Usage< 70%70-85%> 85%

PI System Health Tags

PI System automatically creates health tags for monitoring:

System.Archive.PercentFull       → Archive disk usage
System.Snapshot.QueueLength      → Pending snapshot events
System.Archive.WriteRate         → Events written per second
System.Archive.ReadRate          → Events read per second
System.Network.BytesSent         → Network throughput
System.Network.BytesReceived     → Network throughput

Compression Tuning

Proper compression settings are the single biggest performance lever:

Compression Deviation Best Practices

For analog process values (temperature, pressure, flow):
  ExcDev = 0.1% of span (noise filter)
  CompDev = 0.05% of span (storage optimization)
  ExcMax = 600 seconds (force write every 10 min)
  CompMax = 28800 seconds (force write every 8 hours)

For fast-changing values (vibration, power quality):
  ExcDev = 0.5% of span
  CompDev = 0.2% of span
  ExcMax = 60 seconds
  CompMax = 3600 seconds

For slowly changing values (tank levels, temperatures):
  ExcDev = 0.05% of span
  CompDev = 0.02% of span
  ExcMax = 3600 seconds
  CompMax = 86400 seconds (24 hours)

Snapshot Buffer Optimization

The snapshot buffer holds current values in memory before writing to archive:

# PI Server tuning parameters (piconfig or SMT)
[PI Server]
SnapshotBufferSize = 500000    # Events in memory
SnapshotFlushInterval = 1      # Seconds between flushes
MaxArchiveWriteRate = 100000   # Events/second to archive

Network Configuration

PI uses TCP port 5450 by default. Optimize for industrial networks:

Recommended Network Settings:
├── Dedicated VLAN for PI traffic
├── QoS priority for PI Server traffic
├── MTU: 1500 bytes (standard Ethernet)
├── TCP buffer size: 256KB minimum
└── Firewall rules: Allow TCP 5450 bidirectional

Capacity Planning Formula

# PI System Capacity Calculator
tags = 100_000          # Number of PI tags
avg_events_per_day = 1440  # 1 event/minute average
bytes_per_event = 16    # Compressed event size
days_online = 365       # Archive retention

# Storage requirement
storage_gb = (tags * avg_events_per_day * bytes_per_event * days_online) / 1e9
print(f"Storage needed: {storage_gb:.1f} GB/year")

# Network bandwidth
events_per_second = tags * avg_events_per_day / 86400
bandwidth_mbps = (events_per_second * bytes_per_event * 8) / 1e6
print(f"Network bandwidth: {bandwidth_mbps:.2f} Mbps")

Ready to test your knowledge?

Take the quiz for this module to earn completion credit and unlock achievements.