Skip to main content

Performance Configuration

Configure performance-related settings.

Performance Settings

performance:
async-database: true
cache-size: 100
cache-expiration: 60

Database Performance

async-database

Type: Boolean
Default: true
Description: Enable async database operations

Note: Always enabled, cannot be disabled. All database operations run asynchronously to prevent server lag.

Caching

cache-size

Type: Integer
Default: 100
Description: Number of orders to cache in memory

Adjustments:

  • Small servers (< 50 players): 100 (default)
  • Medium servers (50-200 players): 200-300
  • Large servers (200+ players): 500+

Considerations:

  • Higher values = better performance but more memory
  • Lower values = less memory but more database queries
  • Monitor memory usage when adjusting

cache-expiration

Type: Integer (seconds)
Default: 60
Description: Cache expiration time

Behavior:

  • Cached orders expire after this time
  • Fresh data is loaded from database
  • Prevents stale data

Adjustments:

  • Frequent updates: 30-60 seconds
  • Normal usage: 60 seconds (default)
  • Low activity: 120+ seconds

Performance Optimization

For Small Servers

performance:
async-database: true # Always enabled
cache-size: 100 # Default is sufficient
cache-expiration: 60 # Default is sufficient

For Medium Servers

performance:
async-database: true
cache-size: 200 # Increase cache
cache-expiration: 60 # Keep default

For Large Servers

performance:
async-database: true
cache-size: 500 # Larger cache
cache-expiration: 120 # Longer expiration

GUI Performance

See Configuration Overview for GUI settings and configuration options.

Database Type

See Database Configuration for SQLite vs MySQL recommendations.

Monitoring Performance

Key Metrics

  • Command Response Time: Should be < 1 second
  • GUI Load Time: Should be instant
  • Database Query Time: Monitor for slow queries
  • Memory Usage: Monitor cache impact
  • TPS Impact: Should be minimal

Performance Indicators

Good Performance:

  • Fast command responses
  • Instant GUI loading
  • No TPS impact
  • Low memory usage

Performance Issues:

  • Slow commands (> 2 seconds)
  • GUI lag
  • TPS drops
  • High memory usage

Troubleshooting

Slow Performance

Check:

  1. Cache size too small
  2. Database performance
  3. Server resources
  4. Other plugins interfering

Solutions:

  1. Increase cache size
  2. Switch to MySQL
  3. Optimize database
  4. Check server resources

High Memory Usage

Check:

  1. Cache size too large
  2. Too many cached orders
  3. Memory leaks

Solutions:

  1. Reduce cache size
  2. Reduce cache expiration
  3. Monitor memory usage