Skip to content
DEFLECTO
Proof

One attack, as the node recorded it.

Most security vendors assert capability and very few show it. This page is one real incident: a distributed flood against a production node, described with the figures the node measured while it was happening. Nothing here is modelled, projected, or rounded in our favour.

Measured on a production nodeAnonymised incident
At the peak

What the counters said.

Six numbers, read off one node while the flood was running. The rest of the page is what they mean and what they do not.

0Requests per second, sustainedUp from roughly 37,000 two minutes earlier
0Distinct source addressesIn a 1,500 event sample, median 1 request each
0Milliseconds to serve a legitimate requestUnchanged throughout the attack
0Load average across 64 coresRoughly 3 percent of the CPU available
0Million requests seen on that node, lifetimeThe overwhelming majority refused, not forwarded
0Requests from the attack that were billableQuota counts only what reaches your origin

Anonymised. The customer, the sector, the date and the location are withheld deliberately and will stay withheld. What is published is what the node measured, and nothing has been added around it to make a better story.

Highest on record

605,430

requests per second, absorbed

That figure is not from the incident described above. It is the largest flood this network has taken, roughly eight times the one on this page, and we publish it as a ceiling we have actually reached rather than a capacity we estimate.

The incident above is the one documented in detail, because it is the one where every counter quoted was read while the attack was still running. A bigger number with a thinner account behind it is worth less than a smaller number you can check.

Incoming request rate

Two measurements, two minutes apart
roughly 37,000 req/s75,418 req/stwo minutes earliersustained
Only the two endpoints were recorded, so the line between them is drawn straight and dashed. The interval to the right is solid because the node held that rate rather than touching it.

Where it came from

Sampled during the flood
Events in the sample1,500
Distinct source addresses1,206
Median requests per address1
A median of one means at least half of those addresses were seen exactly once. There is no abusive client in this picture to block, only a very large number of clients that each look ordinary.
Sequence

What happened, in order.

The same event told once, from the first sign of the climb to the state of the node after it.

  1. The rise

    The rate doubled in two minutes.

    Incoming requests to the node were arriving at roughly 37,000 per second. Two minutes later the sustained rate was 75,418 per second, and it stayed there. Every other measurement on this page was taken while it was holding at that level.

  2. The shape

    No single address looked abusive.

    A 1,500 event sample of the traffic contained 1,206 distinct source addresses, at a median of one request per address. That is what distributed means in practice. There was no heavy hitter to find and ban, and a rule written against any one of those addresses would have removed almost nothing from the flood.

  3. The response

    The ordinary pipeline, not a special mode.

    Nothing was switched on for the occasion. The traffic met the same sequence every request meets: packet filtering inside the network driver, connection admission before a handshake, and proof-of-work challenges. Two guard rules did the work, one for the site-wide under-attack posture and one for clients that had been issued a challenge and never solved it.

  4. Meanwhile

    Legitimate requests were served in 3.3 milliseconds.

    Throughout the flood, real requests were answered in 3.3 milliseconds. System load average was 2.12 across 64 cores, roughly 3 percent of the CPU on the machine, and resident memory stayed flat at about 2 GB. The node was not straining against the attack, it was doing its usual job with an attack attached.

  5. The ledger

    290.4 million requests seen, most of them refused.

    Lifetime counters on that node stood at 290.4 million requests seen, of which the overwhelming majority were refused rather than forwarded. Refusing is not the exception in this system. It is the majority of what the machine has ever done.

Invoiced for the attack

$0

Not one refused request was billable.

What it cost the customer

Nothing, and that is the billing contract.

Quota counts one thing: legitimate requests the node forwards to your origin. The flood was refused, so it was never counted. There is no surcharge for being attacked, no overage triggered by the volume, and no separate line for mitigation, because refusing traffic is the product rather than an extra.

The practical effect is that the size of an attack has no relationship to the size of the invoice. A customer on the smallest plan would have paid the same for this incident as a customer on the largest one, which is nothing.

Limitations

What this incident does not prove.

One event is evidence, not a guarantee. Here is the part of the page a case study normally leaves out, because a number is only worth something when you also know what it cannot tell you.

One incident, one node

This is a single event on a single machine. It shows what the pipeline did against this attack at this size. It is not an average, not a service level, and not a promise about the next one.

75,418 is not a ceiling

It is the rate this attack reached, not the rate at which the node stops coping. The load figures suggest there was room left, but room you infer from a load average is not capacity anyone has measured. We do not know where the limit is, because this attack did not find it.

The address count is a sample

1,206 distinct addresses were counted in a 1,500 event sample, not in a census of the whole flood. The sample says the traffic was spread across at least that many sources. It does not give a total, and no total is claimed here.

Load average is a coarse instrument

2.12 across 64 cores says the machine was nowhere near saturation at that moment. It does not describe the shape of the curve at ten times the rate, and an average can hide a short spike inside it.

Your traffic is not this traffic

A flood of requests that are individually expensive at the origin behaves differently from this one. What generalises is the mechanism, filtering below the socket, admission control and proof of work, not these particular numbers.

Anonymity cuts both ways

Because the customer is not named, you cannot call them and check. That is a real cost of publishing an anonymised incident, it is the right trade for the customer, and you should weigh this page accordingly.

Next step

Ask harder questions than this page answers.

What the pipeline does against a flood shaped like yours, how challenge difficulty behaves under sustained pressure, what the counters look like on a node carrying your traffic profile. An engineer will answer with specifics, and will say so plainly where the honest answer is that we have not measured it.