IG Limits per Site (not origin)
Here we test out how many IGs can be made in a single site, rather than origin, i.e. for pstone.com, are we restricted to 2000 IGs for the entire site accross subdomains or just per origin. In other words, we know we cannot register > 2000 IGs for the www.pstone.com domain, but can we register and rely on 1000 each for auctions.pstone.com, igs.pstone.com, and www.pstone.com?
Conclusion: it seems we can do this, i.e. 1500 IGs per origin for 3 origins within the overall domain is fine. (To be clear, no comment on performance).
You can decide how many IGs to create using this input, which will result in a call back to this page with that value set as a query param that will be read, and that many IGs will be joined for each of the www, auctions, and interest-groups origins within pstone.com
Results for Test with 1500 for 3 Origins
Since there isn't a great way to see the IGs present in the browser, or running in a particular auction, we use the same pattern as for the single origin test, and use counts on the console log:
- We log once per successful join.
- For this experiment use a specific bidding function which is set up to log once per invocation.
- We use an "error log" to state that the auction completed successfully.
You can re-run this test here.
Join Successes
The join messages are all grouped so we can just take the console grouping count.
Bidding Function Invocations
I couldn't get the messages from the bidding function to group in the same way (even when constant) so here I'm going off the number of info messages, which are exclusively from the bidding function (verified by pulling out the lines and counting matches in bbedit). Since there are 4500 invocations of console.log all from the bidding function this indicates that the 1500 for each of the 3 origins participated in the auction.
Auction Succeeds
Finally we check to see the auction succeed in case anything interesting happens with silent failure.
Where the image was produced like so:
fastify.get("/creatives/oooohhhh", function(request, reply) {
console.log("oooohh request");
let html = 'html>A stranger, from the outside!...