When teams talk about Core Web Vitals, the conversation usually starts with images, JavaScript bundles and design tweaks. But slow hosting or unsuitable server settings can delay the first byte of HTML, push back LCP and make backend-dependent interactions feel slow during traffic peaks. In this article we look at Core Web Vitals explicitly from the hosting side: which server settings, protocols and resource choices actually move the needle, and how you can implement them step by step on shared hosting, VPS, dedicated servers or colocation, subject to the administrative access available with your hosting arrangement. We will focus on three metrics: TTFB (Time To First Byte), LCP (Largest Contentful Paint) and INP (Interaction to Next Paint). You will see how they connect to CPU, disk, PHP-FPM, TLS, caching and databases, and you will leave with a concrete checklist you can apply on your own servers.
Core Web Vitals From a Server Perspective
Quick recap of TTFB, LCP and INP
Google’s Core Web Vitals are LCP, INP and CLS (Cumulative Layout Shift). This guide focuses on LCP and INP alongside TTFB, a useful loading diagnostic rather than a Core Web Vital. Hosting most directly affects response and resource-delivery times.
- TTFB (Time To First Byte): The time between the browser requesting a page and receiving the first byte of the HTML. This is the metric most directly tied to your server and hosting configuration.
- LCP (Largest Contentful Paint): When the largest eligible image or text block in the viewport is rendered. LCP depends on frontend rendering and resource discovery as well as how fast HTML and critical resources are delivered.
- INP (Interaction to Next Paint): Measures responsiveness to clicks, taps and key presses through the next paint. JavaScript and rendering work are major factors; a slow API response or form submission alone does not demonstrate poor INP.
Think of it this way: fast servers reduce response and delivery delays. Image compression cannot fix slow HTML generation, just as a faster backend cannot replace frontend responsiveness work.
What is actually under hosting control?
From the hosting side we can influence:
- Physical and virtual resources (CPU, RAM, NVMe vs SATA, network latency).
- Web server and PHP engine (Apache, Nginx, LiteSpeed, PHP-FPM, OPcache).
- TLS, HTTP versions and TCP tuning.
- Server-side caching and database performance.
- How static assets and images are compressed and cached.
In another article we explained the big picture in how Core Web Vitals and hosting architecture are connected. Here we go deeper into concrete configuration changes you can apply.
Measure TTFB, LCP and INP Correctly Before Tuning
Lab vs field data and why both matter
Before touching your server, make sure you are reading the metrics correctly:
- Lab data from tools like Lighthouse, WebPageTest or GTmetrix show how your site performs in a controlled environment.
- Field data from Chrome User Experience Report (CrUX) and Search Console’s “Core Web Vitals” report reflect real users across devices, locations and networks.
Repeated lab tests under comparable conditions help isolate the impact of a specific server tweak. Field data shows whether performance improved for real users over time, though changes in traffic and devices can also affect it.
Isolating the server component of TTFB
To evaluate hosting-side impact you need to separate server work from frontend work:
- Test a simple static HTML file on the same domain (for example
/ttfb-test.html). If this file has high TTFB, the bottleneck is likely network, TLS or web server – not your application. - Then test your dynamic homepage (WordPress, Laravel, Magento, etc.). Under comparable network, connection and cache conditions, the difference can help estimate application overhead. It does not isolate PHP, database and application time precisely; correlate it with server-side timings.
- Test with and without cache (if you use full-page caching). This highlights how much uncached requests cost.
For a methodical approach to tools and test locations, check our guide on how to properly test your website speed with GTmetrix, PageSpeed Insights and WebPageTest.
Reading LCP and INP with server glasses on
For LCP and INP, pay attention to two specific views:
- Loading and interaction diagnostics in Lighthouse and PageSpeed Insights: look for findings about initial server response time, JavaScript execution time, render-blocking resources and main-thread work. Report section names and diagnostic labels vary by tool and version.
- Network waterfalls: see if the LCP resource (often an image or background) is delayed because HTML arrives late, DNS/TLS takes too long, or the image is huge and uncompressed.
For INP, inspect the interaction timing breakdown rather than treating API response time as INP. An API call taking 500–800 ms is a backend optimization candidate, but that duration alone does not show that it delayed the interaction’s next paint. Correlate network activity with the interaction trace before attributing poor INP to the server.
Server Settings That Directly Reduce TTFB
1. Choose fast storage, CPU and the right location
Hardware is the foundation. If your database and PHP run on slow disks or saturated CPUs, configuration tweaks only help so much.
- Storage: Prefer NVMe SSDs over classic SATA SSDs or HDD for your main web and database workload. NVMe can offer higher IOPS and lower latency, which can help queries and PHP file loads when storage I/O is a bottleneck. We explained these differences in detail in our NVMe SSD vs SATA SSD vs HDD comparison for hosting.
- CPU: Dynamic sites (WordPress, WooCommerce, Laravel, Magento, etc.) benefit from higher per-core performance. If a single request is CPU-bound, investigate expensive application work and stronger per-core performance. More vCPUs primarily help concurrent requests; they do not automatically shorten a single request.
- Server location: Hosting closer to your main audience can reduce network round-trip time and connection-handshake latency. DNS lookup latency depends separately on resolver and authoritative DNS placement and caching. Our article on how server location affects SEO and speed gives practical examples.
2. Use modern protocols: HTTP/2, HTTP/3 and TLS 1.3
Protocol-level upgrades are low-hanging fruit:
- Enable HTTP/2 on your web server or control panel. It allows multiplexing (multiple requests over a single connection) and header compression, reducing overhead.
- Enable HTTP/3 (QUIC) where supported. It can significantly improve performance on lossy mobile networks thanks to faster recovery and connection establishment.
- Use TLS 1.3 for HTTPS. It reduces handshake round trips, helping first-time visitors and cold connections.
For configuration details and SEO impact, see our article on how HTTP/2 and HTTP/3 support affects SEO and Core Web Vitals when you choose hosting.
3. Tune TLS and connection settings
TLS security is non-negotiable, but we can configure it without slowing things down:
- Enable OCSP stapling where the certificate and CA support it to supply a revocation-status response to clients that use OCSP. This is not applicable to current Let’s Encrypt certificates: its OCSP service ended on August 6, 2025, and revocation information is now published through CRLs.
- Use session resumption to speed up repeat connections.
- Keep keep-alive enabled and set a reasonable timeout (for example 30–60 seconds) to reuse connections between page resources.
On Nginx, settings like keepalive_timeout, keepalive_requests, and tuned worker_connections can help manage connection reuse and concurrency, but do not guarantee queue-free service when CPU, upstream workers or other capacity limits are reached.
4. PHP-FPM and OPcache: reducing startup and compilation overhead
PHP-based sites can suffer from slow TTFB during traffic spikes when worker capacity does not match the workload. Check worker saturation alongside application, database and resource bottlenecks. Key areas:
- Process manager (
pm) mode: Comparepm = dynamic,pm = staticandondemandunder representative load rather than assuming one mode is best for most production workloads. Account for startup latency as well as idle memory use. - Worker counts:
pm.max_childrencaps simultaneous requests served by the pool. Size it against measured worker memory, available RAM, CPU and database capacity; raising it alone does not eliminate request queues. For related hosting articles, browse the DCHost blog. - pm.max_requests: Recycle workers after a workload-appropriate number of requests. A range such as 500–2000 is only an example to evaluate, not a universal recommendation. Recycling can limit accumulated memory growth but does not fix the underlying leak.
- OPcache: Enable and tune PHP OPcache to reuse compiled bytecode rather than recompiling scripts on every request; PHP still executes the application for uncached responses. For WordPress, Laravel and WooCommerce we shared recommended values in our PHP OPcache configuration article.
Properly sized PHP-FPM pools and OPcache can reduce PHP processing time, but they do not guarantee a particular TTFB. Measure full-page cache hits separately from requests that execute PHP.
5. Server-side caching: a major lever for dynamic sites
For cacheable content pages and public store pages, full-page caching of HTML can substantially lower TTFB:
- Nginx FastCGI cache or microcaching in front of PHP can serve cached HTML without executing PHP or querying MySQL for each cache hit. We walked through this concept in our Nginx microcaching article.
- LiteSpeed Cache or Varnish-based setups can also deliver full HTML extremely fast with proper cache rules.
- Object cache with Redis or Memcached reduces database load and speeds up uncached requests. See our guide on setting up WordPress object cache with Redis or Memcached.
Important: combine full-page caching with precise cache bypass and purge rules for carts, checkouts and personalized dashboards so functionality stays correct while TTFB remains low for the majority of pages.
If your TTFB is high only on specific pages (product listings, reports, searches), the bottleneck is often the database:
- Ensure proper indexing on frequently queried columns.
- Size the InnoDB buffer pool for the working set and available RAM, leaving memory for PHP and other services.
- Optimize slow queries using
EXPLAINand slow query logs.
For WooCommerce and large catalogs we prepared a deep dive in our article on MySQL indexing and query optimization, which is directly applicable to lowering TTFB on heavy pages.
Hosting-Side Optimizations for Better LCP
1. Reduce initial HTML delay (LCP starts with TTFB)
Slow initial HTML consumes part of the LCP budget. Reducing TTFB can help LCP, especially for first visits and landing pages, but resource loading and rendering delays also matter. Focus on:
- Setting an HTML TTFB budget for representative user locations and connections; ~200 ms can be an ambitious target, not a universal requirement.
- Serving HTML via HTTP/2/3 and TLS 1.3.
- Minimizing heavy queries and server-side rendering work for the above-the-fold content.
2. Serve images efficiently from the server
The LCP element is often a hero image or large background. Hosting-side settings can make a huge difference:
- Image formats: Enable WebP and, where appropriate, AVIF generation and delivery. This can be done via image optimization plugins, build pipelines or server-side tools.
- Responsive sizes: Serve different sizes via
srcsetand ensure your server or CDN caches them efficiently. - CDN and caching: Put heavy images behind a CDN with proper cache headers and regional PoPs close to users.
We explored this topic in detail in our piece on image SEO and hosting infrastructure with WebP/AVIF and CDNs. Many of those best practices directly improve LCP.
3. Compression (Brotli/Gzip) for HTML, CSS and JS
Compressed responses travel faster, especially over slower connections. On the server you should:
- Enable Gzip or (preferably) Brotli compression for HTML, CSS, JavaScript, JSON and SVG.
- Exclude already-compressed formats like JPEG, PNG, WebP and PDFs.
- Use balanced compression levels (e.g. Brotli 4–6) to avoid high CPU usage.
For Nginx, Apache and LiteSpeed examples, see our guide on Brotli and Gzip compression settings for faster Core Web Vitals.
4. Cache-Control and ETag: faster repeat visits
LCP is measured not only on first visits but also on returning users. Correct cache headers from the server allow browsers and CDNs to reuse assets efficiently:
- Set long-lived
Cache-Controlfor static assets (CSS, JS, fonts, images) with file name versioning. - Use ETag or Last-Modified headers so browsers can validate assets cheaply.
- For HTML, use short TTLs or no cache unless you have a clear full-page caching strategy.
We explained practical patterns in our article on why HTTP Cache-Control, ETag and CDN rules are so critical for performance. Applying these correctly reduces network work on subsequent page views and improves LCP for returning visitors.
5. Prioritizing critical resources from the server
Your hosting configuration can hint which assets are crucial for LCP:
- Use HTML
link rel="preload"elements for selected critical CSS, fonts and key hero images so browsers can fetch them early. - Serve a small, render-ready CSS bundle instead of many tiny files. Combining and minifying CSS can be done at build time; the server just needs to cache and deliver it quickly.
- Avoid server-side redirects (
301/302) before the final HTML whenever possible; each redirect adds extra RTTs before the browser can fetch LCP resources.
Backend and API Latency Alongside INP
1. Distinguish INP from backend response time
INP measures interaction responsiveness, not the full time needed to complete a server-backed action. Backend speed still matters for completing actions such as:
- Clicking “Add to cart” or “Place order” triggers PHP and database work.
- Searching, filtering and pagination often request data from APIs.
- Dashboards and admin panels hit multiple endpoints when you interact with them.
If those endpoints take 800–1200 ms to respond, completing the action is delayed, but the browser can still show immediate feedback while an asynchronous request is pending. A slow API response does not by itself establish poor INP; measure interaction responsiveness separately from action completion.
2. Optimize API and AJAX endpoints on the server
Focus on the endpoints tied to key user actions:
- Profile and cache expensive database queries via Redis or other caches. Separate cache keys by user and permission scope where needed, and keep personalized responses out of shared public caches. For stock and prices, choose expiry and invalidation rules that meet freshness requirements and validate current values during checkout.
- Return only the data needed for the current interaction instead of heavy payloads.
- Use asynchronous queues or background workers for deferrable tasks such as sending emails or generating PDFs instead of doing them inline with the user request. Inventory synchronization is deferrable only where the workflow tolerates delayed propagation; authoritative stock and price checks must still succeed before confirming a purchase. Laravel queues and WordPress background-processing integrations are possible approaches; cron schedules work but is not itself a queue. Limit worker concurrency to available CPU and RAM.
- Choose PHP max_execution_time for the workload rather than treating 60–120 seconds as a responsiveness setting. Its time accounting depends on the platform and build, and proxy/FPM timeouts are separate. Measure normal endpoint latency against an explicit budget; 200–400 ms server time is an example target, not an INP threshold.
3. Keep PHP and database warm under load
During traffic peaks, server-side queues can delay action completion. Monitor backend latency separately from INP:
- Size the PHP-FPM worker pool for expected concurrency within RAM and database capacity. Monitor queueing when the pool reaches
pm.max_children, the simultaneous-request limit. - Configure database connection pools or persistent connections where appropriate to avoid connection setup overhead.
- Monitor CPU, RAM and disk IO to make sure your plan is not saturated. Our article on server-side signals that it is time to upgrade your hosting plan helps you interpret these symptoms.
4. Real-time updates done right
For applications with frequent updates (trading dashboards, chat, live notifications), polling repeatedly requests data whether or not it has changed; it is not inherently tied to every UI action. WebSockets or similar real-time channels can reduce repeated request overhead, but changing transport alone does not guarantee better INP. The client must still process updates without blocking interaction feedback.
We explained how these workloads behave on different hosting types in our guide on how WebSockets and real-time apps really work and how to host them.
Concrete Configuration Patterns on Popular Web Servers
Nginx
Nginx is often used as a reverse proxy and static file server in front of PHP-FPM:
- Worker processes and connections: Set
worker_processes auto;and alignworker_connectionswith expected concurrency. - FastCGI tuning: Enable
fastcgi_keep_conn on;only as part of a compatible connection-reuse configuration: the FastCGI peer must keep connections open and the Nginx upstream connection cache must be enabled for the installed version. The directive alone does not establish effective reuse; size idle connections within backend capacity. Choose connect, send and read timeouts for the workload. The read timeout limits inactivity between successive reads, not the duration of the whole response. Diagnose timeout, connection and invalid-header failures from the upstream error log instead of treating every 502 as a timeout. Sizefastcgi_buffersfor the response workload and available memory. - Static file delivery: Serve images, CSS and JS directly from Nginx with proper
expiresandCache-Controlheaders. - Microcaching: A short 1–5 second cache can reduce backend load for eligible public responses during spikes. Even at this TTL, bypass carts, checkout, account pages and other personalized responses; choose expiry and purge rules for the content’s freshness needs.
Apache (prefork, worker, event)
Apache performance heavily depends on the MPM (Multi-Processing Module):
- Use
eventorworkerMPM instead ofpreforkwhen possible, especially with PHP-FPM, to handle more concurrent requests with less RAM. - Tune
ServerLimit,MaxRequestWorkers,MaxConnectionsPerChildto match your hardware capacity and concurrency needs. - Enable and tune mod_deflate or mod_brotli for compression and mod_http2 for HTTP/2.
On shared hosting, server-wide Apache settings are generally provider-managed. On a self-managed server with administrative access, you can tune them directly; confirm the access and management scope of your chosen plan.
LiteSpeed / OpenLiteSpeed
LiteSpeed integrates tightly with PHP and has built-in full-page caching:
- Enable LSCache with explicit cache bypasses for carts, checkouts, account pages and session-dependent or personalized responses, including relevant API endpoints.
- Use Brotli compression and HTTP/3 support built into the server.
- Adjust Max Connections and PHP LSAPI worker settings according to your concurrency and RAM.
Correctly configured full-page caching can reduce backend work for cacheable WordPress and WooCommerce pages. Measure TTFB and LCP separately for cache hits, misses and uncached shopping flows rather than assuming a particular improvement from LiteSpeed-based hosting.
PHP versions and extensions
Beyond FPM pool tuning, the choice of PHP version and modules matters:
- Use a supported stable PHP version compatible with your application; benchmark the upgrade rather than assuming significant performance gains from the version number alone.
- Disable unused extensions and modules to reduce startup overhead.
- Keep an eye on compatibility when upgrading; test in staging first.
When to Scale Up or Change Your Hosting Plan
Recognizing when tuning is not enough
There is a point where even the best-tuned server cannot hide the fact that you have outgrown your plan. Typical signs:
- CPU usage repeatedly hitting 80–100% during normal traffic alongside TTFB spikes. Investigate INP separately rather than attributing it to server CPU usage alone.
- High IOwait (disk bottlenecks) despite query and cache optimizations.
- PHP-FPM and database connections frequently reaching their limits.
- Core Web Vitals significantly worse during campaigns or peak hours even with proper caching.
At that stage, consider moving from shared hosting to a VPS, from a small VPS to a larger one, or to a dedicated server or colocation depending on your growth plans and budgets. Prior tuning can make resource scaling more effective, but migration still requires compatibility checks and capacity testing; persistent bottlenecks may require application or architecture changes.
How dchost.com fits into this picture
DCHost offers self-managed VPS plans, where operating-system, application, security and data-protection administration remain the operator’s responsibility unless another service is agreed. A general hosting progression to evaluate is:
- Start on a well-configured shared or managed plan if you have low to medium traffic and do not want to manage the OS layer.
- Move to a VPS when you need custom PHP, database or caching configurations to push Core Web Vitals further.
- Consider dedicated hardware when you need exclusive CPU resources, large RAM and storage, or custom network/security layouts. Colocation is an option if you also intend to supply and manage the hardware.
In every step, you can carry over the same principles: fast storage, modern protocols, tuned PHP-FPM and database, aggressive but safe caching, and solid monitoring.
Turning Core Web Vitals into a Hosting Checklist
Improving Core Web Vitals is not just a frontend exercise. From the hosting side, reducing server delays can improve TTFB and LCP. Treat your server like a tuned application component instead of a black box, but do not assume backend tuning alone will prevent INP regressions. Start by measuring TTFB on both static and dynamic pages, then apply the layers covered here: NVMe storage, right-sized CPU and RAM, HTTP/2/3 and TLS 1.3, PHP-FPM and OPcache tuning, full-page and object caching, compression and cache headers, and optimized databases and APIs. If you are battling stubborn TTFB issues, our article on server-side causes and solutions for high TTFB is a good companion to this guide.
For your next review, compare measured bottlenecks with your plan’s resource limits and management scope. Review PHP-FPM pools, caching and database settings with whoever administers the stack, then choose targeted configuration changes or additional capacity based on the findings. The important part is to approach Core Web Vitals as a joint effort between frontend and hosting. Validate the combined changes with field Core Web Vitals data rather than assuming faster-feeling pages, longer visits or better search performance.





