Powered by .NET Core 進展:驗證高並發性能問題嫌疑犯 docker swarm


相關博文:

抱歉,.NET Core 版博客系統(博客后台除外)的發布給大家帶來麻煩了,我們正在一邊忙着修各種 bug ,一邊排查訪問高峰高並發性能問題。

對於發布后遇到的高並發性能問題,我們一點都沒去懷疑 .net core ,我們懷疑的是 docker swarm ,懷疑在高並發下 docker swarm 網絡性能急劇下降,而且極不穩定。

對比新舊版博客系統所消耗的服務器資源,差距之大讓人乍舌。同樣的並發,之前基於 .net framework 的舊版博客系統用 6台4核8G 的阿里雲 windows 服務器就能撐住,而現在基於 docker swarm +  .net core 的新版博客系統用 6台8核16G 的阿里雲 centos 服務器都撐不住。

為了驗證我們對罪魁禍首 docker swarm 的懷疑,我們今天已經將 .net core 版博客系統改用 docker-compose 部署:

version: '3.7'
services:
  web:
    image: blog-web
    restart: always
    deploy:
      replicas: 1
      resources:
        limits:
          cpus: '4'
          memory: 7G
        reservations:
          memory: 500M
    ports:
      - 80:80
    working_dir: /app
    environment: 
      - TZ=Asia/Shanghai
      - COMPlus_GCHeapHardLimit=1C0000000    
    command: bash -c 'sh run.sh'
docker-compose --compatibility up -d 

現在已經發布上線,如果真的是 docker swarm 的問題,明天上午的訪問高峰將驗證出結果。

目前用了3台4核8G的服務器,明天根據負載情況再增加服務器。

【更新】

8:40 左右,響應速度變慢,加了1台服務器,響應速度立馬恢復。(之前使用 .net framework + windows 也是在這個時間點加服務器)

9:00 左右,又加了1台服務器,現在是5台4核8G的服務器。

9:35 左右,又加了1台服務器,現在是6台4核8G的服務器。

10:00 左右,又加了1台服務器,現在是7台4核8G的服務器。

13:10 左右,退回到 .net framework + windows 博客系統,.net core 博客系統待調整部署與修復 bug 后再上線。

上午使用 docker-compose 部署時,博客系統所依賴的后端服務部署在另外一個 docker swarm 集群上,結果這個集群的路由轉發出現了問題。使用 docker-compose 部署還需要將博客系統所依賴的服務進行 docker-compose 部署。

從上午的訪問高峰的情況看,docker-compose 部署時的資源瓶頸在 CPU ,出現響應速度慢時加服務器就能解決(這是正常情況),沒有出現使用 docker swarm 部署時那種響應速度極不穩定、加服務器也無補的情況。

docker-compose 部署是否能夠在訪問高峰長時間持續穩定運行以及需要多少台服務器?待進一步驗證。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM