暴风雨中的 online : .NET Core 版博客站点遭遇的高并发问题进展

  • 时间:
  • 浏览:35
  • 来源:1分时时彩官网_1分时时彩平台哪个好_玩1分时时彩的网站

今天暴风雨袭击了杭州,而昨天暴风雨(高并发问题 )席卷了园子,留下一片狼藉。

在前天傍晚,亲戚亲戚人们进行了 .net core 版博客站点的第二次发布尝试,在发布后通过 kestrel 直接监听取代 nginx 转发解决了高并发下的1秒延迟问题 ,成功地顶住了下班前的访问小高峰,但这好多好多 一场大雨,第半年的上午和下午的暴风雨(访问高峰中的高并发)才是真正的考验。

昨天,面对暴风雨,亲戚亲戚人们哼前会敢哼一声“让暴风雨来得更猛烈些吧”,好多好多 无缘无故不停地默念“让暴风雨快点过去吧”,尤其在下午的暴风雨袭击下,跑在 docker swarm 上 .net core 版博客系统溃不成军,极少量请求响应速率单位极不稳定,时而快如闪电(10ms左右),时而慢如蜗牛(10s, 50s 甚至超时)。与第一次发布时不一样,不仅博客应用容器外是暴风雨,容器内也是暴风雨,在容器内用 curl 命令访问与内部用浏览器访问问题 一样(难不成真的是 docker swarm 网络的问题 ?kestrel 监听取代 nginx 转发好多好多 将网络并发负载从 nginx 容器转到了 kestrel 所在的博客应用容器。。。有待验证。)

昨天 17:50 左右并发量回落到一定程度原来,暴风雨飘然而去,立刻风平浪静,晴空万里,下午的那场暴风雨宛如梦中。

在暴风雨原来,亲戚亲戚人们查看过服务器的 linux 系统日志,发现好多好多 下面的日志,或者都趋于稳定在暴风雨期间。

Aug  8 15:57:12 blog-swarm-n3 kernel: nf_conntrack: table full, dropping packet
Aug  8 15:57:12 blog-swarm-n3 kernel: nf_conntrack: table full, dropping packet
Aug  8 15:57:12 blog-swarm-n3 kernel: nf_conntrack: table full, dropping packet

当时 docker swarm 集群中一共5台 worker 节点服务器,统计了一下每台服务器出显 "table full" 日志的数量。

blog-swarm-n3: 2149
blog-swarm-n4: 1964
blog-swarm-n5: 2451
blog-swarm-n6: 2095
blog-swarm-n7: 0

咦,为什有1台服务器为0?哦,原来是这台不在 挂上所有负载均衡,只承受了 2/3 左右的流量,其实下的暴风雨,但对这台服务器来说好多好多 一场大雨。

针对后面 的日志,亲戚亲戚人们调整了 linux 内核的 2 个设置置(参考文档),在 /etc/sysctl.conf 中换成

net.netfilter.nf_conntrack_max = 655350
net.netfilter.nf_conntrack_tcp_timeout_established = 150

有些调整成为亲戚亲戚人们今天唯一的希望,但早上访问高峰来临的原来,迎接亲戚亲戚人们的前会喜出望外,好多好多 昔日重来。。。

在熟悉的暴风雨身旁,亲戚亲戚人们面临着艰难的选取,放弃-退回 windows 上的 .net framework 版博客系统,还是坚持-大约要找到四种 能抵挡一定程度暴风雨的临时解决最好的法律办法?

那台不在 "table full" 日志的服务器给了亲戚亲戚人们启发——分而治之,将暴风雨变成每一台服务器的大雨,拆分流量到不同的服务器,减少每台服器的并发连接数,今天好多好多 通过有些临时的笨最好的法律办法扛住了暴风雨,极少量减少了响应速率单位慢的情況,好多好多 到现在 .net core 版博客站点依然在线。

在抗过今天上下午访问高峰的暴风雨后,杭州也被暴风雨袭击了,可能性有了房子,任凭外面风吹雨打,亲戚亲戚人们可不可不可以坐在房间里一边敲着代码,一边凝听着窗外的风雨声。对于这次遇到的高并发问题 ,亲戚亲戚人们相信总有一天会为亲戚亲戚人们的博客系统建造好房子,在暴风雨的风吹雨打中潇洒地在日志中写着“让暴风雨来得更猛烈些吧”。