相關博文:html
抱歉,.NET Core 版博客系統(博客後臺除外)的發佈給你們帶來麻煩了,咱們正在一邊忙着修各類 bug ,一邊排查訪問高峯高併發性能問題。web
對於發佈後遇到的高併發性能問題,咱們一點都沒去懷疑 .net core ,咱們懷疑的是 docker swarm ,懷疑在高併發下 docker swarm 網絡性能急劇降低,並且極不穩定。docker
對比新舊版博客系統所消耗的服務器資源,差距之大讓人乍舌。一樣的併發,以前基於 .net framework 的舊版博客系統用 6臺4核8G 的阿里雲 windows 服務器就能撐住,而如今基於 docker swarm + .net core 的新版博客系統用 6臺8核16G 的阿里雲 centos 服務器都撐不住。windows
爲了驗證咱們對罪魁禍首 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 的問題,明天上午的訪問高峯將驗證出結果。centos
目前用了3臺4核8G的服務器,明天根據負載狀況再增長服務器。bash
【更新】服務器
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 部署是否可以在訪問高峯長時間持續穩定運行以及須要多少臺服務器?待進一步驗證。