-
Notifications
You must be signed in to change notification settings - Fork 260
Impact of bidding script size #1347
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
This can be expected if the seller aborts the auction before fulfilling all auction configuration Promises. Increasing the size of the bidding script is going to increase the time it takes to download the script which is going to increase the percentage of time a bidder hits their
|
We do observe that around 30% of the KV server calls are not followed by an execution of our bidding script (
generateBid
). The execution ofgenerateBid
, at its very beginning registersforDebuggingOnly.reportAdAuctionLoss
so that we are sure to receive a notification server side ifgenerateBid
is triggered.We investigated the impact of the size of the bidding script on that phenomenon.
For that we conducted two tests:
The first test is to increase the size of the production bidding script.
For that we add a dummy payload to the script. This payload can be of an arbitrary size.
We consider the size as seen server side before any compression mechanism.
The production bidding script if around 100KB
We use the
no-cache
response header, indicating that the script can be stored in caches, but the response must be validated with the origin server before each reuse.We tested adding 100KB, 200KB, 400KB and 800KB
The second test is to reduce the size of the bidding script. For that we build a minimal bidding script where we remove all logic in
generateBid
. It only registers a call toforDebuggingOnly.reportAdAuctionLoss
and returns a constant bid (-1).reportWin
does nothing.This minimal script is of size 1KB. We still have the capacity to add a dummy payload to it.
We tested with script sizes 1KB (the minimal script) and 25KB (the minimal script plus a dummy payload of 24KB)
The test ensures we have the same number of calls to the bidding script endpoint in the reference population and in the test population.
We measure the relative increase in participation as : (number of reports received in TEST - number of reports received in REF)/(number of reports received in REF)
The results show a clear relationship between the size of the bidding script and the number of generateBid executions :
This causes several issues
Are there any mitigation proposal to minimize this effect?
And more generally what would be the possible reporting solutions to measure why we lose opportunities (the size of the bidding script being one of them)?
The text was updated successfully, but these errors were encountered: