Advanced Settings β
Configure Redis, caching, queue workers, and performance optimization settings.
Overview β
Advanced settings control the technical infrastructure of FeedbackFlow, including caching strategies, queue configuration, and performance optimizations.
Technical Knowledge Required
These settings require understanding of Laravel, Redis, and server administration. Incorrect configuration can cause application failures.
Accessing Advanced Settings β
- Navigate to Settings β Advanced Optimization
- Review current configuration
- Make changes carefully
- Test after each change

Redis Configuration β
Redis dramatically improves performance for caching, sessions, and queue jobs.
Redis Connection Settings β
Configure Redis connection details:
| Setting | Description | Default |
|---|---|---|
| Enable Redis | Use Redis for cache/queue | Recommended |
| Redis Host | Redis server address | 127.0.0.1 |
| Redis Port | Redis port number | 6379 |
| Redis Password | Redis auth password | Empty (no auth) |
| Redis Database | Database number (0-15) | 0 |
Test Redis Connection β
Click Test Redis Connection to verify connectivity.
Successful connection:
β Redis connection successful
Server version: 6.2.6
Memory usage: 2.5 MBFailed connection:
β Could not connect to Redis
Error: Connection refused
Redis Use Cases β
Caching:
- Configuration cache
- Route cache
- View cache
- Model cache (boards, feature requests)
Sessions:
- User session storage
- CSRF token storage
Queues:
- Email jobs
- Webhook delivery
- Spam detection processing
Cache Configuration β
Cache Driver β
Select cache storage backend:
Options:
redis- Redis (recommended)file- File systemdatabase- Database tablememcached- Memcached server
Recommendation: Use Redis for best performance.
Model Cache Settings β
FeedbackFlow caches database models for faster queries.
| Setting | Description | Default |
|---|---|---|
| Enable Model Cache | Cache Eloquent models | Enabled |
| Cache TTL | Time to live (minutes) | 30 |
| Cache Store | Which cache store to use | redis |
Cached models:
- Boards
- Feature requests
- Users
- Categories
- Statuses
- Tags
Clear Cache β
Buttons to clear different cache types:
- Clear Application Cache - Application data cache
- Clear Configuration Cache - Cached config files
- Clear Route Cache - Cached routes
- Clear View Cache - Compiled Blade views
- Clear All Caches - Everything
When to Clear Cache
Clear caches after:
- Updating
.envfile - Changing configuration
- Deploying new code
- Debugging issues
Queue Configuration β
Configure background job processing.
Queue Driver β
Select queue backend:
Options:
redis- Redis queues (recommended)database- Database table queuessync- Synchronous (no queue, not recommended)sqs- AWS SQS
Recommendation: Use Redis for reliability and performance.
Queue Settings β
| Setting | Description | Default |
|---|---|---|
| Queue Connection | Active queue driver | redis |
| Default Queue | Queue name | default |
| Max Tries | Retry attempts for failed jobs | 3 |
| Retry After | Seconds before retry | 90 |
Queue Worker Status β
View queue worker status:
Running:
β 2 queue workers running
Last processed job: 5 seconds ago
Jobs in queue: 12Not Running:
β No queue workers detected
Warning: Emails and webhooks will not be sentRestart Queue Workers β
Click Restart Queue Workers to reload workers after configuration changes.
# Manual restart via command line
sudo supervisorctl restart feedbackflow-worker:*Performance Optimization β
Database Query Optimization β
| Setting | Description | Recommendation |
|---|---|---|
| Enable Query Cache | Cache database queries | Enabled |
| Eager Loading | Auto-load relationships | Enabled |
| Query Logging | Log slow queries | Disabled (production) |
Asset Optimization β
| Setting | Description | Recommendation |
|---|---|---|
| Minify CSS | Compress CSS files | Enabled (production) |
| Minify JavaScript | Compress JS files | Enabled (production) |
| Enable CDN | Use CDN for assets | Optional |
Response Compression β
| Setting | Description | Recommendation |
|---|---|---|
| Enable Gzip | Compress HTTP responses | Enabled |
| Compression Level | 1-9 (higher = more compression) | 6 |
Session Configuration β
Session Driver β
Select session storage:
Options:
redis- Redis (recommended)file- File systemdatabase- Database tablecookie- Encrypted cookies
Recommendation: Use Redis for better performance.
Session Settings β
| Setting | Description | Default |
|---|---|---|
| Session Lifetime | Minutes until expiration | 120 |
| Expire on Close | End session when browser closes | false |
| Encrypt | Encrypt session data | true |
Horizon Dashboard (Queue Monitoring) β
Laravel Horizon provides a dashboard for monitoring queue jobs.
Enable Horizon β
- Toggle Enable Horizon Dashboard
- Save changes
- Access at
/admin/horizon
Horizon shows:
- Real-time queue metrics
- Failed jobs
- Job throughput
- Worker processes
Horizon Authentication β
Horizon is restricted to admin users automatically.
Broadcasting Configuration β
For real-time features (if enabled).
Broadcast Driver β
Options:
pusher- Pusher serviceredis- Redis with Laravel Echolog- Log only (testing)null- Disabled
Pusher Settings β
If using Pusher:
| Setting | Required |
|---|---|
| Pusher App ID | From Pusher dashboard |
| Pusher Key | Public key |
| Pusher Secret | Secret key |
| Pusher Cluster | Server cluster (e.g., us2) |
Logging Configuration β
Log Level β
Control log verbosity:
Options:
debug- Detailed debugging (development only)info- Informational messagesnotice- Normal but significant eventswarning- Warning messageserror- Error messages onlycritical- Critical errors only
Production: Use error or warningDevelopment: Use debug or info
Log Channel β
Where logs are written:
Options:
stack- Multiple channels (recommended)single- Single log filedaily- Daily rotating log filessyslog- System logerrorlog- PHP error log
View Logs β
Access logs:
- Navigate to Admin β System Logs
- Filter by level, date, or search
- View detailed error traces
Database Optimization β
Connection Pooling β
| Setting | Description | Default |
|---|---|---|
| Persistent Connections | Reuse DB connections | Enabled |
| Connection Timeout | Seconds before timeout | 60 |
| Max Connections | Maximum concurrent connections | 100 |
Query Timeout β
Set maximum query execution time:
Default: 60 seconds Recommended: 30 seconds for production
Performance Monitoring β
Application Performance β
View real-time metrics:
- Average response time
- Memory usage
- Database query count
- Cache hit ratio
- Queue job throughput
Optimization Recommendations β
System analyzes performance and suggests:
- Enable missing optimizations
- Increase cache TTL
- Add more queue workers
- Enable Redis if not active
Troubleshooting β
Redis Connection Fails β
Check Redis is running:
redis-cli ping
# Should return: PONGCheck Redis configuration:
redis-cli infoRestart Redis:
sudo systemctl restart redisQueue Workers Not Processing β
Check worker status:
sudo supervisorctl status feedbackflow-workerView worker logs:
tail -f storage/logs/worker.logRestart workers:
sudo supervisorctl restart feedbackflow-worker:*Cache Not Working β
Clear all caches:
php artisan cache:clear
php artisan config:clear
php artisan route:clear
php artisan view:clearCheck permissions:
chmod -R 775 storage/framework/cacheBest Practices β
Production Settings β
Recommended for production:
- Cache Driver: Redis
- Session Driver: Redis
- Queue Driver: Redis
- Model Cache: Enabled, 30 min TTL
- Log Level:
error - Debug Mode: Disabled (in General Settings)
Development Settings β
Recommended for development:
- Cache Driver: File or Redis
- Queue Driver: Redis or database
- Log Level:
debug - Query Logging: Enabled
Regular Maintenance β
Weekly:
- Check queue worker status
- Review error logs
- Monitor cache hit ratio
Monthly:
- Update Redis/dependencies
- Review performance metrics
- Optimize slow queries
Next Steps β
- Createing Boards -New board create
- Board Customization - Advanced branding and customization