Example #1
0
    assert mem_usage < 4500
    assert slow_process_blocks == 0
    assert bps > 0.5
    if include_tps:
        assert tps > 100


print('INFO: Starting Load test.')

print('INFO: Performing baseline block time measurement')
# We do not include tps here because there are no transactions on mocknet normally.
check_stats(include_tps=False)
print('INFO: Baseline block time measurement complete')

print('INFO: Setting remote python environments.')
mocknet.setup_python_environments(nodes, wasm_contract())
print('INFO: Starting transaction spamming scripts.')
mocknet.start_load_test_helpers(nodes)

initial_metrics = mocknet.get_metrics(nodes[-1])
print('INFO: Waiting for transfer only period to complete.')
time.sleep(TRANSFER_ONLY_TIMEOUT)
transfer_final_metrics = mocknet.get_metrics(nodes[-1])
print('INFO: Waiting for contracts to be deployed.')
time.sleep(CONTRACT_DEPLOY_TIME)
print('INFO: Waiting for random transactions period to complete.')
all_tx_initial_metrics = mocknet.get_metrics(nodes[-1])
time.sleep(ALL_TX_TIMEOUT)
final_metrics = mocknet.get_metrics(nodes[-1])

check_stats(initial_metrics=initial_metrics,
Example #2
0
    assert len(all_nodes) > num_nodes, 'Need at least one RPC node'
    validator_nodes = all_nodes[:num_nodes]
    logger.info(f'validator_nodes: {validator_nodes}')
    rpc_nodes = all_nodes[num_nodes:]
    logger.info(
        f'Starting Load of {chain_id} test using {len(validator_nodes)} validator nodes and {len(rpc_nodes)} RPC nodes.'
    )

    upgrade_schedule = mocknet.create_upgrade_schedule(
        rpc_nodes, validator_nodes, args.progressive_upgrade,
        args.increasing_stakes, args.num_seats)
    logger.info(f'upgrade_schedule: %s' % str(upgrade_schedule))

    if not args.skip_setup:
        logger.info('Setting remote python environments')
        mocknet.setup_python_environments(all_nodes,
                                          'add_and_delete_state.wasm')
        logger.info('Setting remote python environments -- done')

    if not args.skip_restart:
        logger.info(f'Restarting')
        # Make sure nodes are running by restarting them.
        mocknet.stop_nodes(all_nodes)
        time.sleep(10)
        node_pks = pmap(lambda node: mocknet.get_node_keys(node)[0],
                        validator_nodes)
        all_node_pks = pmap(lambda node: mocknet.get_node_keys(node)[0],
                            all_nodes)
        node_ips = [node.machine.ip for node in all_nodes]
        mocknet.create_and_upload_genesis(
            validator_nodes,
            chain_id,