OpenSolr Turbo Indexer

True Parallel Solr Indexing for Drupal 9 / 10 / 11

Requirements

Check PHP Extensions

Verify the required extensions are installed:

# Check for pcntl extension
php -m | grep pcntl

# Check for posix extension
php -m | grep posix

# Or check both at once
php -r "echo 'pcntl: ' . (extension_loaded('pcntl') ? 'OK' : 'MISSING') . PHP_EOL . 'posix: ' . (extension_loaded('posix') ? 'OK' : 'MISSING') . PHP_EOL;"

Installing Missing Extensions

Ubuntu/Debian

# Usually included, but if missing:
sudo apt-get install php-cli

# The pcntl and posix extensions are typically compiled into CLI PHP
# They may be disabled in php.ini for web (php-fpm) but should work in CLI

CentOS/RHEL

sudo yum install php-process

macOS (Homebrew)

# Usually included with PHP
brew install php
⚠️ CLI Only
The pcntl extension is typically disabled for web requests (security reasons) but enabled for CLI. The turbo indexer only runs via Drush (CLI), so this is fine.

Drush Version

Any modern Drush version (10+) should work:

drush --version

Server Resources

Recommended minimums for parallel indexing:

Resource Minimum Recommended
RAM 2 GB 8+ GB
CPU Cores 2 4+
Workers 2-3 ≤ CPU cores
💡 Memory Per Worker
Each worker uses approximately 100-200 MB of RAM depending on your content complexity. With 8 workers, expect ~1.5 GB total memory usage.