PrimeDAO / prime-launch-dapp

https://launch.prime.xyz
6 stars 13 forks source link

Load testing #733

Open blink-km opened 2 years ago

blink-km commented 2 years ago

Based on the most accessed pages, we want to do load tests on the following pages: LBP Dashboard Launches page Home page Seed Dashboard

At the peak during the Vesta launch, there were around 2.5k concurrent users.

BartuCulha commented 2 years ago

We need to sync with back end developers as well, can we have a call about load testing? @blink-km

giladt commented 2 years ago

Learnings

Sharing here some useful links from my learnings:

Reading

https://loadninja.com/load-testing/

VUs (Virtual users) calculator

https://smartbear.com/learn/performance-testing/load-testing-vu-calculator/

K6.io

Introduction: https://www.youtube.com/watch?v=tFsIgbqXbxM&ab_channel=k6

https://app.k6.io/projects/3571294

Latest test results: https://app.k6.io/runs/public/1d65d0bac48c48feb90816ccf0015d67

blink-km commented 2 years ago

The goal of our load testing effort is to evaluate Vercel as a hosting service.

The pages we want to test: LBP Dashboard Launches page Home page Seed Dashboard

The metrics we want to measure: 1) The time it takes when the user first requests the page until the page is fully loaded (The really first time the page is being loaded without having been cached). 2)Whether all the parts/components of the page successfully load.*

With (1) we want to compare how long does it take the page to load when there are 1/10/100/ 10k concurrent users to see how much the request time degrades or if we have any instability or loading failure at a certain point.

*Sometimes FastComet only delivers a part of the app instead of every part. We want to check that it is not the case with Vercel. ** Since our dapp is a single-page app, we need to make sure that the load testing service acknowledge that and understand the metric “All parts of a page successfully loaded”

We will declare load testing done/accepted when: 1)There is no significant degradation in terms of load time for small loads versus large loads. (What is considered significant will be determined once we review the results since we don’t have a benchmark at this point.) 2)All the parts/components of the pages successfully load.

If we fail to declare load testing accepted, we will look into two potential solutions:

  1. Look for another hosting provider
  2. optimize the dapp to improve load time and performance

@giladt

Cc: @dkent600 @renc-curvelabs Let us know if you have any addition or remark

giladt commented 2 years ago

A summary for the load-test specs: https://www.notion.so/primedao/Load-Test-Calculations-b792d4d5a6ba4b1292c3a7e6bdd0ba0c

giladt commented 2 years ago

*Sometimes FastComet only delivers a part of the app instead of every part. We want to check that it is not the case with Vercel.

@dkent600 can you please specify what parts/type of parts didn't load correctly with FastComent?