前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >.NetCore-3.0 Preview7先行者的实践-博客园站点发布更新

.NetCore-3.0 Preview7先行者的实践-博客园站点发布更新

作者头像
梁规晓
发布于 2019-08-13 03:40:42
发布于 2019-08-13 03:40:42
46500
代码可运行
举报
文章被收录于专栏:DotNet程序园DotNet程序园
运行总次数:0
代码可运行

.NET Core 版博客站点第二次发布尝试

在上次发布失败后,很多朋友建议我们改用 k8s ,但我们还是想再试试 docker swarm ,实在不行再改用 k8s 。

在改进了 docker swarm 集群的部署后,我们准备今天 17:30 左右进行一次发布尝试。

docker swarm 集群是我们使用阿里云服务器自己搭建的,这次进行了3方面的改进。

1. 升级了 worker 节点服务器的配置

worker 节点由6台4核8G服务器换成了3台8核16G服务器,基于3点考虑:

1)提高单台服务器的处理能力;

2)提高服务器的网络处理能力,阿里云的服务器配置越高,网络处理能力越强;

3)减少服务器数量可以减少 docker swarm 节点之间的通信开销。

2. 升级了 docker engine,由 18.09.4 升级至 19.03.1

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
wget -c https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.2.6-3.3.el7.x86_64.rpm  && \
wget -c https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-19.03.1-3.el7.x86_64.rpm && \
wget -c https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-cli-19.03.1-3.el7.x86_64.rpm && \
yum install -y containerd.io-1.2.6-3.3.el7.x86_64.rpm && \
yum install -y docker-ce-19.03.1-3.el7.x86_64.rpm && \
yum install -y docker-ce-cli-19.03.1-3.el7.x86_64.rpm

3. nginx 改用 host 网络模式部署

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ports:
    - target: 80
      published: 80
      protocol: tcp
      mode: host
代码语言:javascript
代码运行次数:0
运行
复制

另外,改进了博客系统缓存部分的代码,解决了新旧版切换时的缓存冲突问题。

这次发布如果遇到问题,我们可以快速回退到旧版。

如果在发布过程中出现问题影响您的正常访问,请您谅解。

------------------------------------------

发布过程记录

17:40 使用 nginx 转发,切换了1/5不到的流量就出现了1秒延迟的问题。

18:20 改为 kestrel 以端口映射的方式直接监听 80 端口,切换了1/3左右的流量,未出现延迟1秒的问题。

18:33 所有流量都已切换,未出现延迟1秒的问题。

以下是发布过程中服务器同时连接数监控,使用 nginx 转发时,当同时连接数超过 40K ,所有请求都出现1秒延迟的问题。当改为 kestrel 直接监听80端口后,即使同时连接数超过 100K ,也没出现1秒延迟的问题。没想到1秒延迟竟然是 nginx 的问题(或者是 nginx 对 docker swarm 的支持问题),不是 docker swarm 网络本身的问题。

21:00 今天发布后一直在线上,如果明天上午的访问高峰能撑住,那就说明发布成功了。

8月8日

9:15 左右,服务器同时连接数超过 130K ,3台服务器撑不住,加了1台服务器。

9:26 左右,memcached 客户端 socketPool 满了,将 maxPoolSize 由 500 修改为 800 。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
2019-08-08 09:24:30.781 [Error] Pool is full, timeouting. 10.0.78.124:11211
代码语言:javascript
代码运行次数:0
运行
复制

10:15 左右,docker swarm 集群有增加了1台8核16G的服务器,目前一共5台 worker 节点。

11:05 更新:每台服务器上博客应用容器的的 CPU 消耗在 5-6 核,内存消耗在 1G 与 1.5G 之间。

11:05 左右,负载没有下降,我们什么也没动,响应速度却出奇地稳定,并且与访问低峰时一样飞快。

13:30 更新:今天上午访问高峰时单台服务器同时连接数最高达到21万(监控数据来自阿里云云监控)。

17:10 更新:今天下午访问高峰期间,访问速度很不稳定。我们正在考虑下一步的对策。

17:30 左右,当访问量回落到一定程度后, 访问速度恢复正常。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-08-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DotNet程序园 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Centos8安装Docker
删除旧版本,为确保统一,建议大家都执行一下,如果yum报告未安装这些软件包,则可以下一步了。
乐心湖
2020/07/31
3K0
如何在 RHEL 8 / CentOS 8上安装 Docker CE
最新版的 RHEL 8 / CentOS 8,Red Hat 已经构建了自己的工具,buildah和podman。 这些工具可以兼容现有的 docker 镜像,并且工作的时候不需要和守护进程进行交互。它们允许像正常用户一样创建容器,而不需要申请特殊权限。(还是有一点限制:例如,在写文章的时候,没有权限的情况下,还是不能映射容器端口。)
雪梦科技
2020/05/11
6.9K0
如何在 RHEL 8 / CentOS 8上安装  Docker CE
YUM本地安装Docker
程序员朱永胜
2023/08/17
1.2K0
git仓库之gogs安装(docker版/二进制版)
二进制安装gogs tar zxf gogs_0.11.91_linux_amd64.tar.gz -C /data/gogs chown -R www.www /data/gogs su - www -c "nohup /data/gogs/gogs web &" ### 添加www密钥到管理部署密钥 ### 也可直接添加账号到仓库.git/config的url中 ### 管理git钩子配置参考 #!/bin/sh # 仓库设置 -- 管理Git钩子 # 修改 post-receive expor
钢铁知识库
2022/08/20
4610
Docker+Linux_Centos(内核:3.10.0-957.1.3.el7.x86_64)安装
4. 从头编译或者扩展现有的OpenShift或Cloud Foundry平台来搭建自己的PaaS环境
Mr.Vv
2019/10/15
2.2K0
Nginx WebUI管理
简介 NginxWebUI是一款方便实用的nginx 网页配置工具,可以使用 WebUI 配置 Nginx 的各项功能,包括端口转发,反向代理,ssl 证书配置,负载均衡等,最终生成「nginx.conf」配置文件并覆盖目标配置文件,完成 nginx 的功能配置。 他除了nginx的conf可视化配置以外,nginx Web UI还提供以下功能 功能 # 1. 静态网页包可上传并进行统一管理 # 2. ssl证书可在线申请并定时续签. 统一对ssl进行管理及部署 # 3. 集成nginx效验, 重载,
iginkgo18
2020/09/27
1.8K0
Nginx WebUI管理
Centos7-Docker卸载旧的更新到新版本
1、删除老版本 停止docker服务 systemctl stop docker 查看当前版本 rpm -qa | grep docker 卸载软件包 yum erase docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \
手撕代码八百里
2020/07/28
1.2K0
在CentOS 7上离线安装Docker
https://download.docker.com/linux/centos/7/x86_64/stable/Packages/
田春峰-JCJC错别字检测
2019/12/03
3.3K0
ASP.NET Core 3.0 : 二十八. 在Docker中的部署以及docker-compose的使用
本文简要说一下ASP.NET Core 在Docker中部署以及docker-compose的使用  (ASP.NET Core 系列目录)。 系统环境为CentOS 8 。 
FlyLolo
2019/11/01
2.8K0
ASP.NET Core 3.0 : 二十八. 在Docker中的部署以及docker-compose的使用
单台docker主机部署和管理
Portainer 是一个开源、轻量级 Docker 管理用户界面,基于 Docker API,可管理 Docker 主机或 Swarm 集群,支持最新版 Docker 和 Swarm 模式。
以谁为师
2019/05/28
7750
Centos基础环境搭建--安装docker
Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。
有一只柴犬
2024/01/25
2870
Centos基础环境搭建--安装docker
FineUICore基础版部署到docker实战
FineUI用了好多年,最近出了FineUICore版本,一直没时间是试一下docker,前几天买了一个腾讯云服务器,1核2g,装了centos7.6,开始的时候主要是整个个人博客,在腾讯云安装了宝塔,宝塔linux面板,web界面一键管理linux服务器,很是方便,没有linux基础的也可以玩linux。
louiezhou001
2020/02/25
7290
25.2 安装Docker
Docker安装 curl https://download.docker.com/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker.repo yum install -y docker-ce 速度比较慢,大家也可以直接下载rpm包 https://download.docker.com/linux/centos/7/x86_64/stable/Packages/ 下载完,上传到linux下 也需要用yum安装,可以自动解决依赖关系 yum in
运维小白
2018/03/29
1.6K0
JumpServer 堡垒机--CentOS 8 安装部署(四)
Jumpserver是一款由python编写, Django开发的开源跳板机/堡垒机系统, 助力互联网企业高效 用户、资产、权限、审计 管理。jumpserver实现了跳板机应有的功能,基于ssh协议来管理,客户端无需安装agent。
Kevin song
2020/06/17
2.6K0
centos中docker的安装
之前学习docker的时候,是在windows上直接使用可执行文件安装的,最近需要在自己的服务器上安装docker,特此了解了一下如何安装,这里补一下。 小白学Docker之基础篇 小白学Docker之Compose 小白学Docker之Swarm centos安装docker 安装方式可以分为一下三种,官方推荐的是第一种,但是基于国情,还是下载下来手动安装得好。 仓库安装 手动安装 脚本安装 仓库安装 1. 设置仓库 1.1 安装依赖 $ sudo yum install -y yum-utils \
糊糊糊糊糊了
2018/06/07
1K0
Docker安装配置教程[通俗易懂]
之前docker很久就写了笔记了。后面因为家里有事,耽搁了一年。 现在把这部分笔记重新上传一下。大家看看。
全栈程序员站长
2022/11/07
1.2K0
Docker安装配置教程[通俗易懂]
Docker Swarm 集群部署笔记
swarm集群分为管理节点和工作节点,管理节点可以操作swarm命令控制swarm集群,工作节点是用于运行服务的节点,理论上管理节点也可以是工作节点,一样可以用于运行服务。
张乘辉
2020/05/07
1.8K0
Docker笔记(一)docker 在linux里面的安装,以安装成功(安装了一天才成功,因为 CentOS 8 (非 Stream 版)已提前进入 EOL 停止服务阶段)
在开发环境,将源码+配置+软件等其他项目运行的所有的东西,都打包,直接都给运维,这样运维就不需要自己搭建项目运行的环境了,因为你已经拿到了开发人员本地的全部的东西,相当于拿到开发人员全部的东西,直接在运维那里就可以运行;
一写代码就开心
2022/05/09
2.2K0
Docker笔记(一)docker 在linux里面的安装,以安装成功(安装了一天才成功,因为 CentOS 8 (非 Stream 版)已提前进入 EOL 停止服务阶段)
Docker安装
一、docker安装 Docker 是管理容器的工具, Docker 不等于 容器。 1.1、docker yum源设置 #step 1 download docker-ce.repo file [root@zutuanxue ~]# wget https://download.docker.com/linux/centos/docker-ce.repo -P /etc/yum.repos.d/ --2019-11-14 20:46:09-- https://download.docker.com/l
星哥玩云
2022/09/15
3720
Docker-Centos7安装Docker CE 及在Docker CE中安装RabbitMQ
参考官网: https://docs.docker.com/release-notes/docker-engine/
小小工匠
2021/08/17
9020
推荐阅读
相关推荐
Centos8安装Docker
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文