Repository navigation
docs: scalability guide with the 10k figures and the connection model - #691
Merged
Merged
Conversation
The guide's numbers came from the 3200-member run and its model counted a router's connections as its members' sessions. The 10,000-member run measured otherwise: each router held 3200 to 5100 sessions and about 9000 connections, because the members attached to the other routers keep a DHT connection to this one most of the time (the kad client refreshes its table every two minutes against every router, and the router closes the connection at the auth deadline in between). State the model with that term: connections ≈ F × K/N + 0.8 × F × (N − K)/N, about 0.9 × F at six routers, bounded by the connection cap of twice the high watermark rather than by the watermark, so the high-watermark rule gains a second bound (0.55 × F). Update memory per connection (190 KiB, six goroutines; 1.7 GiB at 9000), the retention after a drain with the two upstream fixes it waits on, the join times by mesh size, the service figures (1000 callers per step, every first call completed, 1.0 to 1.4 attempts), and the churn a middlebox sees (3700 new connections a minute per router at 10k). The router reference no longer says the two counts stay close.
Contributor
|
Warning You have reached your daily quota limit. Please wait up to 24 hours and I will start processing your requests again! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The guide's numbers came from the 3200-member run, and its model counted a router's connections as its members' sessions. The 10,000-member run (#277) measured otherwise: each router held 3200 to 5100 sessions and about 9000 connections, because the members attached to the other routers keep a DHT connection to this one most of the time. The kad client refreshes its table every two minutes against every router it knows (its table of six routers is below kad-dht's refresh threshold), and the router closes the connection at the auth deadline in between.
What changes in the guide:
--high-watermarkrule gains a second bound, 0.55 × F. The testnet example is recomputed: 10,000 on six routers at 6000 held about 9000 connections per router of a cap of 12,000, about the same with one router out.The router reference no longer says that the connection and member counts stay close, and points to the guide for the bound.