mirror of
https://github.com/octoleo/syncthing.git
synced 2024-11-15 01:34:05 +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.6 KiB
Plaintext
74 lines
7.6 KiB
Plaintext
goos: darwin
|
|
goarch: amd64
|
|
pkg: github.com/gogo/protobuf/test/combos/both
|
|
BenchmarkNidOptNativeProtoMarshal-8 5000000 240 ns/op 955.07 MB/s
|
|
BenchmarkNinOptNativeProtoMarshal-8 5000000 277 ns/op 752.54 MB/s
|
|
BenchmarkNidRepNativeProtoMarshal-8 1000000 1074 ns/op 762.27 MB/s
|
|
BenchmarkNinRepNativeProtoMarshal-8 1000000 1065 ns/op 768.51 MB/s
|
|
BenchmarkNidRepPackedNativeProtoMarshal-8 1000000 1033 ns/op 361.05 MB/s
|
|
BenchmarkNinRepPackedNativeProtoMarshal-8 1000000 1018 ns/op 366.08 MB/s
|
|
BenchmarkNidOptStructProtoMarshal-8 1000000 1024 ns/op 825.83 MB/s
|
|
BenchmarkNinOptStructProtoMarshal-8 2000000 974 ns/op 785.66 MB/s
|
|
BenchmarkNidRepStructProtoMarshal-8 500000 2593 ns/op 683.64 MB/s
|
|
BenchmarkNinRepStructProtoMarshal-8 500000 2443 ns/op 725.73 MB/s
|
|
BenchmarkNidEmbeddedStructProtoMarshal-8 3000000 582 ns/op 829.86 MB/s
|
|
BenchmarkNinEmbeddedStructProtoMarshal-8 3000000 557 ns/op 821.40 MB/s
|
|
BenchmarkNidNestedStructProtoMarshal-8 200000 7862 ns/op 525.28 MB/s
|
|
BenchmarkNinNestedStructProtoMarshal-8 200000 6228 ns/op 624.58 MB/s
|
|
BenchmarkNidOptCustomProtoMarshal-8 20000000 95.1 ns/op 746.84 MB/s
|
|
BenchmarkCustomDashProtoMarshal-8 20000000 92.5 ns/op 886.08 MB/s
|
|
BenchmarkNinOptCustomProtoMarshal-8 20000000 96.2 ns/op 696.51 MB/s
|
|
BenchmarkNidRepCustomProtoMarshal-8 5000000 258 ns/op 703.59 MB/s
|
|
BenchmarkNinRepCustomProtoMarshal-8 5000000 267 ns/op 679.91 MB/s
|
|
BenchmarkNinOptNativeUnionProtoMarshal-8 20000000 68.8 ns/op 232.44 MB/s
|
|
BenchmarkNinOptStructUnionProtoMarshal-8 10000000 137 ns/op 457.92 MB/s
|
|
BenchmarkNinEmbeddedStructUnionProtoMarshal-8 5000000 259 ns/op 573.18 MB/s
|
|
BenchmarkNinNestedStructUnionProtoMarshal-8 10000000 212 ns/op 366.72 MB/s
|
|
BenchmarkTreeProtoMarshal-8 10000000 154 ns/op 666.39 MB/s
|
|
BenchmarkOrBranchProtoMarshal-8 5000000 353 ns/op 692.18 MB/s
|
|
BenchmarkAndBranchProtoMarshal-8 5000000 348 ns/op 703.45 MB/s
|
|
BenchmarkLeafProtoMarshal-8 20000000 118 ns/op 820.16 MB/s
|
|
BenchmarkDeepTreeProtoMarshal-8 5000000 251 ns/op 576.84 MB/s
|
|
BenchmarkADeepBranchProtoMarshal-8 5000000 308 ns/op 594.07 MB/s
|
|
BenchmarkAndDeepBranchProtoMarshal-8 2000000 604 ns/op 549.21 MB/s
|
|
BenchmarkDeepLeafProtoMarshal-8 10000000 213 ns/op 654.76 MB/s
|
|
BenchmarkNilProtoMarshal-8 30000000 50.1 ns/op 698.93 MB/s
|
|
BenchmarkNidOptEnumProtoMarshal-8 20000000 61.7 ns/op 599.27 MB/s
|
|
BenchmarkNinOptEnumProtoMarshal-8 20000000 77.8 ns/op 527.05 MB/s
|
|
BenchmarkNidRepEnumProtoMarshal-8 10000000 186 ns/op 316.64 MB/s
|
|
BenchmarkNinRepEnumProtoMarshal-8 10000000 183 ns/op 321.59 MB/s
|
|
BenchmarkNinOptEnumDefaultProtoMarshal-8 20000000 77.9 ns/op 526.44 MB/s
|
|
BenchmarkAnotherNinOptEnumProtoMarshal-8 20000000 78.9 ns/op 519.95 MB/s
|
|
BenchmarkAnotherNinOptEnumDefaultProtoMarshal-8 20000000 78.6 ns/op 521.58 MB/s
|
|
BenchmarkTimerProtoMarshal-8 20000000 103 ns/op 1011.39 MB/s
|
|
BenchmarkMyExtendableProtoMarshal-8 3000000 515 ns/op 157.02 MB/s
|
|
BenchmarkOtherExtenableProtoMarshal-8 2000000 1000 ns/op 157.91 MB/s
|
|
BenchmarkNestedDefinitionProtoMarshal-8 5000000 285 ns/op 811.76 MB/s
|
|
BenchmarkNestedDefinition_NestedMessageProtoMarshal-8 10000000 142 ns/op 837.36 MB/s
|
|
BenchmarkNestedDefinition_NestedMessage_NestedNestedMsgProtoMarshal-8 20000000 93.3 ns/op 878.69 MB/s
|
|
BenchmarkNestedScopeProtoMarshal-8 5000000 260 ns/op 854.95 MB/s
|
|
BenchmarkNinOptNativeDefaultProtoMarshal-8 5000000 277 ns/op 752.14 MB/s
|
|
BenchmarkCustomContainerProtoMarshal-8 10000000 141 ns/op 772.49 MB/s
|
|
BenchmarkCustomNameNidOptNativeProtoMarshal-8 5000000 242 ns/op 947.27 MB/s
|
|
BenchmarkCustomNameNinOptNativeProtoMarshal-8 5000000 276 ns/op 754.67 MB/s
|
|
BenchmarkCustomNameNinRepNativeProtoMarshal-8 1000000 1043 ns/op 785.18 MB/s
|
|
BenchmarkCustomNameNinStructProtoMarshal-8 1000000 1294 ns/op 740.75 MB/s
|
|
BenchmarkCustomNameCustomTypeProtoMarshal-8 5000000 298 ns/op 715.82 MB/s
|
|
BenchmarkCustomNameNinEmbeddedStructUnionProtoMarshal-8 5000000 255 ns/op 583.23 MB/s
|
|
BenchmarkCustomNameEnumProtoMarshal-8 20000000 102 ns/op 441.00 MB/s
|
|
BenchmarkNoExtensionsMapProtoMarshal-8 20000000 118 ns/op 684.15 MB/s
|
|
BenchmarkUnrecognizedProtoMarshal-8 20000000 66.4 ns/op 677.96 MB/s
|
|
BenchmarkUnrecognizedWithInnerProtoMarshal-8 10000000 168 ns/op 557.06 MB/s
|
|
BenchmarkUnrecognizedWithInner_InnerProtoMarshal-8 30000000 43.4 ns/op 115.08 MB/s
|
|
BenchmarkUnrecognizedWithEmbedProtoMarshal-8 10000000 126 ns/op 704.09 MB/s
|
|
BenchmarkUnrecognizedWithEmbed_EmbeddedProtoMarshal-8 30000000 43.7 ns/op 114.32 MB/s
|
|
BenchmarkNodeProtoMarshal-8 10000000 121 ns/op 833.02 MB/s
|
|
BenchmarkNonByteCustomTypeProtoMarshal-8 10000000 123 ns/op 641.79 MB/s
|
|
BenchmarkNidOptNonByteCustomTypeProtoMarshal-8 10000000 130 ns/op 633.95 MB/s
|
|
BenchmarkNinOptNonByteCustomTypeProtoMarshal-8 10000000 124 ns/op 636.74 MB/s
|
|
BenchmarkNidRepNonByteCustomTypeProtoMarshal-8 5000000 387 ns/op 592.85 MB/s
|
|
BenchmarkNinRepNonByteCustomTypeProtoMarshal-8 5000000 390 ns/op 589.05 MB/s
|
|
BenchmarkProtoTypeProtoMarshal-8 20000000 94.1 ns/op 871.54 MB/s
|
|
PASS
|
|
ok github.com/gogo/protobuf/test/combos/both 139.443s
|