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

[TASK] Add 1.5 performance benchmark to performance benchmark WIKI page #6203

Closed
1 task
innobead opened this issue Jun 27, 2023 · 6 comments
Closed
1 task
Assignees
Labels
area/performance System, volume performance kind/task General task request to fulfill another primary request priority/0 Must be fixed in this release (managed by PO) require/doc Require updating the longhorn.io documentation
Milestone

Comments

@innobead
Copy link
Member

What's the task? Please describe

https://github.com/longhorn/longhorn/wiki/Performance-Benchmark

Need to verify v1 and v2, and do the comparison.

Describe the items of the task (DoD, definition of done) you'd like

Please use a task list for items on a separate line with a clickable checkbox https://docs.github.com/en/issues/tracking-your-work-with-issues/about-task-lists

  • item 1

Additional context

cc @longhorn/dev-data-plane

@innobead innobead added require/doc Require updating the longhorn.io documentation kind/task General task request to fulfill another primary request area/performance System, volume performance labels Jun 27, 2023
@innobead innobead added this to the v1.6.0 milestone Jun 27, 2023
@innobead innobead added the priority/0 Must be fixed in this release (managed by PO) label Jun 27, 2023
@innobead
Copy link
Member Author

cc @longhorn/qa

@derekbit
Copy link
Member

We only measure the performance on high-level machines such as Equinix m3.small.x86.
As well as the high-level machines, we can benchmark on low- or medium-level machines like AWS c5.xlarge (4 vCPU, 8GiB RAM).

@shuo-wu
Copy link
Contributor

shuo-wu commented Jun 29, 2023

Note: For the low-spec especially no dedicated disk machines, the performance gain is limited. Based on our testing result, the bandwidth of v2 volumes may be worse than v1 volumes:

One test result of a basic 8v CPU + 16G memory DigitalOcean machines:

================================
FIO Benchmark Comparsion Summary
For: Local-Path vs Longhorn
CPU Idleness Profiling: disabled
Size: 30G
Quick Mode: disabled
================================
                                   v1      vs                   v2        :              Change
IOPS (Read/Write)
        Random:            7,853 / 1,104   vs           10,920 / 3,339    :    39.06% / 202.45%
    Sequential:            9,371 / 2,293   vs           10,573 / 3,237    :     12.83% / 41.17%

Bandwidth in KiB/sec (Read/Write)
        Random:          53,113 / 13,652   vs          44,826 / 12,922    :    -15.60% / -5.35%
    Sequential:          43,148 / 13,903   vs          45,030 / 12,341    :     4.36% / -11.23%

Latency in ns (Read/Write)
        Random:    1,605,972 / 5,273,458   vs    1,079,956 / 1,308,515    :   -32.75% / -75.19%
    Sequential:    1,599,396 / 3,546,285   vs      738,651 / 1,227,585    :   -53.82% / -65.38%

@derekbit
Copy link
Member

Note: For the low-spec especially no dedicated disk machines, the performance gain is limited. Based on our testing result, the bandwidth of v2 volumes may be worse than v1 volumes:

Similar results are observed on AWS platform. I've added a disk requirement in https://longhorn.io/docs/1.5.0/spdk/prerequisites/#disk.

@innobead
Copy link
Member Author

@derekbit Let's update https://github.com/longhorn/longhorn/wiki/Performance-Benchmark first to include 1.5 performance v1 & v2.

@derekbit
Copy link
Member

Updated. Thank you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/performance System, volume performance kind/task General task request to fulfill another primary request priority/0 Must be fixed in this release (managed by PO) require/doc Require updating the longhorn.io documentation
Projects
None yet
Development

No branches or pull requests

3 participants