0
0
Laravelframework~8 mins

Creating middleware in Laravel - Performance Optimization Steps

Choose your learning style9 modes available
Performance: Creating middleware
MEDIUM IMPACT
Middleware affects request processing speed and response time by adding extra steps before or after controller actions.
Adding authentication checks to requests
Laravel
<?php
namespace App\Http\Middleware;
use Closure;
class CheckAuth {
    public function handle($request, Closure $next) {
        // Use cached user info or lightweight check
        if (!$request->user()?->is_active) {
            return redirect('login');
        }
        return $next($request);
    }
}
Avoids heavy queries by using cached or already loaded user data, speeding up middleware execution.
📈 Performance GainReduces blocking time to under 5ms per request
Adding authentication checks to requests
Laravel
<?php
namespace App\Http\Middleware;
use Closure;
class CheckAuth {
    public function handle($request, Closure $next) {
        // Heavy database query inside middleware
        $user = \DB::table('users')->where('id', $request->user()->id)->first();
        if (!$user || !$user->is_active) {
            return redirect('login');
        }
        return $next($request);
    }
}
Running a heavy database query on every request in middleware causes delays and blocks request processing.
📉 Performance CostBlocks request processing for 50-100ms per request depending on DB speed
Performance Comparison
PatternDOM OperationsReflowsPaint CostVerdict
Heavy DB query in middleware0 (server-side)00[X] Bad
Lightweight cached check in middleware0 (server-side)00[OK] Good
Rendering Pipeline
Middleware runs during the server request lifecycle before the response is sent. It affects server response time, which impacts how fast the browser receives content.
Server Request Processing
Response Generation
⚠️ BottleneckHeavy synchronous operations inside middleware delay response generation.
Core Web Vital Affected
INP
Middleware affects request processing speed and response time by adding extra steps before or after controller actions.
Optimization Tips
1Avoid heavy synchronous operations inside middleware.
2Use cached data instead of repeated database queries.
3Keep middleware logic minimal to speed up server response.
Performance Quiz - 3 Questions
Test your performance knowledge
What is the main performance risk of adding heavy database queries inside Laravel middleware?
AIt increases CSS paint cost.
BIt causes browser layout shifts.
CIt delays server response, increasing user wait time.
DIt reduces JavaScript execution speed.
DevTools: Network
How to check: Open DevTools > Network tab > Reload page > Look at Time column for server response time delays.
What to look for: Long server response times indicate slow middleware or backend processing.