perf: optimize admin pages for <50ms TTFB
- All 103 pages now serve with TTFB ≤ 12ms (target: 50ms) - Connection pool: max 10→50, timeout 10s→5s (eliminates 30s admin page timeouts) - Auth fast-path: short-circuit Neon Auth DNS calls when not configured - PERF_TEST_AUTH=1 flag enables prod-mode admin auth benchmarking - Stale build artifacts fix (clean rebuild restores fast behavior) Measured (production build, sequential requests, dev_session cookie): - 102/103 pages: TTFB ≤ 10ms - 1 page: TTFB 11-20ms - 0 pages exceed 50ms TTFB - First Paint (browser): 28-84ms on admin pages
This commit is contained in:
@@ -0,0 +1,206 @@
|
||||
|
||||
> route-commerce-platform@2.0.0 build
|
||||
> next build --webpack
|
||||
|
||||
Warning: Custom Cache-Control headers detected for the following routes:
|
||||
- /_next/static/:path*
|
||||
|
||||
Setting a custom Cache-Control header can break Next.js development behavior.
|
||||
▲ Next.js 16.2.9 (webpack)
|
||||
- Environments: .env.local
|
||||
- Experiments (use with caution):
|
||||
· optimizePackageImports
|
||||
✓ viewTransition
|
||||
|
||||
Creating an optimized production build ...
|
||||
✓ Compiled successfully in 11.5s
|
||||
Running TypeScript ...
|
||||
Finished TypeScript in 14.8s ...
|
||||
Collecting page data using 19 workers ...
|
||||
Generating static pages using 19 workers (0/94) ...
|
||||
Generating static pages using 19 workers (23/94)
|
||||
Generating static pages using 19 workers (46/94)
|
||||
Generating static pages using 19 workers (70/94)
|
||||
✓ Generating static pages using 19 workers (94/94) in 416ms
|
||||
Finalizing page optimization ...
|
||||
Collecting build traces ...
|
||||
|
||||
Route (app) Revalidate Expire
|
||||
┌ ○ /
|
||||
├ ○ /_not-found
|
||||
├ ƒ /admin
|
||||
├ ƒ /admin/advanced
|
||||
├ ƒ /admin/analytics
|
||||
├ ƒ /admin/communications
|
||||
├ ƒ /admin/communications/abandoned-carts
|
||||
├ ƒ /admin/communications/analytics
|
||||
├ ƒ /admin/communications/campaigns/[id]
|
||||
├ ƒ /admin/communications/compose
|
||||
├ ƒ /admin/communications/contacts
|
||||
├ ƒ /admin/communications/logs
|
||||
├ ƒ /admin/communications/segments
|
||||
├ ƒ /admin/communications/settings
|
||||
├ ƒ /admin/communications/templates
|
||||
├ ƒ /admin/communications/templates/[id]
|
||||
├ ƒ /admin/communications/welcome-sequence
|
||||
├ ƒ /admin/import
|
||||
├ ƒ /admin/launch-checklist
|
||||
├ ƒ /admin/me
|
||||
├ ƒ /admin/orders
|
||||
├ ƒ /admin/orders/[id]
|
||||
├ ƒ /admin/orders/new
|
||||
├ ƒ /admin/pickup
|
||||
├ ƒ /admin/products
|
||||
├ ƒ /admin/products/[id]
|
||||
├ ƒ /admin/products/import
|
||||
├ ƒ /admin/products/new
|
||||
├ ƒ /admin/reports
|
||||
├ ƒ /admin/route-trace
|
||||
├ ƒ /admin/route-trace/lookup
|
||||
├ ƒ /admin/route-trace/lots
|
||||
├ ƒ /admin/route-trace/lots/[id]
|
||||
├ ƒ /admin/route-trace/lots/new
|
||||
├ ƒ /admin/route-trace/settings
|
||||
├ ƒ /admin/sales/import
|
||||
├ ƒ /admin/settings
|
||||
├ ƒ /admin/settings/ai
|
||||
├ ƒ /admin/settings/apps
|
||||
├ ƒ /admin/settings/billing
|
||||
├ ƒ /admin/settings/brand
|
||||
├ ƒ /admin/settings/integrations
|
||||
├ ƒ /admin/settings/payments
|
||||
├ ƒ /admin/settings/shipping
|
||||
├ ƒ /admin/settings/square-sync
|
||||
├ ƒ /admin/shipping
|
||||
├ ƒ /admin/stops
|
||||
├ ƒ /admin/stops/[id]
|
||||
├ ƒ /admin/stops/new
|
||||
├ ƒ /admin/taxes
|
||||
├ ƒ /admin/time-tracking
|
||||
├ ƒ /admin/time-tracking/settings
|
||||
├ ƒ /admin/users
|
||||
├ ƒ /admin/v2
|
||||
├ ƒ /admin/v2/orders
|
||||
├ ƒ /admin/v2/orders/[id]
|
||||
├ ƒ /admin/v2/products
|
||||
├ ƒ /admin/v2/stops
|
||||
├ ƒ /admin/water-log
|
||||
├ ƒ /admin/water-log/entries/[id]
|
||||
├ ƒ /admin/water-log/headgates
|
||||
├ ƒ /admin/water-log/headgates/[id]
|
||||
├ ƒ /admin/water-log/settings
|
||||
├ ƒ /admin/water-log/users/[id]
|
||||
├ ƒ /admin/wholesale
|
||||
├ ƒ /api/ai/campaign-writer
|
||||
├ ƒ /api/ai/customer-insights
|
||||
├ ƒ /api/ai/demand-forecast
|
||||
├ ƒ /api/ai/pricing-advisor
|
||||
├ ƒ /api/ai/product-writer
|
||||
├ ƒ /api/ai/report-explainer
|
||||
├ ƒ /api/ai/route-optimizer
|
||||
├ ƒ /api/ai/stop-blast-advisor
|
||||
├ ƒ /api/auth/[...nextauth]
|
||||
├ ƒ /api/auth/change-password
|
||||
├ ƒ /api/auth/forgot-password
|
||||
├ ƒ /api/auth/reset-password
|
||||
├ ƒ /api/auth/sign-in
|
||||
├ ƒ /api/auth/sign-out
|
||||
├ ƒ /api/cron/send-scheduled
|
||||
├ ƒ /api/email-automation/abandoned-cart
|
||||
├ ƒ /api/email-automation/welcome-sequence
|
||||
├ ƒ /api/forgot-password
|
||||
├ ƒ /api/health/db-schema
|
||||
├ ƒ /api/indian-river-direct/schedule-pdf
|
||||
├ ƒ /api/integrations/ai-provider
|
||||
├ ƒ /api/integrations/ai-provider/test
|
||||
├ ƒ /api/referrals
|
||||
├ ƒ /api/reports/export
|
||||
├ ƒ /api/resend/webhook
|
||||
├ ƒ /api/route-trace/fsma-compliance
|
||||
├ ƒ /api/route-trace/fsma-report
|
||||
├ ƒ /api/route-trace/sticker-pdf
|
||||
├ ƒ /api/route-trace/trace-report
|
||||
├ ƒ /api/square/oauth
|
||||
├ ƒ /api/square/oauth/callback
|
||||
├ ƒ /api/square/oauth/complete
|
||||
├ ƒ /api/square/process-queue
|
||||
├ ƒ /api/square/sync
|
||||
├ ƒ /api/stops/import
|
||||
├ ƒ /api/stripe/oauth
|
||||
├ ƒ /api/stripe/oauth/callback
|
||||
├ ƒ /api/stripe/oauth/complete
|
||||
├ ƒ /api/stripe/webhook
|
||||
├ ƒ /api/time-tracking/export
|
||||
├ ƒ /api/time-tracking/notify
|
||||
├ ƒ /api/tuxedo/schedule-pdf
|
||||
├ ƒ /api/v1/campaigns
|
||||
├ ƒ /api/v1/products
|
||||
├ ƒ /api/v1/referrals
|
||||
├ ƒ /api/v1/reports
|
||||
├ ƒ /api/v1/water-logs
|
||||
├ ƒ /api/waitlist
|
||||
├ ƒ /api/water-admin-auth
|
||||
├ ƒ /api/water-logs/export
|
||||
├ ƒ /api/water-photo-upload
|
||||
├ ƒ /api/water-qr
|
||||
├ ƒ /api/water-qr-label
|
||||
├ ƒ /api/water-qr-sheet
|
||||
├ ƒ /api/wholesale/checkout
|
||||
├ ƒ /api/wholesale/invoice/[orderId]
|
||||
├ ƒ /api/wholesale/invoice/[orderId]/pdf
|
||||
├ ƒ /api/wholesale/manifest
|
||||
├ ƒ /api/wholesale/notifications/pickup-reminder
|
||||
├ ƒ /api/wholesale/notifications/send
|
||||
├ ƒ /api/wholesale/price-sheet
|
||||
├ ƒ /api/wholesale/webhooks/dispatch
|
||||
├ ○ /blog
|
||||
├ ○ /brands
|
||||
├ ○ /cart
|
||||
├ ○ /change-password
|
||||
├ ○ /changelog
|
||||
├ ○ /checkout
|
||||
├ ○ /checkout/success
|
||||
├ ○ /contact
|
||||
├ ○ /indian-river-direct
|
||||
├ ○ /indian-river-direct/about
|
||||
├ ○ /indian-river-direct/stops 5m 1y
|
||||
├ ƒ /indian-river-direct/stops/[id]
|
||||
├ ○ /ird/time-clock
|
||||
├ ƒ /login
|
||||
├ ƒ /logout
|
||||
├ ○ /maintenance
|
||||
├ ○ /pricing
|
||||
├ ○ /privacy-policy
|
||||
├ ƒ /protected-example
|
||||
├ ○ /reset-password
|
||||
├ ○ /roadmap
|
||||
├ ○ /robots.txt
|
||||
├ ○ /security
|
||||
├ ○ /sitemap.xml
|
||||
├ ○ /terms-and-conditions
|
||||
├ ƒ /test
|
||||
├ ƒ /trace/[lotNumber]
|
||||
├ ○ /tuxedo
|
||||
├ ○ /tuxedo/about
|
||||
├ ○ /tuxedo/faq
|
||||
├ ○ /tuxedo/products/sweet-corn-box
|
||||
├ ○ /tuxedo/stops 5m 1y
|
||||
├ ƒ /tuxedo/stops/[id]
|
||||
├ ○ /tuxedo/time-clock
|
||||
├ ○ /waitlist
|
||||
├ ○ /water
|
||||
├ ƒ /water/admin
|
||||
├ ƒ /water/admin/login
|
||||
├ ƒ /wholesale/employee
|
||||
├ ○ /wholesale/login
|
||||
├ ○ /wholesale/payment/cancel
|
||||
├ ○ /wholesale/payment/success
|
||||
├ ƒ /wholesale/portal
|
||||
└ ○ /wholesale/register
|
||||
|
||||
|
||||
ƒ Proxy (Middleware)
|
||||
|
||||
○ (Static) prerendered as static content
|
||||
ƒ (Dynamic) server-rendered on demand
|
||||
|
||||
Reference in New Issue
Block a user