mirror of
https://github.com/octoleo/syncthing.git
synced 2024-11-14 09:14:10 +00:00
916ec63af6
This is a new revision of the discovery server. Relevant changes and non-changes: - Protocol towards clients is unchanged. - Recommended large scale design is still to be deployed nehind nginx (I tested, and it's still a lot faster at terminating TLS). - Database backend is leveldb again, only. It scales enough, is easy to setup, and we don't need any backend to take care of. - Server supports replication. This is a simple TCP channel - protect it with a firewall when deploying over the internet. (We deploy this within the same datacenter, and with firewall.) Any incoming client announces are sent over the replication channel(s) to other peer discosrvs. Incoming replication changes are applied to the database as if they came from clients, but without the TLS/certificate overhead. - Metrics are exposed using the prometheus library, when enabled. - The database values and replication protocol is protobuf, because JSON was quite CPU intensive when I tried that and benchmarked it. - The "Retry-After" value for failed lookups gets slowly increased from a default of 120 seconds, by 5 seconds for each failed lookup, independently by each discosrv. This lowers the query load over time for clients that are never seen. The Retry-After maxes out at 3600 after a couple of weeks of this increase. The number of failed lookups is stored in the database, now and then (avoiding making each lookup a database put). All in all this means clients can be pointed towards a cluster using just multiple A / AAAA records to gain both load sharing and redundancy (if one is down, clients will talk to the remaining ones). GitHub-Pull-Request: https://github.com/syncthing/syncthing/pull/4648
74 lines
7.5 KiB
Plaintext
74 lines
7.5 KiB
Plaintext
goos: darwin
|
|
goarch: amd64
|
|
pkg: github.com/gogo/protobuf/test
|
|
BenchmarkNidOptNativeProtoMarshal-8 2000000 831 ns/op 276.72 MB/s
|
|
BenchmarkNinOptNativeProtoMarshal-8 2000000 931 ns/op 224.49 MB/s
|
|
BenchmarkNidRepNativeProtoMarshal-8 500000 2341 ns/op 349.71 MB/s
|
|
BenchmarkNinRepNativeProtoMarshal-8 500000 2500 ns/op 327.56 MB/s
|
|
BenchmarkNidRepPackedNativeProtoMarshal-8 500000 3542 ns/op 105.30 MB/s
|
|
BenchmarkNinRepPackedNativeProtoMarshal-8 500000 3571 ns/op 104.44 MB/s
|
|
BenchmarkNidOptStructProtoMarshal-8 500000 2386 ns/op 354.44 MB/s
|
|
BenchmarkNinOptStructProtoMarshal-8 500000 2361 ns/op 324.30 MB/s
|
|
BenchmarkNidRepStructProtoMarshal-8 200000 5585 ns/op 317.40 MB/s
|
|
BenchmarkNinRepStructProtoMarshal-8 200000 5608 ns/op 316.16 MB/s
|
|
BenchmarkNidEmbeddedStructProtoMarshal-8 1000000 1475 ns/op 327.39 MB/s
|
|
BenchmarkNinEmbeddedStructProtoMarshal-8 1000000 1465 ns/op 312.60 MB/s
|
|
BenchmarkNidNestedStructProtoMarshal-8 100000 14816 ns/op 278.74 MB/s
|
|
BenchmarkNinNestedStructProtoMarshal-8 100000 13744 ns/op 283.03 MB/s
|
|
BenchmarkNidOptCustomProtoMarshal-8 3000000 539 ns/op 131.63 MB/s
|
|
BenchmarkCustomDashProtoMarshal-8 3000000 474 ns/op 172.86 MB/s
|
|
BenchmarkNinOptCustomProtoMarshal-8 3000000 578 ns/op 115.81 MB/s
|
|
BenchmarkNidRepCustomProtoMarshal-8 1000000 1700 ns/op 107.04 MB/s
|
|
BenchmarkNinRepCustomProtoMarshal-8 1000000 1715 ns/op 106.07 MB/s
|
|
BenchmarkNinOptNativeUnionProtoMarshal-8 5000000 346 ns/op 46.17 MB/s
|
|
BenchmarkNinOptStructUnionProtoMarshal-8 3000000 518 ns/op 121.60 MB/s
|
|
BenchmarkNinEmbeddedStructUnionProtoMarshal-8 2000000 785 ns/op 189.70 MB/s
|
|
BenchmarkNinNestedStructUnionProtoMarshal-8 2000000 657 ns/op 118.58 MB/s
|
|
BenchmarkTreeProtoMarshal-8 3000000 584 ns/op 176.32 MB/s
|
|
BenchmarkOrBranchProtoMarshal-8 2000000 997 ns/op 245.52 MB/s
|
|
BenchmarkAndBranchProtoMarshal-8 2000000 982 ns/op 249.36 MB/s
|
|
BenchmarkLeafProtoMarshal-8 3000000 453 ns/op 213.86 MB/s
|
|
BenchmarkDeepTreeProtoMarshal-8 2000000 822 ns/op 176.28 MB/s
|
|
BenchmarkADeepBranchProtoMarshal-8 2000000 931 ns/op 196.52 MB/s
|
|
BenchmarkAndDeepBranchProtoMarshal-8 1000000 1515 ns/op 219.09 MB/s
|
|
BenchmarkDeepLeafProtoMarshal-8 2000000 696 ns/op 200.89 MB/s
|
|
BenchmarkNilProtoMarshal-8 10000000 219 ns/op 159.54 MB/s
|
|
BenchmarkNidOptEnumProtoMarshal-8 5000000 275 ns/op 134.49 MB/s
|
|
BenchmarkNinOptEnumProtoMarshal-8 5000000 314 ns/op 130.50 MB/s
|
|
BenchmarkNidRepEnumProtoMarshal-8 3000000 516 ns/op 114.31 MB/s
|
|
BenchmarkNinRepEnumProtoMarshal-8 3000000 516 ns/op 114.21 MB/s
|
|
BenchmarkNinOptEnumDefaultProtoMarshal-8 5000000 308 ns/op 132.80 MB/s
|
|
BenchmarkAnotherNinOptEnumProtoMarshal-8 5000000 311 ns/op 131.65 MB/s
|
|
BenchmarkAnotherNinOptEnumDefaultProtoMarshal-8 5000000 312 ns/op 131.11 MB/s
|
|
BenchmarkTimerProtoMarshal-8 3000000 503 ns/op 208.34 MB/s
|
|
BenchmarkMyExtendableProtoMarshal-8 2000000 689 ns/op 117.49 MB/s
|
|
BenchmarkOtherExtenableProtoMarshal-8 1000000 1356 ns/op 116.48 MB/s
|
|
BenchmarkNestedDefinitionProtoMarshal-8 2000000 919 ns/op 252.30 MB/s
|
|
BenchmarkNestedDefinition_NestedMessageProtoMarshal-8 3000000 566 ns/op 210.03 MB/s
|
|
BenchmarkNestedDefinition_NestedMessage_NestedNestedMsgProtoMarshal-8 5000000 395 ns/op 207.58 MB/s
|
|
BenchmarkNestedScopeProtoMarshal-8 2000000 840 ns/op 265.32 MB/s
|
|
BenchmarkNinOptNativeDefaultProtoMarshal-8 2000000 932 ns/op 224.11 MB/s
|
|
BenchmarkCustomContainerProtoMarshal-8 2000000 680 ns/op 160.07 MB/s
|
|
BenchmarkCustomNameNidOptNativeProtoMarshal-8 2000000 844 ns/op 272.51 MB/s
|
|
BenchmarkCustomNameNinOptNativeProtoMarshal-8 2000000 915 ns/op 228.30 MB/s
|
|
BenchmarkCustomNameNinRepNativeProtoMarshal-8 500000 2346 ns/op 348.99 MB/s
|
|
BenchmarkCustomNameNinStructProtoMarshal-8 500000 3010 ns/op 318.50 MB/s
|
|
BenchmarkCustomNameCustomTypeProtoMarshal-8 1000000 2003 ns/op 106.79 MB/s
|
|
BenchmarkCustomNameNinEmbeddedStructUnionProtoMarshal-8 2000000 757 ns/op 196.79 MB/s
|
|
BenchmarkCustomNameEnumProtoMarshal-8 5000000 375 ns/op 119.68 MB/s
|
|
BenchmarkNoExtensionsMapProtoMarshal-8 3000000 423 ns/op 191.12 MB/s
|
|
BenchmarkUnrecognizedProtoMarshal-8 5000000 279 ns/op 160.80 MB/s
|
|
BenchmarkUnrecognizedWithInnerProtoMarshal-8 3000000 582 ns/op 161.34 MB/s
|
|
BenchmarkUnrecognizedWithInner_InnerProtoMarshal-8 10000000 209 ns/op 23.87 MB/s
|
|
BenchmarkUnrecognizedWithEmbedProtoMarshal-8 3000000 497 ns/op 178.98 MB/s
|
|
BenchmarkUnrecognizedWithEmbed_EmbeddedProtoMarshal-8 10000000 216 ns/op 23.12 MB/s
|
|
BenchmarkNodeProtoMarshal-8 3000000 436 ns/op 231.46 MB/s
|
|
BenchmarkNonByteCustomTypeProtoMarshal-8 2000000 843 ns/op 93.69 MB/s
|
|
BenchmarkNidOptNonByteCustomTypeProtoMarshal-8 2000000 851 ns/op 97.47 MB/s
|
|
BenchmarkNinOptNonByteCustomTypeProtoMarshal-8 2000000 857 ns/op 92.15 MB/s
|
|
BenchmarkNidRepNonByteCustomTypeProtoMarshal-8 500000 2748 ns/op 83.67 MB/s
|
|
BenchmarkNinRepNonByteCustomTypeProtoMarshal-8 500000 2750 ns/op 83.62 MB/s
|
|
BenchmarkProtoTypeProtoMarshal-8 5000000 395 ns/op 207.07 MB/s
|
|
PASS
|
|
ok github.com/gogo/protobuf/test 159.241s
|