# k6壓力測試工具介紹
###### tags: `共用`
## 一、安裝
* Ubuntu
```
sudo gpg --no-default-keyring --keyring /usr/share/keyrings/k6-archive-keyring.gpg --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys C5AD17C747E3415A3642D57D77C6C491D6AC1D69
echo "deb [signed-by=/usr/share/keyrings/k6-archive-keyring.gpg] https://dl.k6.io/deb stable main" | sudo tee /etc/apt/sources.list.d/k6.list
sudo apt-get update
sudo apt-get install k6
```
* MacOS
```
brew install k6
```
* Windows
安裝檔連結 https://dl.k6.io/msi/k6-latest-amd64.msi
* 確認是否安裝成功
```
k6 version
```
## 二、建立腳本並啟動
1. 在專案中建立一個`script.js`檔案
2. 在檔案中加入以下程式
```
// script.js
import http from 'k6/http';
import { sleep } from 'k6';
export default function () {
http.get('https://test.k6.io');
sleep(1);
}
```
3. 執行測試腳本
`k6 run script.js`

結果會直接呈現在terminal中
## 三、 使用k6 Cloud產生可視化數據
1. 官網連結 https://k6.io/cloud/
`k6 run -o cloud script.js`
2. 使用Google、Github等方式創建帳號並登入k6 Cloud

3. 透過CLI登入
`k6 login cloud`
輸入創建k6 Cloud時的帳號/密碼即可登入
4. 開始測試,並將結果上傳k6 Cloud
`k6 run -o cloud script.js`

5. 複製output欄位url,即可進入k6 Cloud觀看即時的測試數據

## 四、 測試參數調整
### Options
透過 Options 可以修改與測試執行過程有關的參數,
例如:每秒最大的請求數(RPS)、測試要執行幾次(Iterations)、執行多久(Duration)等等…
官方文件 https://k6.io/docs/using-k6/k6-options/reference/
### Threshold
Threshold 可以為測試程式加上門檻值,例如:平均回應時間 < 300 ms、請求失敗比率 < 1%等等…