相关博文:
- 【故障公告】发布 .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 的问题,明天上午的访问高峰将验证出结果。
目前用了3台4核8G的服务器,明天根据负载情况再增加服务器。