Skip to end of metadata
Go to start of metadata

What does QPS mean and how is it applied?


QPS is defined as queries per second. For external bidders, QPS is used to describe the total number of bid requests that can be sent per second. The implementation of QPS is accomplished via the field, qps_limit, on the bidder_instance object. This allows the external bidder to set a maximum traffic to be sent to per datacenter.


The purpose of QPS for external bidders is to ensure the bidder's servers do not receive more traffic than they can process. It is not meant to be the optimal amount of traffic. The bidder can receive traffic lower than the qps_limit value, based on the available inventory, how the bidder's profiles are configured, and their bidder's performance.
For example, here's a bidder instance configuration: 

This instance is configured to receive, a maximum, of 1000 bid requests per second.

Let's look at the available traffic for this bidder:

Figure 1

Here's what's sent to this bidder:

Figure 2

As the available inventory fluctuates (due to normal human web browsing behavior), the bid requests sent to the bidder will also fluctuate in a similar manner.
Since this bidder has set the qps_limit value to 1000, the traffic is being limited to that value and this is reflected in Figure 2.

Traffic Calculation:

Figure 1 shows the traffic fluctuates from a low of 50k to a high of 175k. Figure 2 shows the bidder has received from a low of 400 to a high of 1000 (the qps_limit value).

How is this calculated?

There are 7 key metrics used in determining the final bid requests sent. The follow two tables detail these metrics and how they are utilized.

Bidder UI Metrics


Bid requests - Attempt

Number of attempts to make a single bid request.

Bid requests - Available

Number of auctions that are available to a bidder, whether or not that bidder filters them

Bid requests - Profile filtered

Number of auctions that a bidder's profile filtered out

Bid requests - Sent

Number of attempts that a bid request succeeded to send

Bid requests - Volume filtered

Number of auctions that didn't send a bid request because of throttling

Other - Connection error pct

Percent of bid_requests that were aborted due to an inability to connect to the bidder.

Timing - Timeout %

Percent of bid_requests that timed out

Table 1

Bidder UI Metrics

When is it counted?

Bid requests - Attempt

After all filtering but before QPS filtering

Bid requests - Available

After sell-side filtering before bidder profiles applied

Bid requests - Profile filtered

After sell-side filtering and after bidder profiles excluded the auction

Bid requests - Sent

Once we've successfully sent the request to the bidder.

Bid requests - Volume filtered

After a bidder is eligible and its profiles include the auction, but the profiles have throttling set (passthrough_percent field)

Other - Connection error pct

Bidder is eligible to bid and fails to respond to a bid request because a connection could not be established.

Timing - Timeout %

Bidder is eligible to bid and fails to respond within the time limit

Table 2

Before calculating the Bid requests - Sent value, it is worth reviewing how we determine what bid requests are available.

Sellers have controls that can limit which bidders can receive traffic. When a seller blocks the buyer members of a bidder in the Ad Quality Rules, that bidder will not receive bid requests from that seller. Sellers can also use a visibility profile to block bid requests from being sent to a bidder.

The Timing – Timeout % metric consists of three components:

  1. The bidder has sent a bid response, but the bid response was not received in time to be eligible for the auction.
  2. The bidder has not sent a bid response to the auction.
  3. The bidder has sent a bid response and is eligible for the auction, however, the bid response came in towards the end of the maximum allowed time. There are bid requests that have been waiting to be sent that will be timed out, since the adserver has determined the bidder cannot respond in time.

Here is an example of a bid request that was timed out on a given connection, since only one bid request can be sent on a given connection at a time (using a default maximum allowed time of 100ms):

  • Time 0ms: bid request 1 sent to your bidder
  • Time 1ms: bid request 2 queued
  • Time 1.5ms: bid request 3 queued
  • Time 99ms: bid response 1 received
  • Time 100ms: bid request 2 sent
  • Time 102ms: bid request 3 timed out before the request was sent


  • No labels