相關博文:
- 【故障公告】釋出 .NET Core 版部落格站點引起大量 500 錯誤
- 【網站公告】.NET Core 版部落格站點第二次釋出嘗試
- 暴風雨中的 online : .NET Core 版部落格站點遭遇的高并發問題進展
抱歉,.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 的問題,明天上午的通路高峰驗證出結果。