Service · Software testing and QA

Load and stress testing

An enrolment platform that handles twenty families at a time can fall flat at two thousand, on the morning the window opens at nine and half the town signs in inside the same quarter of an hour. The pattern repeats when a ticket sale starts, after a radio mention, or during the first hour of a promotion. A load test is how that limit gets met in October, on a duplicate environment, rather than live in front of the people you meant to serve.

Limit
the step where response times slip
Bottleneck
the component that gives way first
Profile
modelled on your real audience
Re-run
repeated after each optimisation

Where this service reaches

A load run earns its keep only when it looks like a genuine busy day. So the starting point is your analytics and your server logs, never a round number somebody suggested in a meeting.

Put your scope to an engineer

Traffic profile

How many of your visitors open a product page, how many reach for search, how many create an account, how many arrive at card payment through Stripe or PayPlug. Those proportions come out of your own measurements rather than our imagination.

Test scripts

Scenarios built in Gatling, JMeter or k6, with reading pauses, sign-in, varied content and sessions that last. A robot hammering one address proves nothing whatsoever.

Stepped ramp-up

Virtual users arrive in batches, and we record the batch at which response time crosses two seconds, then the batch at which timeouts and 500 errors begin.

Endurance run

Steady traffic held for several hours. Memory leaks, queues that back up and disks quietly filling with log files never reveal themselves inside the first five minutes.

Hunting the bottleneck

Processor, memory, disk activity, database, outside services. More often than not the whole thing hangs on one query without an index, a listing page with no cache, or a connection pool set too narrow.

Behaviour after the peak

Once traffic falls away, does the system pick itself up, or must somebody restart a service by hand? Three minutes of downtime against two hours hangs on that answer.

Remediation plan

Which changes belong in the code, which in the configuration and which in the hosting, in what order, and the gain expected from each. Renting a bigger machine rarely sits at the top of the list.

The way an engagement runs

Writing the scripts occupies a handful of working days. Each run is short, and they get repeated after every repair. The load comes out of the cloud; your servers receive no installation of any kind.

01

A number to aim at

Concurrent users on one side, an acceptable response time on the other. Lacking those two figures, a run can neither pass nor fail.

02

Environment and data

A duplicate of the system, carrying a database of roughly production size. Everything answers instantly on an empty database, and the figures then tell you nothing.

03

The runs

Stepped ramp-up, a measurement at every level, with your own server monitoring open alongside for the whole duration.

04

Analysis and re-run

A report naming each bottleneck, remedies ordered by gain against effort, then a further run once the profitable ones have shipped.

Outside services usually give way before your own servers do. The payment platform, the carrier API, the mail delivery service and the product feed connector each enforce rate limits of their own. Two honest options exist: warn them and obtain written agreement, or swap them for stubs while the run lasts. Either way it belongs in the conclusions, stated plainly.

Questions and answers

Better not. You risk blocking genuine visitors and spoiling a whole day of measurements. A duplicate environment stays the right answer. Failing that, the run happens at night, throughput capped, inside a window you have agreed in writing.

Your peak, never your average, plus a reserve factor of two or three. A monthly average says nothing useful: traffic shows up in waves, when a mailing goes out, when the press mentions you, when an online service window opens.

With caching and with database queries: the cheapest lever, and the one whose gains show up most plainly. Resizing the hosting comes second, reworking the architecture third, once the first two are spent.

Almost always. A surge out of nowhere from four or five IP addresses looks exactly like a denial of service attack, and filtering at the host or the CDN cuts the line midway. We help draft the request and book the slot with OVHcloud, Scaleway or whoever hosts you.

How much can your system take?

Give us the traffic you expect and the date it falls on. The load gets simulated and you see where the trouble begins.

When we are around
Weekdays, 8:00 to 18:00 CET; answers land inside one working day
Talking it through
A call on Teams or Google Meet, whenever writing is not enough

We set strictly necessary cookies only: they keep the site running and remember the city you chose. Nothing here is used for advertising or tracking. More in our privacy policy.