mirror of
https://github.com/octoleo/syncthing.git
synced 2024-11-06 05:17:49 +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.7 KiB
Plaintext
74 lines
7.7 KiB
Plaintext
goos: darwin
|
|
goarch: amd64
|
|
pkg: github.com/gogo/protobuf/test/combos/both
|
|
BenchmarkNidOptNativeProtoUnmarshal-8 3000000 441 ns/op 520.98 MB/s
|
|
BenchmarkNinOptNativeProtoUnmarshal-8 2000000 638 ns/op 327.14 MB/s
|
|
BenchmarkNidRepNativeProtoUnmarshal-8 500000 2830 ns/op 289.36 MB/s
|
|
BenchmarkNinRepNativeProtoUnmarshal-8 500000 2859 ns/op 286.37 MB/s
|
|
BenchmarkNidRepPackedNativeProtoUnmarshal-8 1000000 1813 ns/op 205.67 MB/s
|
|
BenchmarkNinRepPackedNativeProtoUnmarshal-8 1000000 1793 ns/op 207.96 MB/s
|
|
BenchmarkNidOptStructProtoUnmarshal-8 1000000 1876 ns/op 450.92 MB/s
|
|
BenchmarkNinOptStructProtoUnmarshal-8 1000000 1992 ns/op 384.38 MB/s
|
|
BenchmarkNidRepStructProtoUnmarshal-8 300000 5234 ns/op 338.72 MB/s
|
|
BenchmarkNinRepStructProtoUnmarshal-8 300000 5097 ns/op 347.79 MB/s
|
|
BenchmarkNidEmbeddedStructProtoUnmarshal-8 1000000 1077 ns/op 448.06 MB/s
|
|
BenchmarkNinEmbeddedStructProtoUnmarshal-8 1000000 1088 ns/op 420.67 MB/s
|
|
BenchmarkNidNestedStructProtoUnmarshal-8 100000 11850 ns/op 348.52 MB/s
|
|
BenchmarkNinNestedStructProtoUnmarshal-8 200000 11242 ns/op 346.02 MB/s
|
|
BenchmarkNidOptCustomProtoUnmarshal-8 10000000 196 ns/op 361.07 MB/s
|
|
BenchmarkCustomDashProtoUnmarshal-8 10000000 228 ns/op 359.22 MB/s
|
|
BenchmarkNinOptCustomProtoUnmarshal-8 5000000 243 ns/op 275.11 MB/s
|
|
BenchmarkNidRepCustomProtoUnmarshal-8 2000000 811 ns/op 224.17 MB/s
|
|
BenchmarkNinRepCustomProtoUnmarshal-8 2000000 812 ns/op 223.94 MB/s
|
|
BenchmarkNinOptNativeUnionProtoUnmarshal-8 20000000 78.0 ns/op 205.18 MB/s
|
|
BenchmarkNinOptStructUnionProtoUnmarshal-8 10000000 198 ns/op 318.01 MB/s
|
|
BenchmarkNinEmbeddedStructUnionProtoUnmarshal-8 3000000 465 ns/op 320.00 MB/s
|
|
BenchmarkNinNestedStructUnionProtoUnmarshal-8 5000000 329 ns/op 236.72 MB/s
|
|
BenchmarkTreeProtoUnmarshal-8 5000000 301 ns/op 341.52 MB/s
|
|
BenchmarkOrBranchProtoUnmarshal-8 2000000 788 ns/op 310.72 MB/s
|
|
BenchmarkAndBranchProtoUnmarshal-8 2000000 809 ns/op 302.61 MB/s
|
|
BenchmarkLeafProtoUnmarshal-8 10000000 226 ns/op 428.13 MB/s
|
|
BenchmarkDeepTreeProtoUnmarshal-8 3000000 564 ns/op 256.96 MB/s
|
|
BenchmarkADeepBranchProtoUnmarshal-8 2000000 746 ns/op 244.98 MB/s
|
|
BenchmarkAndDeepBranchProtoUnmarshal-8 1000000 1262 ns/op 263.05 MB/s
|
|
BenchmarkDeepLeafProtoUnmarshal-8 3000000 474 ns/op 294.99 MB/s
|
|
BenchmarkNilProtoUnmarshal-8 10000000 139 ns/op 251.16 MB/s
|
|
BenchmarkNidOptEnumProtoUnmarshal-8 10000000 145 ns/op 254.37 MB/s
|
|
BenchmarkNinOptEnumProtoUnmarshal-8 10000000 204 ns/op 200.49 MB/s
|
|
BenchmarkNidRepEnumProtoUnmarshal-8 3000000 453 ns/op 130.01 MB/s
|
|
BenchmarkNinRepEnumProtoUnmarshal-8 3000000 444 ns/op 132.65 MB/s
|
|
BenchmarkNinOptEnumDefaultProtoUnmarshal-8 10000000 199 ns/op 205.24 MB/s
|
|
BenchmarkAnotherNinOptEnumProtoUnmarshal-8 10000000 208 ns/op 196.86 MB/s
|
|
BenchmarkAnotherNinOptEnumDefaultProtoUnmarshal-8 10000000 201 ns/op 203.57 MB/s
|
|
BenchmarkTimerProtoUnmarshal-8 10000000 235 ns/op 444.92 MB/s
|
|
BenchmarkMyExtendableProtoUnmarshal-8 2000000 649 ns/op 124.62 MB/s
|
|
BenchmarkOtherExtenableProtoUnmarshal-8 1000000 1348 ns/op 117.15 MB/s
|
|
BenchmarkNestedDefinitionProtoUnmarshal-8 2000000 932 ns/op 248.80 MB/s
|
|
BenchmarkNestedDefinition_NestedMessageProtoUnmarshal-8 3000000 431 ns/op 275.75 MB/s
|
|
BenchmarkNestedDefinition_NestedMessage_NestedNestedMsgProtoUnmarshal-8 10000000 219 ns/op 373.17 MB/s
|
|
BenchmarkNestedScopeProtoUnmarshal-8 2000000 907 ns/op 245.63 MB/s
|
|
BenchmarkNinOptNativeDefaultProtoUnmarshal-8 2000000 663 ns/op 315.15 MB/s
|
|
BenchmarkCustomContainerProtoUnmarshal-8 5000000 350 ns/op 310.78 MB/s
|
|
BenchmarkCustomNameNidOptNativeProtoUnmarshal-8 3000000 483 ns/op 475.48 MB/s
|
|
BenchmarkCustomNameNinOptNativeProtoUnmarshal-8 2000000 689 ns/op 303.07 MB/s
|
|
BenchmarkCustomNameNinRepNativeProtoUnmarshal-8 500000 2845 ns/op 287.79 MB/s
|
|
BenchmarkCustomNameNinStructProtoUnmarshal-8 500000 2730 ns/op 351.21 MB/s
|
|
BenchmarkCustomNameCustomTypeProtoUnmarshal-8 2000000 934 ns/op 229.08 MB/s
|
|
BenchmarkCustomNameNinEmbeddedStructUnionProtoUnmarshal-8 3000000 475 ns/op 313.63 MB/s
|
|
BenchmarkCustomNameEnumProtoUnmarshal-8 5000000 271 ns/op 166.03 MB/s
|
|
BenchmarkNoExtensionsMapProtoUnmarshal-8 5000000 344 ns/op 234.94 MB/s
|
|
BenchmarkUnrecognizedProtoUnmarshal-8 20000000 86.3 ns/op 521.53 MB/s
|
|
BenchmarkUnrecognizedWithInnerProtoUnmarshal-8 3000000 411 ns/op 228.40 MB/s
|
|
BenchmarkUnrecognizedWithInner_InnerProtoUnmarshal-8 30000000 43.9 ns/op 113.80 MB/s
|
|
BenchmarkUnrecognizedWithEmbedProtoUnmarshal-8 5000000 261 ns/op 340.84 MB/s
|
|
BenchmarkUnrecognizedWithEmbed_EmbeddedProtoUnmarshal-8 30000000 43.9 ns/op 113.92 MB/s
|
|
BenchmarkNodeProtoUnmarshal-8 5000000 312 ns/op 323.19 MB/s
|
|
BenchmarkNonByteCustomTypeProtoUnmarshal-8 5000000 306 ns/op 257.52 MB/s
|
|
BenchmarkNidOptNonByteCustomTypeProtoUnmarshal-8 5000000 292 ns/op 283.61 MB/s
|
|
BenchmarkNinOptNonByteCustomTypeProtoUnmarshal-8 5000000 307 ns/op 257.00 MB/s
|
|
BenchmarkNidRepNonByteCustomTypeProtoUnmarshal-8 1000000 1057 ns/op 217.49 MB/s
|
|
BenchmarkNinRepNonByteCustomTypeProtoUnmarshal-8 1000000 1043 ns/op 220.36 MB/s
|
|
BenchmarkProtoTypeProtoUnmarshal-8 10000000 221 ns/op 369.64 MB/s
|
|
PASS
|
|
ok github.com/gogo/protobuf/test/combos/both 152.331s
|