traefik 與 rancher 集羣自帶haproxy 壓測性能對比

ab性能指標

在進行性能測試過程中有幾個指標比較重要:


1、吞吐率(Requests per second)

服務器併發處理能力的量化描述,單位是reqs/s,指的是在某個併發用戶數下單位時間內處理的請求數。某個併發用戶數下單位時間內能處理的最大請求數,稱之爲最大吞吐率。

記住:吞吐率是基於併發用戶數的。這句話代表了兩個含義:

a、吞吐率和併發用戶數相關

b、不同的併發用戶數下,吞吐率一般是不同的

計算公式:總請求數/處理完成這些請求數所花費的時間,即

Request per second=Complete requests/Time taken for tests

必須要說明的是,這個數值表示當前機器的整體性能,值越大越好。


2、併發連接數(The number of concurrent connections)

併發連接數指的是某個時刻服務器所接受的請求數目,簡單的講,就是一個會話。


3、併發用戶數(Concurrency Level)

要注意區分這個概念和併發連接數之間的區別,一個用戶可能同時會產生多個會話,也即連接數。在HTTP/1.1下,IE7支持兩個併發連接,IE8支持6個併發連接,FireFox3支持4個併發連接,所以相應的,我們的併發用戶數就得除以這個基數。


4、用戶平均請求等待時間(Time per request)

計算公式:處理完成所有請求數所花費的時間/(總請求數/併發用戶數),即:

Time per request=Time taken for tests/(Complete requests/Concurrency Level)


5、服務器平均請求等待時間(Time per request:across all concurrent requests)

計算公式:處理完成所有請求數所花費的時間/總請求數,即:

Time taken for/testsComplete requests

可以看到,它是吞吐率的倒數。

同時,它也等於用戶平均請求等待時間/併發用戶數,即

Time per request/Concurrency Level


### 測試結果含義參考:

```

Document Path: /a.php //請求的資源

Document Length: 0 bytes // 文檔返回的長度,不包括相應頭


Concurrency Level: 1000 // 併發個數

Time taken for tests: 48.650 seconds //總請求時間 

Complete requests: 50000 // 總請求數

Failed requests: 0 //失敗的請求數

Broken pipe errors: 0

Total transferred: 9750000 bytes

HTML transferred: 0 bytes

Requests per second: 1027.75 [#/sec] (mean) // 平均每秒的請求數

Time per request: 973.00 [ms] (mean) // 平均每個請求消耗的時間

Time per request: 0.97 [ms] (mean, across all concurrent requests) // 就是上面的時間 除以併發數

Transfer rate: 200.41 [Kbytes/sec] received // 時間傳輸速率

```



[root@container_node ~]# ab -n 50000 -c 10 http://nginx.test.local:8080/   


-c 100 即:每次併發100個

-n 10000 即: 共發送10000個請求



++++++++++++++++++++++++++++++ 10 併發 +++++++++後端: 9個container+++++++++++++++++++++++

### traefik 轉發

[root@container_node ~]# ab -n 50000 -c 100 http://nginx.test.local:8080/

 6個container

```

Concurrency Level:      100

Time taken for tests:   5.351 seconds

Complete requests:      50000

Failed requests:        0

Write errors:           0

Total transferred:      11600000 bytes

HTML transferred:       1000000 bytes

Requests per second:    9344.50 [#/sec] (mean)

Time per request:       10.701 [ms] (mean)

Time per request:       0.107 [ms] (mean, across all concurrent requests)

Transfer rate:          2117.11 [Kbytes/sec] received

```

### 使用rancher 集羣 haproxy 

 ab -n 50000 -c 100  http://nginx.test.local:8080/

```

Concurrency Level:      100

Time taken for tests:   10.822 seconds

Complete requests:      50000

Failed requests:        0

Write errors:           0

Total transferred:      12550000 bytes

HTML transferred:       1000000 bytes

Requests per second:    4620.27 [#/sec] (mean)

Time per request:       21.644 [ms] (mean)

Time per request:       0.216 [ms] (mean, across all concurrent requests)

Transfer rate:          1132.51 [Kbytes/sec] received

```


++++++++++++++++++++++++++++++ 100 併發 +++++++++後端: 9個container+++++++++++++++++++++++

### traefik 轉發

[root@container_node ~]# ab -n 5000000 -c 100 -t 5 http://nginx.test.local:8080/

 9個container

```

Concurrency Level:      100

Time taken for tests:   4.728 seconds

Complete requests:      50000

Failed requests:        0

Write errors:           0

Total transferred:      11600000 bytes

HTML transferred:       1000000 bytes

Requests per second:    10575.30 [#/sec] (mean)

Time per request:       9.456 [ms] (mean)

Time per request:       0.095 [ms] (mean, across all concurrent requests)

Transfer rate:          2395.97 [Kbytes/sec] received

```

### 使用rancher 集羣 haproxy 轉發

[root@container_node ~]# ab -n 5000000 -c 100  http://nginx.test.local:8080/

```

Concurrency Level:      100

Time taken for tests:   953.029 seconds

Complete requests:      5000000

Failed requests:        0

Write errors:           0

Total transferred:      1255000000 bytes

HTML transferred:       100000000 bytes

Requests per second:    5246.43 [#/sec] (mean)

Time per request:       19.061 [ms] (mean)

Time per request:       0.191 [ms] (mean, across all concurrent requests)

Transfer rate:          1285.99 [Kbytes/sec] received

```



++++++++++++++++++++++++++++++ 50 併發 +++++++++後端: 9個container+++++++++++++++++++++++

### traefik 轉發

[root@container_node ~]# ab -n 5000000 -c 50  http://nginx.test.local:8080/ 

```

Concurrency Level:      50

Time taken for tests:   545.354 seconds

Complete requests:      5000000

Failed requests:        0

Write errors:           0

Total transferred:      1160000000 bytes

HTML transferred:       100000000 bytes

Requests per second:    9168.36 [#/sec] (mean)

Time per request:       5.454 [ms] (mean)

Time per request:       0.109 [ms] (mean, across all concurrent requests)

Transfer rate:          2077.21 [Kbytes/sec] received

```


### 使用rancher 集羣 haproxy 轉發


[root@container_node ~]# ab -n 5000000 -c 50  http://nginx.test.local:8080/

```

Concurrency Level:      50

Time taken for tests:   1082.314 seconds

Complete requests:      5000000

Failed requests:        0

Write errors:           0

Total transferred:      1255000000 bytes

HTML transferred:       100000000 bytes

Requests per second:    4619.73 [#/sec] (mean)

Time per request:       10.823 [ms] (mean)

Time per request:       0.216 [ms] (mean, across all concurrent requests)

Transfer rate:          1132.38 [Kbytes/sec] received

```



++++++++++++++++++++++++++++++ 10 併發 +++++++++後端: 9個container+++++++++++++++++++++++


### traefik 轉發

[root@container_node ~]# ab -n 5000000 -c 10  http://nginx.test.local:8080/ 

 

 9個container

```

Concurrency Level:      10

Time taken for tests:   582.869 seconds

Complete requests:      5000000

Failed requests:        0

Write errors:           0

Total transferred:      1160000000 bytes

HTML transferred:       100000000 bytes

Requests per second:    8578.26 [#/sec] (mean)

Time per request:       1.166 [ms] (mean)

Time per request:       0.117 [ms] (mean, across all concurrent requests)

Transfer rate:          1943.51 [Kbytes/sec] received

```


### 使用rancher 集羣 haproxy 轉發

```

[root@container_node ~]# ab -n 5000000 -c 10  http://nginx.test.local:8080/


Concurrency Level:      10

Time taken for tests:   1340.674 seconds

Complete requests:      5000000

Failed requests:        0

Write errors:           0

Total transferred:      1255000000 bytes

HTML transferred:       100000000 bytes

Requests per second:    3729.47 [#/sec] (mean)

Time per request:       2.681 [ms] (mean)

Time per request:       0.268 [ms] (mean, across all concurrent requests)

Transfer rate:          914.16 [Kbytes/sec] received

```

### traefik 與 nginx性能對比

https://docs.traefik.io/benchmarks/


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章