You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Current »

Configuring FrameworX runtime servers for production operations.

Parent Page: Deployment (Reference)



Server Architecture

Core Components

ComponentFunctionDefault Port
TServer.exeRuntime engineN/A (internal)
TWebServicesRemote access, web clients10108
DatabaseTag values, history, alarms1433 (SQL Server)
TSecureGatewayMulti-site routingConfigurable

Runtime Configuration

Startup Settings

Configure in Runtime → Startup:

Auto-Start Options:

  • Start when computer starts
  • Start as Windows Service
  • Delay start (seconds)
  • Auto-restart on failure

Command Line Parameters:

cmd

TServer.exe /solution:MySolution.tproj
  /port:10108
  /disableinterface
  /trace:verbose

Memory Management

Large Solutions (>50,000 tags):

xml

<runtime>
  <gcServer enabled="true"/>
  <gcConcurrent enabled="true"/>
  <GCHeapCount>8</GCHeapCount>
</runtime>

Database Configuration

Embedded SQLite (Default)

Location: Solution folder Size Limit: 50,000 tags recommended Backup: Copy .db files when runtime stopped

External SQL Server

Connection String:

Server=sqlserver.domain.com;
Database=FrameworX;
User Id=fxuser;
Password=SecurePass123!;

Required Permissions:

  • db_datareader
  • db_datawriter
  • db_ddladmin (for table creation)

Time-Series Optimization

For historian data:

sql

CREATE INDEX IX_Timestamp ON HistorianData(Timestamp)
CREATE INDEX IX_TagName ON HistorianData(TagName, Timestamp)

Network Configuration

Firewall Rules

Required Ports:

PortProtocolDirectionPurpose
10108TCPInboundTWebServices/Clients
1433TCPOutboundSQL Server
502TCPOutboundModbus devices
102TCPOutboundS7 PLCs

Windows Firewall:

cmd

netsh advfirewall firewall add rule name="FrameworX Runtime" 
  dir=in action=allow protocol=TCP localport=10108

Network Adapters

For multi-homed servers:

xml

<networkSettings>
  <bindToIP>192.168.1.100</bindToIP>
  <clientInterface>192.168.1.0/24</clientInterface>
  <deviceInterface>10.0.0.0/24</deviceInterface>
</networkSettings>

Performance Tuning

Windows Optimization

Power Settings:

cmd

powercfg /setactive 8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c

(High Performance plan)

Process Priority:

cmd

wmic process where name="TServer.exe" CALL setpriority "high"

Linux Optimization

System Limits:

bash

# /etc/security/limits.conf
frameworkx soft nofile 65536
frameworkx hard nofile 65536
frameworkx soft nproc 32768
frameworkx hard nproc 32768

CPU Affinity:

bash

taskset -c 0-3 /opt/frameworkx/TServer.exe

Monitoring

Performance Counters

Monitor these metrics:

  • CPU usage < 70%
  • Memory usage < 80%
  • Disk queue length < 2
  • Network utilization < 60%

Log Configuration

xml

<logging>
  <level>Information</level>
  <maxFileSize>100MB</maxFileSize>
  <maxFiles>10</maxFiles>
  <path>C:\Logs\FrameworX\</path>
</logging>

Health Checks

Configure endpoint for monitoring:

http://server:10108/health

Returns: CPU, Memory, Disk, Service Status


Backup and Recovery

Backup Strategy

Daily Backup:

  1. Stop runtime (if possible)
  2. Backup solution files (.tproj, .dbsln)
  3. Backup database
  4. Backup configuration files
  5. Restart runtime

Backup Script:

powershell

Stop-Service "FrameworX Runtime"
Copy-Item "C:\Solutions\*" "\\backup\solutions\" -Recurse
Start-Service "FrameworX Runtime"

Disaster Recovery

RPO/RTO Targets:

  • Recovery Point Objective: 1 hour
  • Recovery Time Objective: 15 minutes

Recovery Steps:

  1. Install FrameworX on new server
  2. Restore solution files
  3. Restore database
  4. Update client connections
  5. Verify operation


  • No labels