The Performance Configuration page allows you to optimize how DvSchemaSync processes data during sync and dummy data generation. Access it by clicking Configure → from the landing page.
Current Configuration Summary
At the top of the page, a summary box shows your current settings:
Processing Mode: Shows whether parallel processing is enabled and concurrency level
Max Concurrent: Number of entities processed simultaneously
Batch Size: Records processed per API request
Bulk Copy Threshold: Minimum records to trigger SQL bulk copy operations
System Information
The application detects your system capabilities and displays:
CPU Cores: Number of processor cores available
Recommended Concurrency: Suggested number of concurrent entities based on your hardware
Available Memory: System RAM available for processing
Performance Tier: Your system's overall capability rating (e.g., High, Medium, Low)
Performance Presets
Choose from four pre-configured performance profiles by clicking the corresponding button:
Conservative
Lowest resource usage, safest option for limited environments or shared systems
Rate Safe (Recommended)
Balanced settings that avoid API throttling while maintaining good performance
Balanced
Higher throughput for environments with moderate API limits
Aggressive
Maximum performance for high-capacity environments; may trigger API throttling
Preset Comparison Table
The following table shows the default values for each performance preset:
| Setting | Conservative | Rate Safe | Balanced | Aggressive |
|---|---|---|---|---|
| Parallel Processing | Off | On | On | On |
| Batch Size | 100 | 100 | 100 | 200 |
| Bulk Copy Threshold | 1000 | 500 | 500 | 300 |
| Max Concurrent (SQL) | 1 | 2 | 4 | 8 |
| Max Parallel (Dummy Data) | 5 | 5 | 10 | 25 |
| Progress Interval | 100 | 50 | 50 | 100 |
💡 Note: When Conservative is selected with Parallel Processing disabled, a yellow banner suggests: "Your system has X cores - consider enabling parallel processing for better performance."
Settings by Sync Type
Not all settings apply to both sync operations. The following table shows which settings are used by each sync type:
| Setting | Dummy Data Sync | Dataverse Schema Sync |
|---|---|---|
| Enable Parallel Processing | ✗ | ✓ |
| Batch Size | ✓ | ✓ |
| Bulk Copy Threshold | ✗ | ✓ |
| Max Concurrent Entities | ✗ | ✓ |
| Max Parallel Requests | ✓ | ✗ |
| Progress Report Interval | ✓ | ✗ |
Setting Details by Operation
Dummy Data Sync Only:
• Max Parallel Requests — Controls concurrent API requests for dummy data creation
• Progress Report Interval — How often to report progress during generation
Dataverse Schema Sync Only:
• Enable Parallel Processing — Enables/disables parallel entity processing
• Bulk Copy Threshold — Switches to SQL bulk copy for tables exceeding this size
• Max Concurrent Entities — Entities synced simultaneously to Azure SQL
Both Sync Types:
• Batch Size — Records per request/batch
Risks of Aggressive Setting
The Aggressive preset uses higher values for maximum throughput, but carries certain risks:
API Rate Limiting: Higher concurrency and batch sizes are more likely to trigger Dataverse API throttling (HTTP 429 errors)
Resource Exhaustion: May overwhelm system resources if CPU cores < 4 or RAM < 8GB
Instability: Concurrency values > 8 may cause instability in some environments
Request Size Limits: Batch sizes > 1000 may hit API payload limits
⚠ Warning: Only use Aggressive settings if you have confirmed your environment can handle the load and you accept the risk of throttling or failures.
Benefits of Rate Safe Setting
The Rate Safe preset is the recommended default for most users. Key benefits include:
Avoids API Throttling: Low concurrency (2 entities, 5 parallel requests) stays well under Dataverse rate limits
Still Parallel: Enables parallel processing for performance gains without excessive load
Suitable for Shared Environments: Works reliably in environments with strict API quotas or shared resources
Stable & Predictable: Lower resource usage means consistent operation without surprises
Optimized by Default: The UI shows "Settings are well-optimized for your system configuration" with this preset
✓ Recommendation: Rate Safe provides a good balance of parallelism for performance while staying safely within API rate limits. Start here and only increase if needed.
Enable Parallel Processing
The Enable Parallel Processing checkbox controls whether multiple entities are processed simultaneously. When enabled, you'll see the message: "Process multiple entities simultaneously for faster performance".
✓ Optimization Status: A green banner indicates "Settings are well-optimized for your system configuration" when your settings are appropriate for your hardware.
Individual Settings (Sliders)
Fine-tune performance with these slider controls:
Batch Size
Records processed per API request. Larger batches are faster but use more memory.
Bulk Copy Threshold
Use SQL bulk copy operations for tables exceeding this record count. Improves performance for large tables.
Max Concurrent Entities (Azure SQL)
Number of entities synced simultaneously to Azure SQL. Higher values are faster but may hit API limits.
Max Parallel Requests (Dummy Data)
Parallel batch requests for dummy data creation. Controls concurrency during data generation.
Progress Report Interval
How often to update the progress display during dummy data generation.
Action Buttons
Reset to Defaults: Restore all settings to their default values
Save Settings: Save your current configuration
Back to Home: Return to the landing page