Powered by .NET Core 进展:验证高并发性能问题嫌疑犯 docker swarm

  • 时间:
  • 浏览:0

相关博文:

  • 【故障公告】发布 .NET Core 版博客站点引起几瓶 2000 错误
  • 【网站公告】.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: 2000M
    ports:
      - 200:200
    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 部署否是能助 在访问高峰长时间持续稳定运行以及须要几块台服务器?待进一步验证。