Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

PH: Add a longer running read-only trx for tests #1685

Merged
merged 5 commits into from
Sep 27, 2023
Merged

PH: Add a longer running read-only trx for tests #1685

merged 5 commits into from
Sep 27, 2023

Conversation

heifner
Copy link
Member

@heifner heifner commented Sep 27, 2023

  • Create a logging-template.json for tests instead of using the example one in programs/nodeos since the configured gelf logging was wasting a thread and cpu when no gelf logging is being used in tests.
  • Add a new doitslow action to payloadless contract for use in tests and performance harness runs.

Example of using the new longer running read-only trx in a performance run:
https://github.com/AntelopeIO/leap/actions/runs/6318554443

./tests/PerformanceHarnessScenarioRunner.py findMax testApiOpMode --max-tps-to-test 1000 overrideBasicTestConfig -v --http-threads 4 --api-nodes-read-only-threads 8 --read-only-write-window-time-us 1000 --read-only-read-window-time-us 450000 --account-name payloadless --abi-file payloadless.abi --wasm-file payloadless.wasm --contract-dir unittests/test-contracts/payloadless --user-trx-data-file tests/PerformanceHarness/readOnlySlowTrxData.json
      "TPS": {
        "min": 995,
        "max": 1004,
        "avg": 1000.0,
        "sigma": 0.8301741920760902,
        "emptyBlocks": 0,
        "numBlocks": 297,
        "configTps": 1000,
        "configTestDuration": 150,
        "tpsPerGenerator": [
          1000
        ],
        "generatorCount": 1
      },
      "TrxCPU": {
        "min": 5655.0,
        "max": 10308.0,
        "avg": 6548.978346666667,
        "sigma": 1362.3947007864986,
        "samples": 150000
      },

Which means 1000*6549=6,549,000us worth of trx execution within a 1,000,000us window.

@heifner heifner added the OCI Work exclusive to OCI team label Sep 27, 2023
Copy link
Member

@linh2931 linh2931 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like the example in the PR description, which shows the read-only threads are occupied most of the time.

@oschwaldp-oci oschwaldp-oci self-requested a review September 27, 2023 15:54
Verify that doitslow action runs for at least 100us
if (p % i == 0) {
prime = false;
break;
}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is more clear.

@heifner heifner merged commit cecfcf4 into main Sep 27, 2023
22 checks passed
@heifner heifner deleted the GH-1662-ph branch September 27, 2023 17:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
OCI Work exclusive to OCI team
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Investigate and fix throughput issues related to read only transactions and HTTP
3 participants