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:
- Establish baseline metrics before making any changes to your configuration
- Change only one variable at a time to isolate the impact of each modification
- Run load tests that simulate realistic production traffic patterns
- Compare before and after metrics in PMT dashboards to measure the impact
- Keep the change if metrics improve, or roll back if they degrade
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
- Monitoring Tools Comparison - Compare PMT vs FusionReactor, New Relic, DataDog
- Performance Optimization Framework - Use PMT data to drive performance improvements
- Performance Metrics Database - Compare your PMT metrics to benchmarks
- JVM and Tomcat Tuning - Tune JVM based on PMT insights
- Problems & Solutions - Troubleshoot issues identified by PMT
- Elasticsearch Setup Guide
- Kibana User Guide
Need Help?
Convective can help set up, size, and configure PMT for your ColdFusion environment. Find out more.