OverviewPerformance AnalysisTypeScript ResourcesProduction GuideTroubleshootingAdvanced Usage

Performance Analysis

This document provides detailed performance metrics and analysis for BJJ FX Manager compared to traditional manual workflows.

Linux vs Windows Performance Gains

BJJ FXM runs on both Linux and Windows. For production deployments, running FiveM on headless Linux (e.g. Ubuntu Server) typically provides better raw performance — but BJJ FXM's automation benefits apply equally on Windows.

Baseline Metrics Comparison

Windows Desktop Environment:

  • CPU Overhead: 15-25% idle usage from desktop environment
  • Memory Footprint: 2-4GB allocated to OS/GUI
  • Disk I/O: Reduced by Windows Defender and indexing services
  • Network Latency: +5-15ms from additional network stack layers

Terminal Linux (Ubuntu Server):

  • CPU Overhead: 2-5% idle usage (60-80% reduction)
  • Memory Footprint: 200-500MB for base OS (85-90% reduction)
  • Disk I/O: Near-native performance, no background scanning
  • Network Latency: Minimal stack overhead (-10-15ms improvement)

BJJ FX Manager Impact

Manual Workflow Performance Costs

When managing FiveM servers manually (on either Linux or Windows), several performance penalties occur:

  • Manual TypeScript builds contaminate the system Node environment
  • Build artifacts consume 30-50% more memory without isolation
  • Manual cache management leads to 10-20GB disk waste over time
  • Server crashes require manual intervention (5-30 minute downtime)
  • Resource deployment takes 10-15 minutes per update cycle

BJJ FXM Automated Workflow Benefits

Metric Manual Process BJJ FXM Improvement
TypeScript Build Time 2-5 min/resource 30-90 sec/resource 50-70% faster
Memory Overhead Persistent build tools Isolated contexts 200-500MB saved
Deployment Time 10-15 minutes 1-2 minutes 85-90% faster
Crash Recovery Manual (5-30 min) Automatic (<30 sec) 95%+ downtime reduction
Disk Space Management Manual cleanup Automated policies 10-20GB reclaimed
Developer Time 2-3 hours/week <15 min/week 90%+ time saved

Real-World Production Testing

Based on production deployments including NightZoom©:

System Resource Improvements

  • CPU Usage: 12-18% reduction in average CPU utilization
  • Memory Efficiency: 300-700MB less memory consumption per server instance
  • Uptime: 99.7% vs 94-96% with manual management
  • Development Velocity: 3-5x faster iteration cycles for TypeScript resources

Performance Factors

Process Isolation Benefits:

  • Build processes run in separate Node.js contexts that terminate after completion
  • No persistent memory allocation for build tools
  • System Node environment remains clean
  • No dependency conflicts between resources

Automated Cache Management:

  • Regular cache cleanup prevents disk bloat
  • Faster server startups (reduced cache read times)
  • Improved I/O performance
  • Better backup efficiency

Crash Recovery:

  • Automatic restart within seconds vs minutes of manual intervention
  • Configurable restart policies prevent infinite loops
  • Detailed crash logging for debugging
  • Minimal player impact from downtime

Cost Savings Analysis

Infrastructure Costs (100-player server capacity)

Windows VPS:

  • Cost: $40-80/month
  • Requirements: 4 vCPU, 8GB RAM
  • Performance: Baseline

Manual Linux VPS:

  • Cost: $25-50/month
  • Requirements: 2 vCPU, 4GB RAM
  • Performance: Good, but requires significant manual management

BJJ FXM Optimized Linux:

  • Cost: $15-30/month
  • Requirements: 2 vCPU, 2-4GB RAM
  • Performance: Optimal with automation

Infrastructure savings: 50-65% reduction in hosting costs

Operational Cost Savings

Developer/Administrator Time Value:

  • Manual management: 8-12 hours/month @ $50/hr = $400-600/month
  • BJJ FXM automation: 1-2 hours/month @ $50/hr = $50-100/month

Downtime Cost Reduction:

  • Manual recovery downtime: ~15-30 minutes per incident
  • BJJ FXM automated recovery: ~30 seconds per incident
  • Average monthly incidents: 4-8 crashes
  • Time saved: 1-4 hours/month of downtime

Total Monthly Savings Per Server

Small Server (50 players):

  • Infrastructure: $10-20/month
  • Operational: $200-300/month
  • Total: $210-320/month savings

Medium Server (100 players):

  • Infrastructure: $20-40/month
  • Operational: $350-500/month
  • Total: $370-540/month savings

Large Server (200+ players):

  • Infrastructure: $30-60/month
  • Operational: $500-700/month
  • Total: $530-760/month savings

Scalability Analysis

Multi-Server Environments

Running multiple FiveM servers on a single host:

Without BJJ FXM:

  • Each server needs careful manual management
  • Build processes interfere with each other
  • Cache management becomes exponentially complex
  • Management time: ~3-5 hours per server per week

With BJJ FXM:

  • Each server runs independently with isolated management
  • Automated builds don't interfere
  • Individual cache policies per server
  • Management time: ~30 minutes per server per week

Efficiency gain scales with server count

Resource Build Performance at Scale

For servers with multiple TypeScript resources:

Resource Count Manual Build Time BJJ FXM Build Time Time Saved
5 resources 10-25 minutes 3-8 minutes 7-17 min
10 resources 20-50 minutes 5-15 minutes 15-35 min
20 resources 40-100 minutes 10-30 minutes 30-70 min

Performance Best Practices

To maximize performance gains with BJJ FXM:

  1. Use a headless/server environment - Avoid desktop GUIs where possible (Linux Server or Windows Server Core)
  2. Enable Auto-Restart - Minimize downtime from crashes
  3. Configure Cache Policies - Automate cleanup schedules
  4. Use Watch Mode in Development - Instant rebuilds on changes
  5. Isolate Build Environments - Let BJJ FXM handle dependency management
  6. Monitor with Webhooks - Real-time alerting for issues
  7. Regular Maintenance - Leverage automated cache cleanup

Benchmarking Your Server

To measure BJJ FXM impact on your server:

Before BJJ FXM

# Monitor baseline
htop  # Note CPU and memory usage
df -h  # Note disk usage
time # Manual build process

After BJJ FXM

# Start with monitoring
fxm start --restart

# Check improvements
fxm status  # View resource usage
fxm clear-cache --dry-run  # Check cache savings

Metrics to Track

  • Average CPU usage (before vs after)
  • Memory consumption (RSS/heap)
  • Disk space used (especially cache directories)
  • Build time per resource
  • Deployment time (code pull to server running)
  • Uptime percentage
  • Time spent on manual management tasks

Back to Main README