并发请求多 服务器响应慢 post,从服务端视角看高并发问题
所谓服务器大流量高并发指的是:在同时或极短时间内,有大量的请求到达服务端,每个请求都需要服务端耗费资源进行处理,并做出相应的反馈。
服务端看高并发
服务端处理请求需要耗费服务端的资源,比如能同时开启的进程数、能同时运行的线程数、网络连接数、cpu、I/O、内存等等,由于服务端资源是有限的,那么服务端能同时处理的请求也是有限的。高并发问题的本质就是:资源的有限性
高并发带来的问题
服务端的处理和响应会越来越慢,甚至会丢弃部分请求不予处理,更严重的会导致服务端崩溃。
高并发处理的基本思路
1)从客户端看
尽量减少请求数量,比如:依靠客户端自身的缓存或处理能力。
尽量减少对服务端资源的不必要耗费,比如:重复使用某些资源,如连接池客户端处理的基本原则就是:能不访问服务端就不要访问
2)从服务端看
增加资源供给,比如:更大的网络带宽,使用更高配置的服务器,使用高性能的Web服务器,使用高性能的数据库
请求分流,比如:使用集群,分布式的系统架构
应用优化,比如:使用更高效的编程语言,优化处理业务逻辑的算法,优化访问数据库的SQL
基本原则:分而治之,并提高单个请求的处理速度
高并发处理的基本手段
1)客户端发出请求层面,常见的手段有:
l 尽量利用浏览器的缓存功能,减少访问服务端,比如:js、css、图片等
l 可以考虑使用压缩传输的功能,减少网络流量,也会提高传输速度
l 考虑使用异步请求,分批获取数据
2)前端接收客户端请求层面,常见的手段有:
l 动静分离,部分静态资源可以直接从Nginx返回
l 按请求的不同,分发到不同的后端进行处理,比如:负载均衡、业务拆分访问等
l 前面再加上一层来做多个Nginx的负载均衡,比如:LVS、F5等
l 还可以在更前面使用CDN服务
l 还可以对动态内容进行缓存,尽量减少访问后端服务
3)Web服务器层面,常见的手段有:
l 使用最新的JVM,并进行配置优化
l 对Web服务器进行配置优化,比如:调整内存数量、线程数量等
l 提供多个能提供相同服务的Web服务器,以实现负载均衡
l 仔细规划Web服务器上部署的应用规模
l 对Web服务器进行集群
4)Web应用层面,常见的手段有:
l 动态内容静态化
l Java开发优化
l 优化处理业务逻辑的算法
l 合理高效的利用缓存
l 优化访问数据库的Sql,可以考虑利用存储过程等数据库的能力
l 合理使用多线程,加快业务处理
l 部分业务可以考虑内存数据库,或者是进行纯内存处理
l 尽量避免远程调用、大量I/O等耗时的操作
l 合理规划事务等较为耗资源的操作
l 合理使用异步处理
l 对部分业务考虑采用预处理或者预计算的方式,减少实时计算量
l 内部系统间的业务尽量直接调用、直接处理,减少WebService、工作流等
并发请求多 服务器响应慢 post,从服务端视角看高并发问题相关推荐
- 揭密|淘宝服务端千万级高并发架构的演进之路
戳蓝字"CSDN云计算"关注我们哦! 作者 | huashiou 来源 | https://segmentfault.com/a/1190000018626163 1.概述 本文以 ...
- 并发请求多 服务器响应慢 post,【转】吞吐量、QPS(TPS)、并发数、RT性能指标及ab并发测试...
概念 吞吐量 系统的吞吐量是指系统的抗压.负载能力,指的是单位时间内处理的请求数量.通常情况下,吞吐率用 "字节数/秒" 来衡量,也可以用 "请求数/秒",&q ...
- java 大流量高并发_【BAT面试题】如何应对大流量、高并发??
这是一道BAT大厂的面试题 所谓高并发指的是:在同时或极短时间内,有大量的请求到达服务端,每个请求都需要服务端耗费资源进行处理,并做出相应的反馈. 常用的高并发处理的思路与手段 从服务端视角看高并发 ...
- 怎么检测并发处理能力达每秒2万次_系统如何支撑高并发
目录 概述 最简单的系统架构 负载均衡+分库分表 + 读写分离系统架构 负载均衡+分库分表 + 读写分离+缓存集群系统架构 负载均衡+分库分表 + 读写分离+缓存集群+消息中间件集群系统架构 php7 ...
- 什么请求服务器响应快,HTTP请求与服务器响应流程
1. H遇新是直朋能到分览支体调TTP 简介 1.遇新是直朋能到分览1定义 用能境战求道,重件开又是正易里是了些之框 1.2 请求/响应报文格求圈分件圈浏第用代是水刚道.的它还式 1.3请求方式--G ...
- aiohttp 高并发web服务_UE4 unity3d连接高并发http服务器
1.HTTP服务器使用c++语言开发,vs2019编辑器.支持windows和linux.服务器主要用于游戏服务器后台,以及APP 应用后台增.删.查.改数据. 2.服务器使用多线程技术,以及使用线程 ...
- HTTP缓存解释为何页面响应的数据和服务端的不一致
HTTP缓存解释为何页面响应的数据和服务端的不一致 用途 HTTP缓存主要用在对一些实时性要求不高的静态文件进行的缓存,往往都是存在浏览器端,防止这些"多余"的请求重复的访问服务器 ...
- 在以TCP为连接方式的服务器中,为什么在服务端设计当中需要考虑心跳?
https://www.zhihu.com/question/35013918 在以TCP为连接方式的服务器中,为什么在服务端设计当中需要考虑心跳? 这个心跳包除了告知服务端我在线,还有其他作用吗?比 ...
- 应对海量并发请求,首席布道师谈微服务的应用架构设计
何李石 七牛云首席布道师 <Go语言程序设计>译者,Go语言/容器虚拟化技术布道师.实践者. 5年以上互联网创业经验和企业级产品研发.运营经验,同时也是互联网产品基础架构解决方案专家. 随 ...
最新文章
- 没有传说,也没有神话,我只相信我自己
- 13. sizeof 和 strlen 的区别
- 【中级软考】UML图(Unified Modeling Language统一建模语言、标准建模语言)
- MCtalk对话兰迪少儿英语:1v1不具普适性,小班课才是下个风口
- 常用宏定义 - 系统相关
- php加密码访问,怎么给一个PHP密码访问页面加超链接
- 中年码农,最后的倔强!
- 微信公众号与服务器ip,微信公众号服务器IP网段与实际IP不一致?无法通过微信公众号推送消息到自己的服务器...
- 我们努力的目标,就是不要被看见
- 数据中心 服务器 电压,数据中心和通信机房,需要这样的功率器件……
- 一些AUTOSAR会议论坛的介绍(附资料下载)
- 廖碧儿现身亲吻爱犬 徐濠萦惋惜惠妮休斯顿离世
- Ubuntu 10.10学习笔记
- 数仓和数据中台长期霸权,数据湖最稳
- 110种有趣的游戏和应用
- 00_设计模式之语言选择
- 穿越火线游戏服务器停服维护中,cf停机维护
- 简要介绍css的盒模型,CSS盒模型的介绍
- 【例题 8-12 UVA-12627】Erratic Expansion
- 《递归递推练习》H - 三国佚事——巴蜀之危
热门文章
- php 正则 零宽断言,正则表达式之零宽断言实例详解_正则表达式
- Gitea配置文件说明
- java淡蓝色怎么表示_最淡的蓝是什么颜色(淡蓝色配什么颜色好看)
- 2018届春招面试回顾(二)
- 动态3D特效壁纸软件Wallpaper Engine的免费获取及安装问题解决
- java如何做聚类分析_K-means算法的Java实现 聚类分析681个三国武将
- k8s环境之cicd部署+远程触发
- 四、入门python第四课
- 编程列入高考-青少儿编程学习-Python那些事
- mac软件全屏时候最顶上任务栏保留_一键整理 Mac 顶部菜单栏,这款免费工具 App 还你清爽...