The Friday Deploy

The plain English newsletter for people who run the business, not the tech stack. No jargon. Every Friday.

Your Website Keeps Timing Out: What’s Actually Happening?

November 7, 2025

Customers are complaining that your checkout keeps timing out. They add items to their cart, click “Place Order,” and after 30 seconds of loading, they get an error message: “Request timeout” or “The operation timed out.” They try again. Same result. They abandon their purchase and buy from a competitor.

Your developer says the problem is “slow database queries” and estimates two weeks to fix it. You’re losing sales every hour while customers encounter timeout errors. You need to understand what’s actually broken and whether two weeks is reasonable or an excuse.

Here’s what’s really happening when your website times out, why it’s happening, and what fixing it actually involves.

What a Timeout Actually Means

A timeout isn’t a technical failure. It’s a safety mechanism giving up.

When someone clicks a button on your website (checkout, search, view product), their browser sends a request to your server. The server needs to process that request and send back a response. This normally takes a fraction of a second. But if the server takes too long, the browser (or your application) stops waiting and displays a timeout error.

The timeout threshold is typically 30 seconds. If your server hasn’t responded within 30 seconds, the request gets cancelled. This prevents browsers from waiting indefinitely for responses that might never come.

The timeout itself isn’t the problem. The problem is that your server is taking more than 30 seconds to do something that should take less than one second. The timeout is just the visible symptom of an underlying performance issue.

Why Servers Take Too Long

When your developer says “slow database queries,” they’re identifying where the server is spending its time. Most web applications follow a predictable pattern: receive request, query database for information, process that information, generate response, send response to browser.

For an ecommerce checkout, that might involve: check product availability in the database, verify customer address exists, calculate shipping costs, process payment through a payment gateway, create order record in database, update inventory counts, send confirmation email, return success page to browser.

If any step in this chain takes too long, the entire request exceeds the timeout threshold and fails. The most common culprit is database queries that should take 50 milliseconds but instead take 25 seconds.

Why do database queries become slow?

Missing or inefficient indexes. Databases use indexes to quickly find specific records, like using a book’s index to find topics rather than reading every page. Without proper indexes, the database has to scan through every record to find what it needs. For a product catalog with 50,000 items, that’s the difference between finding the item in 10 milliseconds versus 15 seconds.

N+1 query problems. The application makes one database query, gets results, then makes another query for each result. Fetching 100 products with their categories could mean 101 queries (one for products, then one per product for its category) instead of a single efficient query. Each query adds time. 101 queries that each take 100 milliseconds means 10 seconds total.

Unoptimised queries. The query asks for more data than needed, uses inefficient filtering, or forces the database to perform complex calculations. A query requesting “all orders ever placed” when you only need “orders from the last 30 days” processes millions of unnecessary records.

Database locks and contention. When multiple requests try to modify the same database records simultaneously, some requests wait for others to complete. During high-traffic sales, dozens of customers might be checking out concurrently, all trying to update the same inventory counts. Requests queue up waiting for database locks, and waiting time compounds.

Insufficient database resources. The database server has limited memory, CPU, and disk speed. If these resources are exhausted, everything slows down. Like a computer running out of RAM, the database starts using slow disk storage instead of fast memory, multiplying query times by 100x.

Why It’s Not Always the Database

While database queries are the most common timeout cause, other factors contribute:

External API calls. If your checkout calls a shipping API to calculate delivery costs or a fraud detection service to verify the transaction, you’re dependent on those external services responding quickly. If the shipping API takes 20 seconds to respond, your checkout times out even if your own code and database are fast.

Inefficient application code. Sometimes the problem isn’t the database but what the application does with the data. Processing 10,000 records in a loop, performing complex calculations, or generating large files can exhaust server CPU and cause timeouts.

Server resource exhaustion. If your server is undersized for traffic volume, every request competes for limited CPU, memory, and network bandwidth. During traffic spikes, requests queue up waiting for available resources. Queue times compound, and what normally takes 500 milliseconds takes 35 seconds.

Network issues. Rarely, network problems between your server and database, or between your server and users, cause timeouts. Packets get delayed or lost, connections drop, and requests fail.

What “Two Weeks to Fix” Actually Means

When your developer estimates two weeks to fix timeout problems, here’s what they’re actually doing:

Week 1: Diagnosis and investigation. Identify which specific operations are timing out. Enable database query logging to capture slow queries. Analyse what those queries are doing and why they’re slow. Check server resources (CPU, memory, disk) to identify constraints. Review application code for inefficient patterns. Test API integrations to find external bottlenecks.

Week 2: Implementation and testing. Add database indexes to speed up slow queries. Rewrite inefficient queries to request only necessary data. Fix N+1 query problems by consolidating multiple queries. Optimise application code that processes data inefficiently. Implement caching for frequently accessed data. Test fixes in staging environment. Deploy to production and monitor for improvement.

This timeline assumes the problems are straightforward. Complex issues extend the timeline: if database structure needs changing, if third-party APIs need replacing, if the application architecture has fundamental performance problems.

Questions to Ask Your Developer

To assess whether the diagnosis and timeline are reasonable:

Which specific pages or operations are timing out? Checkout? Search? Product pages? Admin functions? Knowing what times out helps you understand business impact and urgency.

What’s causing the slowness? Can they point to specific slow database queries or operations? If they can’t identify the cause yet, that’s fine, but they should explain how they’ll diagnose it.

Have you tested the fix in staging? Never deploy performance fixes directly to production without testing. Confirm they have a staging environment to validate improvements.

What improvement should we expect? A vague “it’ll be faster” isn’t helpful. Something like “checkout will go from 25 seconds to 2 seconds” gives you measurable expectations.

What’s the risk if we don’t fix this? Help them articulate business impact in terms you care about: lost sales, customer frustration, inability to handle growth.

Is this a temporary fix or permanent solution? Some fixes are quick patches that buy time for proper architecture improvements. Understand whether you’re solving the problem or delaying it.

Workarounds While Waiting for a Fix

If customers are actively encountering timeouts and the fix takes two weeks, consider temporary measures:

Increase timeout thresholds. If requests consistently take 35 seconds but timeout at 30 seconds, increasing the threshold to 60 seconds might let transactions complete. This doesn’t solve the underlying slowness but prevents immediate failures. The trade-off is that users wait longer before getting an error if something genuinely breaks.

Reduce concurrent load. If the problem emerges during traffic spikes, temporarily limiting concurrent checkouts (using a queue system) prevents resource exhaustion. Users wait in a queue but successfully complete checkout rather than encountering timeouts.

Disable non-essential features. If your checkout includes recommendation widgets, related products, or customer reviews that make additional database queries, temporarily removing them reduces server load. Customers can still check out, just with a simplified experience.

Scale up server resources temporarily. Provisioning more powerful servers or additional server instances can handle load better while permanent fixes are implemented. This costs money but might be cheaper than lost sales.

None of these fix the root cause. They’re triage to stop the bleeding while actual repairs happen.

When the Problem Is Bigger Than “Slow Queries”

Sometimes timeout problems reveal fundamental issues requiring more extensive work:

Application needs replatforming. If your ecommerce system is built on outdated technology that can’t handle current traffic levels, no amount of query optimisation helps. The entire platform might need replacing.

Database architecture is wrong. The way data is structured might be fundamentally inefficient for current usage patterns. Restructuring requires careful migration planning and can’t be rushed.

Traffic has outgrown infrastructure. Your application was built for 100 concurrent users but now handles 5,000. Infrastructure designed for small scale doesn’t linearly scale to large scale. This might require architectural changes (caching layers, database replication, application server clustering) beyond simple query fixes.

If your developer reports one of these scenarios, the two-week estimate was probably preliminary and will extend once they fully understand scope.

The Cost of Ignoring Timeouts

Every timeout is a potential lost sale. If 5% of checkout attempts timeout and you process 200 transactions daily, that’s 10 failed transactions per day. At $100 average order value, you’re losing $1,000 daily ($30,000 monthly) while the problem persists.

Beyond immediate lost revenue, timeouts damage customer trust. People who encounter errors during checkout often don’t return. They assume your site is unreliable and shop elsewhere permanently.

Timeout problems often worsen over time. Databases grow larger. Traffic increases. What causes occasional timeouts during traffic spikes eventually becomes constant. Addressing performance issues while they’re manageable prevents crisis situations later.

Prevention Through Monitoring

Timeout problems don’t appear suddenly. They develop gradually as databases grow, traffic increases, and code accumulates inefficiencies. Proper monitoring catches performance degradation before it causes timeouts.

Application performance monitoring (APM) tools track request response times, identify slow database queries, and alert when performance degrades below thresholds. Tools like New Relic, Datadog, or Skylight provide visibility into what’s slowing down your application.

Database query analysis should be routine maintenance, not emergency response. Regularly reviewing slow query logs identifies problems early. Database administrators can add indexes, optimise queries, and tune configuration before users encounter timeouts.

Load testing simulates peak traffic to identify performance limits. Testing before major sales or marketing campaigns reveals capacity constraints with time to address them, rather than discovering limits when customers encounter errors.

Regular performance audits (quarterly or biannually) cost far less than emergency timeout fixes. Budget for ongoing monitoring and periodic optimisation as maintenance, not crisis intervention.

The Bottom Line

When your website times out, it means your server is taking too long to respond, usually because of slow database queries consuming more than the 30-second timeout threshold.

A two-week fix timeline is reasonable if the problem involves identifying slow queries, adding database indexes, optimising query structures, and testing improvements. It’s concerning if your developer can’t articulate what’s slow or how they’ll diagnose it.

Temporary workarounds (increasing timeouts, reducing load, disabling features, scaling resources) can stop immediate customer pain while permanent fixes are implemented, but they don’t solve underlying problems.

Timeout issues reveal performance problems that worsen over time. Addressing them promptly prevents lost sales and deteriorating customer experience. Better yet, regular monitoring and performance maintenance prevents timeout emergencies entirely.

Your checkout timing out isn’t a minor technical glitch. It’s customers actively trying to give you money and being prevented from doing so. Treat it with appropriate urgency while understanding that proper fixes take time to implement correctly.

Read more Technical Translation

Database, Performance, Timeouts, Troubleshooting, User Experience

Previous Next

The Friday Deploy

The plain English newsletter for people who run the business, not the tech stack. No jargon. Every Friday.