Skip to content

Perf Harness Usage and How To

Eric Passmore edited this page Jun 12, 2024 · 2 revisions

Agenda

HTTP Error Code Change

--http-max-bytes-in-flight-mb --http-max-in-flight-requests error code now 503. What do we need to change?

Running Transactions Against Existing Network

What Do We Use

trx_generator ?? Transactions are not getting through. See Example

Create New Transaction

  • read only account/ get balance
  • transfer EOS
  • stake/unstake
  • create account
  • action with large payload

Distribution

  • how many hosts to generate 1K,5K,10K simultaneous requests

Reports

  • how do you read the trx_generator report

3fff15e403e57b3e4b897e4cc32ad05757e93f0fe76f7a86b8dec22f4c1fc844,2024-06-12T21:15:11.751,NA,-1

Updating PerformanceHarness for Spring

How do we made the following changes for Spring Cluster

  • spring-utils generate BLS keys
    • already in ./TestHarness/accounts.py
    • already in ./spring_util_bls_test.py
  • add another signature-provider config on startup
  • after cluster starts up switch to svn action

Documentation

What do all these python scripts do? How many are tightly coupled to performance harness? Ideally we could create a document explaining the lifecycle of performance test run, and when/how each script is used.

./keosd_auto_launch_test.py
./TestHarness/interfaces.py
./TestHarness/logging.py
./TestHarness/accounts.py
./TestHarness/depresolver.py
./TestHarness/testUtils.py
./TestHarness/transactions.py
./TestHarness/TestHelper.py
./TestHarness/libc.py
./TestHarness/__init__.py
./TestHarness/TransactionGeneratorsLauncher.py
./TestHarness/Cluster.py
./TestHarness/queries.py
./TestHarness/launcher.py
./TestHarness/Node.py
./TestHarness/WalletMgr.py
./plugin_http_api_test.py
./trx_finality_status_test.py
./resource_monitor_plugin_test.py
./ship_test.py
./light_validation_sync_test.py
./nodeos_retry_transaction_test.py
./nodeos_short_fork_take_over_test.py
./nodeos_multiple_version_protocol_feature_test.py
./liveness_test.py
./restart-scenarios-test.py
./terminate-scenarios-test.py
./p2p_multiple_listen_test.py
./nodeos_extra_packed_data_test.py
./lossy_network.py
./spring_util_bls_test.py
./lib_advance_test.py
./nodeos_chainbase_allocation_test.py
./get_account_test.py
./p2p_high_latency_test.py
./block_log_util_test.py
./trace_plugin_test.py
./subjective_billing_test.py
./auto_bp_peering_test.py
./nodeos_irreversible_mode_test.py
./PerformanceHarnessScenarioRunner.py
./PerformanceHarness/performance_test_basic.py
./PerformanceHarness/__init__.py
./PerformanceHarness/NodeosPluginArgs/BasePluginArgs.py
./PerformanceHarness/NodeosPluginArgs/__init__.py
./PerformanceHarness/NodeosPluginArgs/generate_nodeos_plugin_args_class_files.py
./PerformanceHarness/performance_test.py
./PerformanceHarness/log_reader.py
./nodeos_startup_catchup.py
./nodeos_high_transaction_test.py
./nodeos_protocol_feature_test.py
./p2p_sync_throttle_test.py
./nodeos_run_test.py
./disaster_recovery.py
./nodeos_snapshot_forked_test.py
./nodeos_producer_watermark_test.py
./compute_transaction_test.py
./separate_prod_fin_test.py
./nodeos_voting_test.py
./http_plugin_test.py
./validate-dirty-db.py
./block_log_retain_blocks_test.py
./nodeos_snapshot_diff_test.py
./trx_finality_status_forked_test.py
./nodeos_under_min_avail_ram.py
./transition_to_if.py
./prod_preactivation_test.py
./snapshot_in_svnn_transition_test.py
./nodeos_forked_chain_test.py
./ship_reqs_across_svnn_test.py
./nodeos_read_terminate_at_block_test.py
./split_blocklog_replay_test.py
./read_only_trx_test.py
./cluster_launcher.py
./disaster_recovery_2.py
./nested_container_multi_index_test.py
./impaired_network.py
./distributed-transactions-test.py
./nodeos_lib_test.py
./cli_test.py
./p2p_test_peers.py
./nodeos_contrl_c_test.py
./ship_streamer_test.py
./gelf_test.py
./p2p_no_listen_test.py
./disaster_recovery_3.py