temporalio / temporalio/temporal

Update latency increases with number of updates sent to workflow

Open
#6,512 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

potential-bug
Dominant language
Go
Stars
23.2k
Forks
1.9k
Avg merge
2d 8h
Merged PRs (30d)
228

Description

Latency experiments (see https://github.com/dandavison/temporal-latency-experiments) show that update latency increases with the number of updates sent to the workflow. Example results:

image image

The above measurements were collected in a us-west-2 EC2 instance. The "localhost" version was using temporal server start-dev (v1.25) and the "cloud" variant was using cloud namespace sdk-ci.a2dd6.tmprl.cloud (also in us-west-2). The latency measured is from sending an update to receiving the result. Go SDK. The update handler mutates local workflow state but does not block on anything. The experiments send n=2000 updates since this is the maximum allowed per workflow.

In contrast, neither signal latency nor query latency show the same trend:

image image

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the latency experiments at https://github.com/dandavison/temporal-latency-experiments and reproducing the update, signal, and query comparisons described here. Trace the server paths for workflow updates and determine why update latency grows with the number of updates; done means the cause is identified and the behavior is covered by an appropriate regression test or benchmark.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
distributed-systems, performance
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.