Skip to content

runtime: findrunnableGCWorker consumed much higher CPU under 64c AWS instance (ARM64), comparing to 32c #68399

@innerr

Description

@innerr

Go version

go1.19.13 linux/arm64

Output of go env in your module/workspace:

GOARCH="arm64"

What did you do?

  • We put one binary (developed/compiled by golang) in an AWS EKS instance, it runs as a gRpc server.
  • Lately we changed this instance type, increasing CPU cores from 32c to 64c.

What did you see happen?

  • We found that this process had much higher P999 latency comparing to previous.
  • From flame graph, We found out findrunnableGCWorker consumed much higher CPU comparing to previous.

Here are the graphs:

  • ARM64 32c:
    20240712-220344
  • ARM64 64c:
    20240712-220359

What did you expect to see?

The latency of this server process shouldn't change much when we changed from 32c instance to 64c instance.

Metadata

Metadata

Assignees

No one assigned

    Labels

    NeedsInvestigationSomeone must examine and confirm this is a valid issue and not a duplicate of an existing one.PerformanceScalabilityIssues related to runtime/application scalabilitycompiler/runtimeIssues related to the Go compiler and/or runtime.

    Type

    No type

    Projects

    Status

    In Progress

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions