2017年2月21日17:34,突然收到阿里云的通知: 您的IP受到攻击流量已超过云盾DDoS基础防护的带宽峰值,服务器的所有访问已被屏蔽,如果35分钟后攻击停止将自动解除否则会延期解除... 紧接着通过这个IP访问博客站点(www.cnblogs.com)的所有用户(绝大多数用户都使用这个IP)都无法访问,我们赶紧进行了dns解析切换,但dns解析需要一定的时间,很多用户都会受影响. 登录阿里云云盾控制台一看,攻击流量达22G(见上图). 我们赶紧联系阿里云,希望阿里云能临时解除一下屏蔽减少对…
继5月13日下午被攻击之后,今天下午,攻击又肆无忌惮地来了,14:35.14:39.14:40.14:41 ,依次有4个IP遭遇超过30G的流量攻击,被阿里云“云盾”关进“黑洞”,造成被攻击IP上的站点无法正常访问...15:11左右全部恢复正常. 受此次攻击影响的站点有:www.cnblogs.com ,q.cnblogs.com ,news.cnblogs.com,home.cnblogs.com ,job.cnblogs.com ,kb.cnblogs.com ...,由此给您带来很大的麻…
今天暴风雨袭击了杭州,而昨天暴风雨(高并发问题)席卷了园子,留下一片狼藉. 在前天傍晚,我们进行了 .net core 版博客站点的第二次发布尝试,在发布后通过 kestrel 直接监听取代 nginx 转发解决了高并发下的1秒延迟问题,成功地顶住了下班前的访问小高峰,但这只是一场大雨,第二天的上午和下午的暴风雨(访问高峰中的高并发)才是真正的考验. 昨天,面对暴风雨,我们哼都不敢哼一声“让暴风雨来得更猛烈些吧”,只是一直不停地默念“让暴风雨快点过去吧”,尤其在下午的暴风雨袭击下,跑在 dock…
为了验证 docker swarm 在高并发下的性能问题,周一我们发布了使用 docker-compose 部署的 .net core 版博客站点(博文链接),但由于有1行代码请求后端 web api 时没有使用缓存,结果造成大量 web api 请求发向跑后端服务的集群,悲剧的是这个集群是用 docker swarm 部署的,请求是用 nginx 容器转发的,结果压垮了 nginx ,大量后端请求 502 ,被迫回退至 windows + .net framework 版博客系统. 使用 do…
昨天晚上,我们使用的阿里云 RDS SQL Server 2008 R2 实例突然出现持续 CPU 100% 问题,后来我们通过重启实例恢复了正常(详见故障公告).但是在恢复正常后发现了新问题,这台 RDS 实例 IOPS 不够用,必须要进行升级,而且当时过了 0 点也是升级的好时间,再加上我们对升级到更高版本的 SQL Server 垂涎已久 —— 因为最新的 EF Core 3.0 不支持生成 SQL Server 2008 的分页 SQL (UseRowNumberForPaging),只…
大家好,非常抱歉,在昨天下午(12月3日)的访问高峰,园子迎来更高的并发,在这样的高并发下,突发的数据库连接故障造成博客站点全线崩溃,由此给您带来很大的麻烦,请您谅解. 最近,我们一边在忙于AWS合作项目,一边在加快产品的改进速度,一边在统一全园UI,一边在忙于解决高并发下出现的各种问题.园子正处于发展的关键时期,我们正全力应对挑战,迎接园子的新阶段.感谢大家的支持,也请大家谅解这段时间给大家带来的麻烦. 今天下午的故障开始于 14:09 左右,最开始出现的故障是访问博客后台502. 发生故障时…
非常抱歉,今天凌晨 3:20~8:30 左右,我们使用的阿里云 RDS 实例 SQL Server 2016 标准版突然出现 CPU 100% 故障,造成全站无法正常访问,由此给您带来巨大的麻烦,请您谅解. 问题很奇怪,故障期间是数据库服务器负载极低的时间段.从阿里云 RDS 控制台 CloudDBA 看,故障期间下面的一个 SQL 语句大量执行,并且极其消耗 CPU . 开始我们以为是这个 SQL 语句引发的故障,但排查下来这个 SQL 语句本身并没有性能问题,而且已经使用了至少6个月. 最终…
非常抱歉!今天 12:03-12:52 ,由于数据库连接数异常突增超过1万,达到了阿里云RDS的最大连接数限制,影响了全站的正常访问.由此给您带来麻烦,请您谅解. 在发现数据库连接数突增的问题后,我们一开始怀疑可能是我们的某些应用中产生太多ADO.NET连接引起的,但是对嫌疑的应用们进行重启后,连接数依然高居不下. 后来,我们回想起去年9月份遇到的一次数据库问题,当时很多数据库查询超时,IOPS突增达到RDS的最大限制.开始我们也是从应用层面下手,但怎么也解决不了,后来实在没办法,试了试主备库切…
本文首发于我的个人博客:https://chens.life/create-wordpress-blog.html 前言 目前市面上有许许多多的虚拟云服务器ECS,例如阿里云.华为云.又拍云等等,他们提供很多的云服务,但ECS是个很重要的项目.它就相当于一台远程的电脑,我们可以在上面搭建自己需要的各种服务.使用厂商提供的的ECS的最大的好处就是其稳定性,不用担心故障或者数据丢失又或者是停电. 本例就以阿里云ECS,加上久负盛名的word press这个强大的软件来进行演示,搭建一个属于自己的一片…
  非常抱歉,今天下午14:39-15:39左右,博客站点的部分负载均衡遭遇3次20G以上的流量攻击,造成很多用户不能正常访问.由此给您带来麻烦,请您谅解. 攻击的过程是这样的: 14:39,第1次攻击流量26.64Gb,针对的是其中1台负载均衡A,攻击后,立即被阿里云云盾屏蔽. 您的IP:*.*.*.*受到攻击流量已超过云盾DDoS基础防护的带宽峰值,服务器的所有访问已被屏蔽,如果30分钟后攻击停止将自动解除否则会延期解除. 发现后,我们立即更改dns解析,将访问流量切换到另外的负载均衡B,但…
非常抱歉,今天下午 17:10~17:40 左右,由于博客系统所使用的 redis 服务器宕机,造成博客站点无法正常访问,由此给您带来很大的麻烦,请您谅解. 我们会针对这次故障改进 redis 服务器的部署,提高 redis 服务器的高可用性.目前 redis 服务是用阿里云服务器单独部署的,还没部署到 k8s 集群上. 没想到下半年的第一篇博文竟然是故障公告,为了凑足字发到首页,简单向大家汇报一下园子的近况. 转眼间2021年上半年过去了,园子的审核工作还没全部完成,我们依然在努力还债. 20…
非常抱歉,今天凌晨博客站点负载均衡中所有3台服务器的IIS应用程序池突然停止工作,造成 1:20-7:45 左右博客站点无法正常访问,由此给您带来很大的麻烦,请您谅解. 服务器操作系统是 Windows Server 2016,对应的 IIS 错误日志如下: A process serving application pool 'www.cnblogs.com' suffered a fatal communication error with the Windows Process Activ…
非常抱歉,今天上午的博客站点故障给大家带来了很大的麻烦,请大家谅解.这次故障是我们发布 .NET Core 版博客站点引起的,虽然我们进行了充分的准备,但还是低估了高并发下的复杂问题. 以下是故障背景与大致经过: 在这个炎炎夏日,我们正日火朝天地忙着整个 .NET Core 迁移工程的收官 —— 发布 .NET Core 版博客站点与博客后台.我们的其他系统都早已迁移至 .NET Core 并已在线上工作一番时日,只剩下最难啃的硬骨头 —— 博客系统,到这个月这根钢铁般坚硬的硬骨头也被啃得差不多…
自从博客系统升级 .NET 5.0 之后遇到的诡异故障(一.二.三.四),今天它又出现了,就在前天刚刚故障之后, 就在昨天 .NET 5.0 正式版刚刚发布之后,出现了. 今天晚上我们在 19:30 左右进行了一次发布,发布后特地进行了观察,没有出现故障,但后来在 20:30 左右发现了故障(巧合的是与上次故障是差不多的时间点),在这次故障过程中,我们试遍了之前的所有方法(除了回退 .NET 5.0)都无济于事,在我们几乎绝望之时,我们把目光转向了我们曾经专门"洗白"过的 .NET 5…
13:52-14:03,由于访问量突增,博客web服务器全线CPU 100%,造成博客站点不正常访问,由此给您带来麻烦,请您谅解. 为了迎接访问量的增长给web服务器CPU带来的巨大压力,上周我们已经将博客web服务器换成了阿里云独享型服务器. 今天下午故障前,博客站点一共投用了3台4核8G+1台8核8G阿里云服务器. 13:50左右,为了防止4台服务器撑不住,我们使用阿里云的弹性伸缩服务,创建了一个根据CPU占用情况自动增加服务器的“报警任务”. 哪知刚创建完,访问量就突增上去了,负载均衡中有…
非常抱歉,昨天 18:40~19:10 再次遭遇上次遇到的 SQL 语句执行超时引发的网站首页访问故障,由此您带来麻烦,请您谅解. 上次故障详见故障公告,上次排查下来以为是 SQL Server 参数嗅探问题引起的,但在引起参数嗅探的漏洞被修复后今天再次出现故障说明上次的判断是错误的. 今天出现故障时的表现与上次一样,唯一不同的地方是这次比上次更糟糕,即使主备切换也无法恢复. 后来我们从 SQL 语句本身下手,给查询首页博文列表的 SQL 语句添加了时间条件才恢复正常. , getdate())…
非常抱歉,今天下午14:40-15:00左右,web服务器突然雪崩似的出现CPU 100%问题,造成博客站点无法访问(503).由此给您带来很大的麻烦,请您谅解. 在问题出现之前,博客站点运行着5台web服务器,4台4核8G的阿里云-计算型(原独享)sn1系列II-服务器,1台8核8G的阿里云c1型系列I服务器.本来今天下午并不是一周的访问最高峰,这5台服务器绰绰有余.但14:40左右开始,某种未知的情况引起这5台服务器雪崩似的接连地出现CPU 100%.雪上加霜的是,倒下去的服务器没能很快地站…
在上次发布失败后,很多朋友建议我们改用 k8s ,但我们还是想再试试 docker swarm ,实在不行再改用 k8s . 在改进了 docker swarm 集群的部署后,我们准备今天 17:30 左右进行一次发布尝试. docker swarm 集群是我们使用阿里云服务器自己搭建的,这次进行了3方面的改进. 1. 升级了 worker 节点服务器的配置 worker 节点由6台4核8G服务器换成了3台8核16G服务器,基于3点考虑: 1)提高单台服务器的处理能力: 2)提高服务器的网络处理…
今天上午11:10,我们又中"奖"了,我们使用的阿里云 RDS 实例(SQL Server 2016 标准版,16核32G)突发出现 CPU 100%,引发全站故障,直到 12:15 才完全恢复,由此给您带来很大的麻烦,请您谅解. 这是我们今年的第3次中"奖",前2次分别发生在 2020-06-24 3:20~8:30 (详见故障公告)与 2020-08-20 20:55~21:14(详见故障公告). 相比前2次,这次中了一个大"奖",发生在访问…
非常非常抱歉,新年上班第一天, 在今天阿里云上气候突变情况下,由于我们开船技术差,在今天 10:15~12:00 左右的访问高峰,我们竟然把船给开翻了,造成近2个小时整个博客站点无法访问,由此给您带来很大很大的麻烦,恳请您的谅解. 翻船经过如下. 翻墙前的船只情况 博客站点正在使用的 k8s 集群一共用了 9 台 worker 节点服务器,在访问低峰时用 5 台,另外 4 台处于关机状态,在进入访问高峰前启动.所以我们用 cron 定时任务在工作日每天早上启动 4 台服务器,每天晚上关闭 4 台…
悄悄地它又突然来了 -- 数据库服务器 CPU 100% 问题,上次光临时间是 3-30 8:48,这次是 4-28 9:41. 这次我们做出了快速反应,发现后立即进行主备切换,这次一次切换成功,CPU 很快恢复正常. 但是,这次来的"真"是时候(访问高峰),虽然数据库 CPU 恢复正常,但高并发下的博客站点在数据库恢复后来不及建缓存,大量请求503或者访问缓慢,估计今天整个上午都扛不住. 幸运的是,我们估计错了,10:15左竟然抗住了,博客站点开始恢复正常. 但是,就在我们准备发布故…
非常抱歉,今天下午2点左右开始,博客站点突然猛增的巨量请求让k8s集群的节点服务器不堪重负,造成网站无法正常访问,由此给您带来麻烦,请您谅解. 当时k8s集群一共6台node服务器,2台32核64G,2台8核64G,1台8核16G,1台4核6G,博客站点一共跑了19个pod,如果不是突然猛增的巨量请求,可以稳稳撑住. 但是今天下午的请求排山倒海,比昨天还要高(昨天GA统计的UV超过1000万,其中有很多异常请求),服务器CPU们拼尽全力也无法扛住,最终兵败如山倒. 发现故障后,我们开始加服务器,…
(上图是数据库连接数监控图) 非常抱歉,今天下午 16:50-17:40 期间,一场龙卷风突袭园子,突增的并发请求狂卷博客站点的 pod,由于风力巨大(70%左右的增量),pod 的 cpu 不堪重负,造成博客站点无法正常访问,由此给您带来麻烦,请您谅解. 在没有龙卷风的一般大风(访问高峰)情况下,博客站点单个 pod 的 cpu 通常消耗在 3-4 核之间,所以我们采用了下面的 pod 资源限制配置: resources: requests: memory: "4Gi" cpu: &…
今天上午 9:40 - 11:06 左右,由于阿里云“华东1地域部分负载均衡https访问异常”,造成我们的部分站点(尤其是博客后台)无法正常访问,给您带来了很大的麻烦,请您谅解. 现已恢复正常,如果您还不能正常访问,麻烦您向我们反馈. 阿里云官方故障公告: [阿里云] [负载均衡] [故障通告] 故障简述 : 监控发现于09:40左右,华东1地域部分负载均衡出现https访问不稳定. 故障原因 : 华东1地域负载均衡网络波动导致. 有任何问题,可随时通过工单或服务电话95187联系反馈. [故…
我们的生产环境部署了 2 个 docker swarm 集群,集群 swarm-a 用于专门跑博客站点,集群 swarm-b 用于跑其他站点,manager 节点用了阿里云包月服务器,worker 节点用了阿里云抢占式实例. 今天 11:03 收到阿里云的短信通知“您的抢占式实例:实例ID(实例名称)因库存变化,即将进入释放状态”,一共被释放了3台,其中1台是集群 swarm-a 的节点服务器,1台是集群 swarm-b 的节点服务器.释放后,2个集群稳如泰山,应用的正常运行并没有受到影响,当时…
非常抱歉,这次故障给您带来麻烦了,请您谅解. 今天早上 10:54 左右,我们所使用的数据库服务(阿里云 RDS 实例 SQL Server 2016 标准版)CPU 突然飙升至 90% 以上,应用日志中出现大量数据库查询超时的错误. Microsoft.Data.SqlClient.SqlException (0x80131904): Execution Timeout Expired. The timeout period elapsed prior to completion of the…
在 .NET 5.0 背锅 . Memcached 的惹祸 .缓存雪崩之后,我们没有找到问题的真正原因,我们知道没有找到根源的故障总是会再次光临的,不是在这周就是在下周,也许就在双11前后. 就在今天双11的前一天晚上,在我们 20:30 进行常规发布的时候,它来了... 原本平滑的 memcached 服务器 tcp 连接数走势曲线开始爬坡,博客站点大量的访问请求响应缓慢,每次都"惹祸"的 memcached 自然首当其冲地成为嫌疑的焦点. 我们重启了所有 memcached 服务,…
今天凌晨我们用阿里云服务器自建的 kubernetes 集群出现突发异常情况,博客站点(blog-web)与博客 web api(blog-api)的 pod 无法正常启动(CrashLoopBackOff). kubectl get pods -l app=blog-web NAME READY STATUS RESTARTS AGE blog-web-79d579cd94-5t8w4 0/1 CrashLoopBackOff 10 34h blog-web-79d579cd94-gjwct…
6月19日开始,我们将博客站点的缓存服务器从 memcached 换成了 redis,稳定运行了3天,今天上午访问高峰突然出现问题,在 11:00-12:30 期间影响了网站的正常访问,由此给您带来麻烦,请求谅解. 在故障期间,日志中大量的等待响应超时错误 StackExchange.Redis.RedisTimeoutException: Timeout awaiting response 其中的一个典型日志: StackExchange.Redis.RedisTimeoutException…
1.0 为什么要做这个博客站? www.zynblog.com   在工作学习中,经常要搜索查找各种各样的资料,每次找到相关资料后都会顺手添加到浏览器书签中,时间一长,书签也就满了.而且下次再点击这个书签时,可能 就会忘记当时为什么要添加这个书签了,更有可能书签连接已经无效.这样一来,也就不方便自己查阅了.如果转载.收藏到自己的博客园账号中.CSDN账号 中,脚本之家中,知乎中等等,依然是很凌乱,不方便下次查阅. 因此,我下决心开发一个个人技术博客站.主要原因是:可以整合各种宝贵资源,将知识变为…