Campaign "Preparing" Phase Extremely Slow on High-End 32-Core Server

yamada

Beginner
Dear Support Team,

I am writing to seek technical optimization advice for my Mumara installation. Despite running on a high-performance dedicated server, I am experiencing a significant bottleneck during the campaign preparation phase.

My Server Specifications:

CPU: 32 Cores

RAM: 64GB

Storage: High-performance NVMe SSD

Installation Method: Official One-Click Installation Script

The Issue:
Every time I set up a campaign for 500,000 emails, the "Preparing" status takes approximately one hour to complete. Given the 32-core processing power and NVMe speed, this duration is far below expectations. It seems the system is not fully utilizing the available hardware resources.

What I need from you:
Could you please provide specific optimization recommendations to speed up the data processing/preparation stage? Specifically, I am looking for:

Database Tweaks: Recommended MySQL/MariaDB configurations (e.g., innodb_buffer_pool_size, innodb_io_capacity, etc.) for a 64GB RAM environment to handle large batch inserts/reads.

Mumara Internal Settings: The optimal values for "Processing Batch Size," "Parallel Processing threads," and any other hidden settings in the web interface that can accelerate queue generation.

Server-Side Optimizations: Any adjustments needed for the PHP-CLI memory limits or Cron job frequency to maximize throughput on a 32-core system.

I want to ensure that Mumara is tuned to handle 500k+ batches in minutes, not hours.

Looking forward to your expert guidance.

Best regards,
 
Hey Yamada,

I will get back to you on this shortly with the required information you need to fix your issue.

Thankyou
 
Hey Yamada,

First of all, with 32 Cores + 64GB RAM + NVMe, Mumara is absolutely capable of preparing 500k+ campaigns in minutes. In almost all similar cases, the delay is caused by default database and PHP configurations, not by Mumara’s core engine.

Below are the exact optimizations we recommend to fully utilize your hardware.

1) MySQL / MariaDB Optimization (Critical)
For a 64GB dedicated server, update your my.cnf as follows:

[mysqld]
# Memory Allocation
innodb_buffer_pool_size = 50% of total memory
innodb_buffer_pool_instances = 8
innodb_log_buffer_size = 256M

# Redo Logs (Important for heavy queue inserts)
innodb_log_file_size = 4G
innodb_log_files_in_group = 2

# NVMe Optimization
innodb_flush_method = O_DIRECT
innodb_io_capacity = 4000
innodb_io_capacity_max = 8000
innodb_flush_neighbors = 0

# Performance for Large Batch Inserts
innodb_flush_log_at_trx_commit = 2
sync_binlog = 0

# Temp Table Optimization
tmp_table_size = 512M
max_heap_table_size = 512M

# Connections
max_connections = 500
max_allowed_packet = 256M

# Disable Query Cache
query_cache_type = 0
query_cache_size = 0
Campaign “Preparing” phase performs:
  • Large subscriber reads
  • Bulk queue insert operations
  • Segment/tag joins
If buffer pool and redo logs are undersized (default configs), MySQL becomes the bottleneck even on powerful hardware.

With these values, Mumara can fully utilize your NVMe and RAM.

2) PHP-CLI Optimization (Queue Builder Runs via CLI)
Make sure you are optimizing PHP-CLI, not only PHP-FPM.

In your CLI php.ini:
memory_limit = 1024M
max_execution_time = 0
opcache.enable_cli = 1
realpath_cache_size = 4096K
realpath_cache_ttl = 600
Also ensure:
  • Xdebug is disabled
  • You should be using PHP 8.3 (recommended for best performance)
This allows queue generation workers to process large batches without memory throttling.

3) Mumara Internal Settings (Very Important)
Inside Mumara:
Increase Processing Batch Size
If currently small (e.g., 500–1000), increase to:
3000 – 5000 per batch

Enable Parallel Processing
On a 32-core server: 5–10 parallel processing threads
Start with 5 and increase gradually while monitoring DB load

Cron Frequency
Ensure cron runs every minute.

After applying:
  • Proper MySQL memory allocation
  • Larger redo logs
  • Optimized PHP-CLI
  • Increased batch size
  • Parallel workers
You should see the 500k campaign preparation reduced significantly (typically under 10–20 minutes, depending on segmentation complexity)
Mumara’s engine is built for high-volume sending. With correct server tuning, your hardware will be fully utilized, and queue generation will scale efficiently.

Thankyou
 
Back
Top