
I finally got around to looking at how SQS rendezvous costs have scaled with the number of users each month, now that we've collected a few months of data[0]. As expected[1], costs appear to scale linearly with the number of client polls and sit pretty consistently around 4 to 5USD per million client polls[2]. Last month, we had just over 120 million client polls over HTTP and about 90 million client polls over AMP cache. If we were to scale up SQS to around 100 million polls per month, our AWS bill would be $500[3]. This isn't as bad as I feared. It's not something an individual can afford to pay, but it's within what I imagine an organization, grant, or dedicated fundraising effort could manage. This method does have a weakness: we don't have access to rate limiting tools to slow down a single client's usage of the channel. The AWS budget actions have been effective at setting cutoffs to prevent massive charges, but if the budget limit is exceeded, the channel will stop working for everyone until the next month. This could also be applied if we have a spike in usage like the one we saw in August due to a censorship event that blocked proxy connections but not rendezvous[4]. Overall, I am more optimistic about a builtin Snowflake bridge that uses SQS rendezvous[5] now than I was before. [0] https://gitlab.torproject.org/tpo/anti-censorship/team/-/wikis/Snowflake-cos... [1] https://lists.torproject.org/mailman3/hyperkitty/list/anti-censorship-team@l... [2] https://gitlab.torproject.org/-/snippets/230 [3] https://snowflake-broker.torproject.net/metrics [4] https://gitlab.torproject.org/tpo/anti-censorship/pluggable-transports/snowf... [5] https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/43842
participants (1)
-
Cecylia Bocovich