What is Spark?
Spark is a performance profiler plugin for Minecraft servers that helps identify:- CPU usage by plugins and game systems
- Tick duration and performance bottlenecks
- Thread activity and resource consumption
- Memory allocation patterns
Getting Started
Install Spark
Download and install the Spark plugin from spark.lucko.me on your server.
Purpur servers 1.19+ have Spark built-in, no installation needed.
Stop and Get Link
After 30-60 seconds of gameplay, stop the profiler:Copy the link provided (looks like
https://spark.lucko.me/xxxxxx).Analyze
Paste the Spark link into the analyzer at birdflop.com/resources/sparkprofile and click Submit.
Understanding the Analysis
The analyzer examines your profile and provides recommendations in several categories:Plugin Performance Issues
Identifies plugins consuming excessive CPU time:- Plugins using >10% of tick time
- Inefficient event handlers
- Poorly optimized operations
- Suggestions for alternatives or configuration changes
Server Configuration
Recommends configuration changes:- View distance adjustments
- Entity limits and spawning
- Chunk loading settings
- Redstone optimization
- Mob AI settings
World Issues
Detects world-specific problems:- Excessive entities in specific chunks
- Overloaded tile entities (hoppers, furnaces, etc.)
- Chunk generation lag
- Redstone contraptions causing lag
System Performance
Analyzes system-level issues:- CPU bottlenecks
- Memory pressure
- Disk I/O problems
- Java version recommendations
Reading Recommendations
Each recommendation includes:- Severity Level: Critical, High, Medium, or Low priority
- Description: What the issue is and why it matters
- Solution: Specific steps to resolve the issue
- Impact: Expected performance improvement
Best Practices
When to Profile
- During player-reported lag
- After installing new plugins
- When testing configuration changes
- During regular maintenance checks
- Before and after optimization attempts
What to Look For
In the Spark web viewer, pay attention to:- Top Contributors: Plugins/systems at the top of the flame graph
- Tick Duration: Should be under 50ms (20 TPS)
- GC Activity: Frequent garbage collection indicates memory issues
- Thread Count: Too many threads can cause problems
Common Issues and Solutions
High Tick Time
Symptom: Server TPS below 20, laggy gameplay Common Causes:- Too many entities in loaded chunks
- Inefficient plugins (especially anticheats)
- Large redstone contraptions
- Excessive chunk loading
- Reduce entity spawning in server.properties and paper-world-defaults.yml
- Optimize or remove problematic plugins
- Limit redstone clock speeds
- Reduce player view distance
Plugin Overhead
Symptom: Specific plugin consuming >10% of tick time Solutions:- Check plugin configuration for optimization options
- Update to latest version (may include performance fixes)
- Look for alternative plugins
- Contact plugin developer with profiler data
World Issues
Symptom: Lag in specific areas or chunks Solutions:- Use
/spark tickmonitoringto find laggy chunks - Reduce entities in problem areas
- Remove excessive tile entities (hoppers, etc.)
- Consider regenerating extremely problematic chunks
Memory Issues
Symptom: Frequent garbage collection in profiler Solutions:- Allocate more RAM to your server
- Optimize JVM flags (see Flags Generator)
- Reduce loaded chunks (view distance, simulation distance)
- Remove memory-heavy plugins
Direct Link Format
You can skip the input form by constructing a direct link:[code] with the Spark profile ID from the spark.lucko.me URL.
Advanced Profiling
Thread Profiling
Profile specific threads:Sampling Interval
Adjust sampling rate (lower = more detailed, higher overhead):Focus on Specific Plugin
Profile only a specific plugin:Limitations
- Profiling adds ~5% overhead while active
- Short profiles may not capture intermittent issues
- Cannot profile startup lag (only runtime)
- Some native code operations may not appear in profile
Related Tools
- Paper Timings Analyzer - Alternative profiling tool for Paper servers
- Flags Generator - Optimize JVM startup flags