Skip to content

Commit cb54fe9

Browse files
committed
add new scenario
use future consensus new network 5mb blocks 3 relays add window size limit of 100 2MB bandwidth + back to 1k tps move txnsynctest to custom Add Custom Scenario for Performance Testing (algorand#3278) Add Custom Scenario for Performance Testing. Add README on how to run custom scenario and modify create_and_deploy_recipe.sh to accept a network template that will generate a new recipe.
1 parent 20eec48 commit cb54fe9

File tree

9 files changed

+722
-34
lines changed

9 files changed

+722
-34
lines changed

config/consensus.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1044,6 +1044,7 @@ func initConsensusProtocols() {
10441044

10451045
// FilterTimeout for period 0 should take a new optimized, configured value, need to revisit this later
10461046
vFuture.AgreementFilterTimeoutPeriod0 = 4 * time.Second
1047+
vFuture.MaxTxnBytesPerBlock = 1000000
10471048

10481049
// Enable compact certificates.
10491050
vFuture.CompactCertRounds = 128

network/wsPeer.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ import (
3838
"github.com/algorand/go-algorand/util/metrics"
3939
)
4040

41-
const maxMessageLength = 4 * 1024 * 1024 // Currently the biggest message is VB vote bundles. TODO: per message type size limit?
41+
const maxMessageLength = 20 * 1024 * 1024 // Currently the biggest message is VB vote bundles. TODO: per message type size limit?
4242
const averageMessageLength = 2 * 1024 // Most of the messages are smaller than this size, which makes it into a good base allocation.
4343

4444
// This parameter controls how many messages from a single peer can be

test/heapwatch/metrics_delta.py

Lines changed: 21 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -54,20 +54,24 @@ def test_metric_line_re():
5454

5555
def parse_metrics(fin):
5656
out = dict()
57-
for line in fin:
58-
if not line:
59-
continue
60-
line = line.strip()
61-
if not line:
62-
continue
63-
if line[0] == '#':
64-
continue
65-
m = metric_line_re.match(line)
66-
if m:
67-
out[m.group(1)] = num(m.group(2))
68-
else:
69-
ab = line.split()
70-
out[ab[0]] = num(ab[1])
57+
try:
58+
for line in fin:
59+
if not line:
60+
continue
61+
line = line.strip()
62+
if not line:
63+
continue
64+
if line[0] == '#':
65+
continue
66+
m = metric_line_re.match(line)
67+
if m:
68+
out[m.group(1)] = num(m.group(2))
69+
else:
70+
ab = line.split()
71+
out[ab[0]] = num(ab[1])
72+
except:
73+
print(f'An exception occurred in parse_metrics: {sys.exc_info()}')
74+
pass
7175
return out
7276

7377
# return b-a
@@ -396,12 +400,12 @@ def process_files(self, args, nick=None, metrics_files=None):
396400
prevbi = None
397401

398402
for path in sorted(metrics_files):
399-
with open(path, 'rt') as fin:
403+
with open(path, 'rt', encoding="utf-8") as fin:
400404
cur = parse_metrics(fin)
401405
bijsonpath = path.replace('.metrics', '.blockinfo.json')
402406
bi = None
403407
if os.path.exists(bijsonpath):
404-
with open(bijsonpath, 'rt') as fin:
408+
with open(bijsonpath, 'rt', encoding="utf-8") as fin:
405409
bi = json.load(fin)
406410
curtime = os.path.getmtime(path)
407411
self.txPool.append(cur.get('algod_tx_pool_count{}'))
@@ -484,4 +488,4 @@ def process_files(self, args, nick=None, metrics_files=None):
484488
return self
485489

486490
if __name__ == '__main__':
487-
sys.exit(main())
491+
sys.exit(main())
Lines changed: 164 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,164 @@
1+
{
2+
"NetworkName": "",
3+
"VersionModifier": "",
4+
"ConsensusProtocol": "future",
5+
"FirstPartKeyRound": 0,
6+
"LastPartKeyRound": 3000000,
7+
"PartKeyDilution": 0,
8+
"Wallets": [
9+
{
10+
"Name": "Wallet1",
11+
"Stake": 2.5,
12+
"Online": true
13+
},
14+
{
15+
"Name": "Wallet2",
16+
"Stake": 2.5,
17+
"Online": true
18+
},
19+
{
20+
"Name": "Wallet3",
21+
"Stake": 2.5,
22+
"Online": true
23+
},
24+
{
25+
"Name": "Wallet4",
26+
"Stake": 2.5,
27+
"Online": true
28+
},
29+
{
30+
"Name": "Wallet5",
31+
"Stake": 2.5,
32+
"Online": true
33+
},
34+
{
35+
"Name": "Wallet6",
36+
"Stake": 2.5,
37+
"Online": true
38+
},
39+
{
40+
"Name": "Wallet7",
41+
"Stake": 2.5,
42+
"Online": true
43+
},
44+
{
45+
"Name": "Wallet8",
46+
"Stake": 2.5,
47+
"Online": true
48+
},
49+
{
50+
"Name": "Wallet9",
51+
"Stake": 2.5,
52+
"Online": true
53+
},
54+
{
55+
"Name": "Wallet10",
56+
"Stake": 2.5,
57+
"Online": true
58+
},
59+
{
60+
"Name": "Wallet11",
61+
"Stake": 2.5,
62+
"Online": true
63+
},
64+
{
65+
"Name": "Wallet12",
66+
"Stake": 2.5,
67+
"Online": true
68+
},
69+
{
70+
"Name": "Wallet13",
71+
"Stake": 2.5,
72+
"Online": true
73+
},
74+
{
75+
"Name": "Wallet14",
76+
"Stake": 2.5,
77+
"Online": true
78+
},
79+
{
80+
"Name": "Wallet15",
81+
"Stake": 2.5,
82+
"Online": true
83+
},
84+
{
85+
"Name": "Wallet16",
86+
"Stake": 2.5,
87+
"Online": true
88+
},
89+
{
90+
"Name": "Wallet17",
91+
"Stake": 2.5,
92+
"Online": true
93+
},
94+
{
95+
"Name": "Wallet18",
96+
"Stake": 2.5,
97+
"Online": true
98+
},
99+
{
100+
"Name": "Wallet19",
101+
"Stake": 2.5,
102+
"Online": true
103+
},
104+
{
105+
"Name": "Wallet20",
106+
"Stake": 2.5,
107+
"Online": true
108+
},
109+
{
110+
"Name": "Wallet21",
111+
"Stake": 5,
112+
"Online": false
113+
},
114+
{
115+
"Name": "Wallet22",
116+
"Stake": 5,
117+
"Online": false
118+
},
119+
{
120+
"Name": "Wallet23",
121+
"Stake": 5,
122+
"Online": false
123+
},
124+
{
125+
"Name": "Wallet24",
126+
"Stake": 5,
127+
"Online": false
128+
},
129+
{
130+
"Name": "Wallet25",
131+
"Stake": 5,
132+
"Online": false
133+
},
134+
{
135+
"Name": "Wallet26",
136+
"Stake": 5,
137+
"Online": false
138+
},
139+
{
140+
"Name": "Wallet27",
141+
"Stake": 5,
142+
"Online": false
143+
},
144+
{
145+
"Name": "Wallet28",
146+
"Stake": 5,
147+
"Online": false
148+
},
149+
{
150+
"Name": "Wallet29",
151+
"Stake": 5,
152+
"Online": false
153+
},
154+
{
155+
"Name": "Wallet30",
156+
"Stake": 5,
157+
"Online": false
158+
}
159+
],
160+
"FeeSink": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAY5HFKQ",
161+
"RewardsPool": "AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAY5HFKQ",
162+
"DevMode": false,
163+
"Comment": ""
164+
}

0 commit comments

Comments
 (0)