Home>Performance Monitoring Toolset

Install, Size, and Use PMT for Evidence-Based Tuning

The Performance Monitoring Toolset (PMT) is ColdFusion's integrated observability platform built on the Elastic Stack. You should use PMT to collect metrics, analyze performance patterns, and make data-driven tuning decisions for JVM settings and application optimization.

What is PMT?

PMT consists of three integrated components that work together to provide comprehensive monitoring:

  • Elasticsearch: Stores all metrics and log data in a searchable format
  • Logstash: Processes, transforms, and enriches incoming data before storage
  • Kibana: Visualizes data through pre-built dashboards and custom queries

Once configured, ColdFusion automatically sends performance metrics to PMT, including request response times, database query execution times, memory usage patterns, and error rates.

Installation Prerequisites

Before installing PMT on Linux systems, you must configure system limits to ensure Elasticsearch can start and operate properly:

# Increase file descriptor limits
echo "* soft nofile 65536" >> /etc/security/limits.conf
echo "* hard nofile 65536" >> /etc/security/limits.conf

# Increase virtual memory for Elasticsearch
sysctl -w vm.max_map_count=262144
echo "vm.max_map_count=262144" >> /etc/sysctl.conf

PMT Installation

Install PMT using cfpm or the ColdFusion Administrator:

# Install PMT via cfpm
cfpm install pmt --acceptEULA

# Or install via ColdFusion Administrator
# Navigate to: Server Settings > Performance Monitoring Toolset

After installation completes, you need to configure ColdFusion to send metrics to the PMT endpoint. This is typically done through the ColdFusion Administrator.

Sizing and Retention

Size your Elasticsearch cluster based on your expected traffic volume and data retention requirements. Here are general guidelines:

  • Low Traffic: Single node with 8GB RAM and 100GB disk storage
  • Medium Traffic: 3-node cluster with 16GB RAM each and 500GB disk per node
  • High Traffic: 5 or more nodes with 32GB RAM each and 1TB or more disk per node

Configure index lifecycle management policies to automatically manage data retention and prevent unlimited disk growth:

# Example: Retain metrics for 30 days
# Configure in Kibana Index Lifecycle Policies
Hot phase: 7 days
Warm phase: 14 days
Delete phase: After 30 days

Key Dashboards to Monitor

PMT provides pre-built Kibana dashboards that visualize critical performance metrics. Focus on these key dashboards:

Response Time Dashboard

  • Average, p95, p99 response times
  • Slowest endpoints
  • Response time trends over time

Database Time Dashboard

  • Query execution times
  • Slow query identification
  • Database connection pool usage

JVM and GC Dashboard

  • Heap usage over time
  • GC pause duration and frequency
  • Thread pool saturation

Errors Dashboard

  • Error rate trends
  • Exception types and frequency
  • Error distribution by endpoint

Performance Tuning Workflow

Use PMT to validate every configuration change you make to your ColdFusion environment. Follow this systematic workflow:

  1. Establish baseline metrics before making any changes to your configuration
  2. Change only one variable at a time to isolate the impact of each modification
  3. Run load tests that simulate realistic production traffic patterns
  4. Compare before and after metrics in PMT dashboards to measure the impact
  5. Keep the change if metrics improve, or roll back if they degrade
Key Principle: Never tune your system without metrics. PMT provides the quantitative evidence you need to make informed decisions rather than relying on guesswork.

Alerting and Monitoring

Configure alerting rules in Kibana to proactively notify you of critical performance conditions. Consider these essential alerts:

  • Alert when garbage collection pause times at the 99th percentile exceed 500ms for 5 consecutive minutes
  • Alert when the error rate exceeds 1% of requests, especially after a deployment
  • Alert when response time at the 95th percentile exceeds your defined threshold (for example, 400ms)
  • Alert when thread pool utilization approaches exhaustion to prevent request queuing

PMT Checklist

  • System limits configured (file descriptors, vm.max_map_count)
  • PMT installed and running
  • ColdFusion sending metrics to PMT
  • Elasticsearch cluster sized appropriately
  • Retention policies configured
  • Key dashboards reviewed regularly
  • Baseline metrics established
  • Alerts configured for critical conditions

Gotchas

  • Elasticsearch requires significant RAM to function properly - undersizing will cause performance issues and instability
  • Without increasing vm.max_map_count on Linux, Elasticsearch will fail to start with cryptic error messages
  • PMT data volume can grow extremely quickly under high traffic conditions - actively monitor disk space to prevent exhaustion
  • Network latency between ColdFusion servers and the PMT cluster affects metric delivery and can cause gaps in data
  • Kibana requires a modern browser with full JavaScript support - Internet Explorer is not supported
  • Index lifecycle policies do not retroactively apply to existing indices - only new indices receive the policies

Related Resources

Need Help?

Convective can help set up, size, and configure PMT for your ColdFusion environment. Find out more.