查准考证网站卡了整整一个小时进不去,被抢票支配的恐惧又来了

news/2024/5/9 23:09:54/文章来源:https://javayz.blog.csdn.net/article/details/121505313

(一)概述

今天是国考出准考证的时间,刚好女朋友也要报名了这次考试,作为合格的男朋友当然是要在第一时间将准考证信息下载下来。结果到了半夜12点之后,整个官网一直处于无法连接、502、503、接口报错等各种问题。到了凌晨1点才把准考证下载下来。作为程序员自然要好好分析下这一个小时官网究竟发生了什么事情。

(二)事情回顾

再12点准点网站开放的时候,已经很明显能感觉到页面的响应速度变得特别慢,接着出现了第一条错误信息:服务器繁忙,请您稍后再试:

随着几次刷新之后,进到了第一个系统页面,这里原本应该可以获取到的考试信息显示无法获取:

随着几次刷新后,页面也不见了,直接弹出nginx的502网关错误

接着还是nginx的报错,503 Service Temporarily Unavailable

最后就是在502和503之间来回跳跃,偶尔出来一次页面,整整一个小时。

(三)知识储备

首先复习一下所有状态码表达。Http状态码是表示Http响应状态的数字代码,由三位数字组成,第一个数字代表了响应的总体状态。

1XX:指定客户端应相应的某些动作,代表请求已被接受,需要继续处理。一般来讲很少出现该响应。

2XX:代表请求成功被服务器接收,并响应。

3XX:代表需要客户端采取进一步的操作才能完成请求,这些状态码用来重定向。

4XX:表示客户端请求错误。代表了客户端看起来可能发生了错误,妨碍了服务器的处理。最常见的404状态码。

5XX:代表了服务器在处理请求的过程中有错误或者异常状态发生,也有可能是服务器意识到以当前的软硬件资源无法完成对请求的处理。

其中502表示作为网关或者代理工作的服务器尝试执行请求时,从上游服务器接收到无效的响应

503表示由于临时的服务器维护或者过载,服务器当前无法处理请求。这个状况是临时的,并且将在一段时间以后恢复

(四)问题分析

以今年国考的规模来看,12点准时进入网页的人是过万的,因此大流量是打垮系统的主要原因。其实经历过以前的12306抢票或者学校抢课的朋友们肯定都太熟悉这种感觉了,基本上系统一开放就是半死的状态。

首先进入网站之后最先出现的是“服务器繁忙,请您稍后尝试”这条报错,说明此时的请求已经从客户端经过nginx打到了服务器端。而服务器端是做了访问量的限流,因此返回了服务器繁忙这条信息。因为当时也没看接口响应的情况,大概猜测是如此。

接着出现了未获取到考试信息这种报错,这种情况很有可能是已经进入了接口内部,但是接口在查询后台数据库时由于并发量太大导致超时等原因无法匹配到数据库信息。

接着报错变成了502 Bad Gateway。很明显此时的报错已经从应用来到了Nginx代理机器上。最开始Nginx还能把请求反向代理给应用服务器,而随着程序执行时间超过了Nginx设定的等待时间,越来越多的请求被堵塞在Nginx上,直接导致502的产生。

然后就是503 Service Temporarily Unavailable,服务暂时不可用,说明此时请求带给nginx和服务器的压力已经达到了服务器负载的上限。当然也有可能是Nginx上做了单ip访问次数限制,这点只是猜测。

(五)解决思路

这种大流量、高并发下解决系统卡死的最有效方案就是加资源,做降级,利用缓存,极致优化请求。以淘宝双十一为例,每年双十一是真正做到了将性能压榨到极限。淘宝在阿里云的支撑下实现了资源的可扩展性,因此到了双十一的时候首先要做的就是大量加服务器资源,既然一台服务器撑不住,那就五台、十台、一百台。

第二点是降级,将部分暂时可暂停的服务全部降级,你可以发现双十一高峰期的时候,阿里的很多功能是没法使用的,这些服务已经全部被暂时降级了。

第三点是利用缓存,参加双十一的商品信息在双十一之前的一段时间内是无法再修改的,原因就是这些数据将被合理地放进缓存中,并被提前预热。

第四点是机制优化缓存,这点主要是从代码层面,将耗时、多余的接口全部优化掉,做到不会产生无用的请求出来。

(六)总结

当然,我能理解为什么抢课或者报名这种每年都会发生的系统卡顿现象不修复的原因,这些官网不会为了一次的高并发现象而提前准备百倍的服务器资源,毕竟用了一次之后这些资源就浪费了。再加上这些系统可能已经迭代了十几年,没人敢动里面的代码。但技术方面如果实现不了可以从产品角度缓解压力,比如以抢课为例,既然同一时间抢课服务器顶不住,那就规定年级,让每个年级在不同的时间点抢课。这样一下子服务器压力就变成了原来的1/4。

今天就聊到这里,我是鱼仔,我们下期再见。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_715421.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

搜索引擎登录,网站分类目录登录地址

搜索引擎登录入口 google 如果你的网站是新发布的,或是访问量较低的网站在内容更新时,很有必要主动提交到Google,这样会使网站资料迅速更新倒Google搜索资料库,让用户能及时搜索到你的最新资料。 登录地址:http://www…

基于SpringBoot和BootStrap的全栈论坛网站(附上源码)

耗时大约三个星期不到的时间,把这个论坛项目基本上算是完成了,做这个项目最主要的目的是熟悉SpringBoot的使用,然后通过整个项目了解了BootStrap、Thymeleaf、editor.md等等工具的使用,今天就来做一下总结 (一&#x…

一个有意思的网站

http://www.icpoline.com 上面看到一句话:傻的人之所以傻,那就在于他(她)不知道自己傻,如果他(她)知道自己傻,那他(她)就不傻。 所以,我敢断定…

网市场云建站 v4.8 增加私有模版库,开放 Mysql 配置、在线客服源码

开发四年只会写业务代码,分布式高并发都不会还做程序员? 网市场云建站系统,结合各种产品,将一个网站的服务器成本降低到0.1元!打破传统建站的高成本,让价格不再是阻碍的门槛,让每个人都能有自…

高并发量网站解决方案

为什么80%的码农都做不了架构师?>>> 最近遇到高并发数据访问的问题,这篇博文讲的比较全面,值得一看。来源参考: http://blog.csdn.net/y_h_t/article/details/6322823 转载于:https://my.oschina.net/garyun/blog/602…

QQ登录网站接入功能实现--非官方文档搬运

背景 最近第一次使用QQ登录功能,期间遇到这种问题,在网上找了很多资料,大多都是官方的搬运,并没有真正的干料,可能是个人能力问题,遇到了各种麻烦,折腾了几天,最终弄好,…

从vancl看垂直商业网站的崛起

从vancl看垂直网站的崛起(文:王英雄)如果说2007年IT业内的几大事件,卖衬衣的卖火了,这肯定是2007年的重大事件之一。提起卖衬衣的,大家肯定会想到的是PPG,但我为什么不拿PPG做标题呐&#xff1f…

大型网站应用之海量数据和高并发解决方案总结一二

一、网站应用背景 开发一个网站的应用程序,当用户规模比较小的时候,使用简单的:一台应用服务器一台数据库服务器一台文件服务器,这样的话完全可以解决一部分问题,也可以通过堆硬件的方式来提高网站应用的访问性能&…

小白入门:大型网站技术架构负载均衡技术介绍及学习资源推荐

十年间,负载均衡的前沿技术层出不穷,令用户眼花缭乱。经常在技术网站、文档中出现的“四层负载均衡”、“七层负载均衡”字眼有什么含义?有什么区别?对客户网络有哪些不同的优化? 在大型的网站服务器集群中,负载均衡技术是必不可少的。使…

Flex SEO(Search engine optimization),让浏览器找到你的flash站点

Search engine optimistation 也就是让你的站点信息能被“搜索引擎”(Google,baidu…)搜索到。SEO总分两大类,white hats和black hats,简单讲black hats是一作弊的方法, 例如在meta标签中加一堆重复的关键词&#xff0…

unsharp mark 算法_Google SEO-BERT算法更新

一. BERT介绍BERT的全称为:Bidirectional Encoder Representations from Transformers,基于神经网络的自然语言处理预训练的技术。谷歌说BERT就像是一个超大的同义词系统。2019 年 10 月 25 日,Google 宣布 BERT 更新上线,正式成为…

有些网站打开一半空白_如何发一条空白的朋友圈

所谓空白的朋友圈就是一条看起来没有文字的朋友圈,因为发朋友圈的时候不输入文字是没法发送的。不可见字符是有文字内容的,只是人的肉眼看不见,所以相当于空白。不可见字符不可见字符就是零宽空格,见维基百科解释https://zh.wikip…

另类网站版式设计欣赏

另类网站版式设计欣赏 当你在创建一个新网站的时候,希望这些网站富有个性的版式设计能给你带来灵感。 Popmatik 这是Rob Leach设计制作的一个个人网站,这个网站用了一个瓶子的底图,网站的内容都在瓶子的这个包装纸上。 Digitalmash.com Digi…

大型网站架构系列:负载均衡详解(3)

大型网站架构系列:负载均衡详解(3) 原文:大型网站架构系列:负载均衡详解(3)本次分享大纲 软件负载均衡概述Ngnix负载均衡Lvs负载均衡Haproxy负载均衡本次分享总结一、软件负载均衡概述 硬件负载均衡性能优越…

基于Dockfile构建JAVA环境网站镜像

查看本地目录 [rootdocker tomcat]# ls apache-tomcat-8.5.16.tar.gz Dockerfile jdk-8u91-linux-x64.tar.gz server.xml [rootdocker tomcat]# vim Dockerfile FROM centos:7 MAINTAINER zhaochengcheng ADD jdk-8u91-linux-x64.tar.gz /usr/local ENV JAVA_HOME /usr/loca…

linux卸载服务器软件,linux卸载软件命令是什么_网站服务器运行维护,linux

win10系统提示需要提供管理员权限才能更改这些属性怎么办_网站服务器运行维护win10系统提示需要提供管理员权限才能更改这些属性的解决方法是:1、首先打开系统设置,进入【账户】选项;2、然后切换到【家庭和其他用户】,点击【更改账…

[目录] ASP.Net Core 搭建微服务网站

本项目采用ASP.Net Core微服务技术,搭建博客和Saas平台。 全文将围绕(1)设计模式 (2)敏捷开发 目的: 结构足够合理,代码足够优美,扩展性、可读性、易维护性做到最优。 以下目录…

网站建设流程-面向公司

1. 网站简明开发流程 简明开发流程是指假设网站开发的每个步骤都可以一次设计开发成功时的网站开发流程。   流程图如下: 2. 网站操作开发流程 网站操作开发流程是指假设网站开发的每个大的步骤都有可能产生未知问题时的网站开发流程。整个开发过程一般会有…

《大型网站技术架构》读书笔记二:大型网站架构模式

此篇已收录至《大型网站技术架构》读书笔记系列目录贴,点击访问该目录可获取更多内容。 一、分层 最常见的架构模式,将系统在横向维度上切分成几个部分,每个部分单一职责。网站一般分为三个层次:应用层、服务层和数据层&#xff0…

桌面风格的Web网站

天天记账网:http://www.365jizhang.com 超级牛牛无敌在线盯盘专家:http://www.googlook.net/stock/Stock.html