Skip to content

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 ​

  1. Navigate to Settings β†’ Advanced Optimization
  2. Review current configuration
  3. Make changes carefully
  4. Test after each change

Advanced Settings

Redis Configuration ​

Redis dramatically improves performance for caching, sessions, and queue jobs.

Redis Connection Settings ​

Configure Redis connection details:

SettingDescriptionDefault
Enable RedisUse Redis for cache/queueRecommended
Redis HostRedis server address127.0.0.1
Redis PortRedis port number6379
Redis PasswordRedis auth passwordEmpty (no auth)
Redis DatabaseDatabase 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 MB

Failed connection:

βœ— Could not connect to Redis
Error: Connection refused

Redis Test

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 system
  • database - Database table
  • memcached - Memcached server

Recommendation: Use Redis for best performance.

Model Cache Settings ​

FeedbackFlow caches database models for faster queries.

SettingDescriptionDefault
Enable Model CacheCache Eloquent modelsEnabled
Cache TTLTime to live (minutes)30
Cache StoreWhich cache store to useredis

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 .env file
  • 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 queues
  • sync - Synchronous (no queue, not recommended)
  • sqs - AWS SQS

Recommendation: Use Redis for reliability and performance.

Queue Settings ​

SettingDescriptionDefault
Queue ConnectionActive queue driverredis
Default QueueQueue namedefault
Max TriesRetry attempts for failed jobs3
Retry AfterSeconds before retry90

Queue Worker Status ​

View queue worker status:

Running:

βœ“ 2 queue workers running
Last processed job: 5 seconds ago
Jobs in queue: 12

Not Running:

βœ— No queue workers detected
Warning: Emails and webhooks will not be sent

Restart Queue Workers ​

Click Restart Queue Workers to reload workers after configuration changes.

bash
# Manual restart via command line
sudo supervisorctl restart feedbackflow-worker:*

Performance Optimization ​

Database Query Optimization ​

SettingDescriptionRecommendation
Enable Query CacheCache database queriesEnabled
Eager LoadingAuto-load relationshipsEnabled
Query LoggingLog slow queriesDisabled (production)

Asset Optimization ​

SettingDescriptionRecommendation
Minify CSSCompress CSS filesEnabled (production)
Minify JavaScriptCompress JS filesEnabled (production)
Enable CDNUse CDN for assetsOptional

Response Compression ​

SettingDescriptionRecommendation
Enable GzipCompress HTTP responsesEnabled
Compression Level1-9 (higher = more compression)6

Session Configuration ​

Session Driver ​

Select session storage:

Options:

  • redis - Redis (recommended)
  • file - File system
  • database - Database table
  • cookie - Encrypted cookies

Recommendation: Use Redis for better performance.

Session Settings ​

SettingDescriptionDefault
Session LifetimeMinutes until expiration120
Expire on CloseEnd session when browser closesfalse
EncryptEncrypt session datatrue

Horizon Dashboard (Queue Monitoring) ​

Laravel Horizon provides a dashboard for monitoring queue jobs.

Enable Horizon ​

  1. Toggle Enable Horizon Dashboard
  2. Save changes
  3. 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 service
  • redis - Redis with Laravel Echo
  • log - Log only (testing)
  • null - Disabled

Pusher Settings ​

If using Pusher:

SettingRequired
Pusher App IDFrom Pusher dashboard
Pusher KeyPublic key
Pusher SecretSecret key
Pusher ClusterServer cluster (e.g., us2)

Logging Configuration ​

Log Level ​

Control log verbosity:

Options:

  • debug - Detailed debugging (development only)
  • info - Informational messages
  • notice - Normal but significant events
  • warning - Warning messages
  • error - Error messages only
  • critical - 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 file
  • daily - Daily rotating log files
  • syslog - System log
  • errorlog - PHP error log

View Logs ​

Access logs:

  1. Navigate to Admin β†’ System Logs
  2. Filter by level, date, or search
  3. View detailed error traces

Database Optimization ​

Connection Pooling ​

SettingDescriptionDefault
Persistent ConnectionsReuse DB connectionsEnabled
Connection TimeoutSeconds before timeout60
Max ConnectionsMaximum concurrent connections100

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:

bash
redis-cli ping
# Should return: PONG

Check Redis configuration:

bash
redis-cli info

Restart Redis:

bash
sudo systemctl restart redis

Queue Workers Not Processing ​

Check worker status:

bash
sudo supervisorctl status feedbackflow-worker

View worker logs:

bash
tail -f storage/logs/worker.log

Restart workers:

bash
sudo supervisorctl restart feedbackflow-worker:*

Cache Not Working ​

Clear all caches:

bash
php artisan cache:clear
php artisan config:clear
php artisan route:clear
php artisan view:clear

Check permissions:

bash
chmod -R 775 storage/framework/cache

Best 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 ​

Β© 2024 - Corbital Technologies. All rights reserved.