Skip to content

profiling: profile the UIS against the "complex" workflow #142

@oliver-sanders

Description

@oliver-sanders

It would be good to profile the UI Server against the "complex" workflow running with something like a 1-5 second sleep for a few cycles to give us a good benchmark for expected resource usage.

Suggested experiment:

  • Create an environment with no other Jupyter Server extensions (including Jupyter Lab).
    • So we are profiling Cylc, the whole Cylc and nothing but the Cylc.
  • Clear your cylc-run directory (including stopped workflows).
    • So we are only measuring the impact of the one workflow.
  • Profile the cylc gui command.
    • This will give us a memory watermark for an idle UIS.
    • Profile the default landing page (i.e. the Dashboard).
  • Run the "complex" workflow (located in the Cylc 7 source code under etc/dev-suites).
    • I would pick a 1-5 second sleep (whatever works best for your platform, note the value you choose).
    • Start it --paused.
    • Set the final cycle point to a few cycles in the future (note the value you use).
    • Suggest profiling the workflow too so we can compare the memory fluctuation of the two side-by-side.
  • Profile the cylc gui command.
    • Open a tree view on the "complex" workflow.
    • Unpause the workflow.
    • Let the workflow run to completion, give it a few seconds, then end the experiment.

Suggest using Memory Profiler on both the workflow and UIS and generating memory usage graphs for both. CPU usage is also of interest.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions