Laravel/Mariadb/Redis – occasional connection timeout and/or job processing timeouts

Troubleshooting Intermittent Connection and Job Timeout Issues in a Laravel, MariaDB, and Redis Setup

Optimizing a Laravel Real Estate Listings Application Facing Sporadic Connection and Processing Delays

Introduction

Managing a Laravel-based real estate listings platform involves balancing performance, reliability, and cost-efficiency. In my current setup, the application automates offer imports through multiple external CRMs, with the entire stackโ€”including the application, database, and cacheโ€”hosted on a single VPS. Despite relatively light traffic, I encounter occasional connection timeout issues and job processing delays that disrupt smooth operations. Iโ€™m reaching out for experienced insights and potential solutions.

System Overview

Server Environment:
– VPS with 8 CPU cores and 16 GB RAM
– All components (Laravel app, MariaDB, Redis, and headless WordPress site) reside on the same server
– Traffic is modestโ€”up to 20 visits per minute, with occasional spikes due to bots (~10-15 connections per second)

Current Architecture:
– The app is designed to scale into micro-services in the future, but for now, cost constraints dictate a monolithic setup
– Automated offer imports trigger background jobs processed within a 600-second timeout window; however, these jobs usually complete in approximately 0.5 seconds
– The application makes periodic API requests to a local WordPress instance to retrieve blog content, which sometimes results in curl connection timeouts

The Problem

Despite the low load, I experience infrequent connection timeouts to the database and external API calls. Notably:
– Background jobs occasionally hit the 600-second processing limit
– CURL requests to the local WordPress instance intermittently fail with connection timeouts

These symptoms suggest potential instability in database connectivity or resource limitations affecting sustained connections. Iโ€™ve attempted various standard troubleshooting steps with no definitive resolution.

What Iโ€™ve Tried

  • PHP Pool Configuration: Ensured PHP-FPM pools are adequately configured; no exhaustion issues observed
  • MariaDB Settings: Max connections not saturated; timeout settings extended to 12 hours to prevent premature disconnections
  • Logging: Enabled slow query logsโ€”no slow queries or anomalies identified; logs show normal execution times with no obvious bottlenecks

Areas for Possible Focus
– Network stability between processes on the same VPS, especially under burst traffic
– Resource contention or limitations affecting persistent connections
– External API call handling and potential network latency
– Redis connection stability (if used for caching/session management)

Request for Guidance


Leave a Reply

Your email address will not be published. Required fields are marked *