所谓服务器大流量高并发指的是:在同时或极短时间内,有大量的请求到达服务端,每个请求都需要服务端耗费资源进行处理,并做出相应的反馈。

服务端看高并发

服务端处理请求需要耗费服务端的资源,比如能同时开启的进程数、能同时运行的线程数、网络连接数、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,从服务端视角看高并发问题相关推荐

  1. 揭密|淘宝服务端千万级高并发架构的演进之路

    戳蓝字"CSDN云计算"关注我们哦! 作者 | huashiou 来源 | https://segmentfault.com/a/1190000018626163 1.概述 本文以 ...

  2. 并发请求多 服务器响应慢 post,【转】吞吐量、QPS(TPS)、并发数、RT性能指标及ab并发测试...

    概念 吞吐量 系统的吞吐量是指系统的抗压.负载能力,指的是单位时间内处理的请求数量.通常情况下,吞吐率用 "字节数/秒" 来衡量,也可以用 "请求数/秒",&q ...

  3. java 大流量高并发_【BAT面试题】如何应对大流量、高并发??

    这是一道BAT大厂的面试题 所谓高并发指的是:在同时或极短时间内,有大量的请求到达服务端,每个请求都需要服务端耗费资源进行处理,并做出相应的反馈. 常用的高并发处理的思路与手段 从服务端视角看高并发 ...

  4. 怎么检测并发处理能力达每秒2万次_系统如何支撑高并发

    目录 概述 最简单的系统架构 负载均衡+分库分表 + 读写分离系统架构 负载均衡+分库分表 + 读写分离+缓存集群系统架构 负载均衡+分库分表 + 读写分离+缓存集群+消息中间件集群系统架构 php7 ...

  5. 什么请求服务器响应快,HTTP请求与服务器响应流程

    1. H遇新是直朋能到分览支体调TTP 简介 1.遇新是直朋能到分览1定义 用能境战求道,重件开又是正易里是了些之框 1.2 请求/响应报文格求圈分件圈浏第用代是水刚道.的它还式 1.3请求方式--G ...

  6. aiohttp 高并发web服务_UE4 unity3d连接高并发http服务器

    1.HTTP服务器使用c++语言开发,vs2019编辑器.支持windows和linux.服务器主要用于游戏服务器后台,以及APP 应用后台增.删.查.改数据. 2.服务器使用多线程技术,以及使用线程 ...

  7. HTTP缓存解释为何页面响应的数据和服务端的不一致

    HTTP缓存解释为何页面响应的数据和服务端的不一致 用途 HTTP缓存主要用在对一些实时性要求不高的静态文件进行的缓存,往往都是存在浏览器端,防止这些"多余"的请求重复的访问服务器 ...

  8. 在以TCP为连接方式的服务器中,为什么在服务端设计当中需要考虑心跳?

    https://www.zhihu.com/question/35013918 在以TCP为连接方式的服务器中,为什么在服务端设计当中需要考虑心跳? 这个心跳包除了告知服务端我在线,还有其他作用吗?比 ...

  9. 应对海量并发请求,首席布道师谈微服务的应用架构设计

    何李石 七牛云首席布道师 <Go语言程序设计>译者,Go语言/容器虚拟化技术布道师.实践者. 5年以上互联网创业经验和企业级产品研发.运营经验,同时也是互联网产品基础架构解决方案专家. 随 ...

最新文章

  1. 没有传说,也没有神话,我只相信我自己
  2. 13. sizeof 和 strlen 的区别
  3. 【中级软考】UML图(Unified Modeling Language统一建模语言、标准建模语言)
  4. MCtalk对话兰迪少儿英语:1v1不具普适性,小班课才是下个风口
  5. 常用宏定义 - 系统相关
  6. php加密码访问,怎么给一个PHP密码访问页面加超链接
  7. 中年码农,最后的倔强!
  8. 微信公众号与服务器ip,微信公众号服务器IP网段与实际IP不一致?无法通过微信公众号推送消息到自己的服务器...
  9. 我们努力的目标,就是不要被看见
  10. 数据中心 服务器 电压,数据中心和通信机房,需要这样的功率器件……
  11. 一些AUTOSAR会议论坛的介绍(附资料下载)
  12. 廖碧儿现身亲吻爱犬 徐濠萦惋惜惠妮休斯顿离世
  13. Ubuntu 10.10学习笔记
  14. 数仓和数据中台长期霸权,数据湖最稳
  15. 110种有趣的游戏和应用
  16. 00_设计模式之语言选择
  17. 穿越火线游戏服务器停服维护中,cf停机维护
  18. 简要介绍css的盒模型,CSS盒模型的介绍
  19. 【例题 8-12 UVA-12627】Erratic Expansion
  20. 《递归递推练习》H - 三国佚事——巴蜀之危

热门文章

  1. php 正则 零宽断言,正则表达式之零宽断言实例详解_正则表达式
  2. Gitea配置文件说明
  3. java淡蓝色怎么表示_最淡的蓝是什么颜色(淡蓝色配什么颜色好看)
  4. 2018届春招面试回顾(二)
  5. 动态3D特效壁纸软件Wallpaper Engine的免费获取及安装问题解决
  6. java如何做聚类分析_K-means算法的Java实现 聚类分析681个三国武将
  7. k8s环境之cicd部署+远程触发
  8. 四、入门python第四课
  9. 编程列入高考-青少儿编程学习-Python那些事
  10. mac软件全屏时候最顶上任务栏保留_一键整理 Mac 顶部菜单栏,这款免费工具 App 还你清爽...