到底什么级别才算是高并发

简介: 到底什么级别才算是高并发

讲真话,高并发是个比较抽象的概念。很难有一个统一的可衡量的标准。哪么有一些其它维度的标准指标来衡量系统的性能吗?搬出以前计算机课程里边的一些指标来跟大家聊聊。网站性能测试指标(QPS,TPS,吞吐量,响应时间)详解,这篇看下。

先声明几个概念,别打瞌睡。1.QPS(TPS):每秒钟 request/事务 数量,在互联网领域,指每秒响应请求数(指http请求);2.吞吐量:单位时间内处理的请求数量(通常由QPS与并发数决定);3.响应时间:系统对一个请求做出响应的平均时间。例如系统处理一个HTTP请求需要200ms,这个200ms就是系统的响应时间(我认为这里应该仅包含处理时间,网络传输时间忽略)。这里一定要注意呃,QPS ≠ 并发数并发是指,某个时刻有多少个访问同时到来。QPS是指秒钟响应的请求数量。那么这里就肯容易推算出一个公式:QPS = 并发数 / 平均响应时间后面我们的分析都是围绕这个公示来进行展开,没明白的再回味一下。现在我们来假设一个场景:既然QPS是每秒钟处理的http请求数量。那么1s = 1000ms。假设我们当前一个http请求服务器处理完成需要100ms(即那么 平均响应时间 = 100ms )。那么它1s钟可以处理10个请求。也就是说 qps = 10。推算出 并发数 = 10常常我们被问到高并发的问题,其实从某种程度上来说是怎么提高现有程序的性能。现在我们基于上面的假设,来进行分析。假设现在有个系统性能上就是我们上面的假设,它每天有 300万pv,运行在单机上(当然经常宕机),按照上面的系统性能数据,给出优化解决方案。


提高并发能力

通过上面的分析,要提升并发能力,我们就需要提升我们的qps(其实这里并不完全正确,为了说明问题,我们先放弃一部分正确性)最快速解决方案,就是增加机器。我们根据以上情况来实际计算一下。1.访问量:200w pv2.QPS:10根据日常经验,80% 的访问量集中在 20%的时间,算一下这 200w pv实际需要机器达到多少qps才能满足。


qps = (200w * 0.8) / (24 * 3600 * 0.3)qps = 61.7

实际上如果在单机上,要求我们每秒钟处理请求必须达到 61.7 以上才行,而实际上我们当前系统的qps是 10。那么怎么解决?


方案一:上机器个人的能力是有限的,团队的力量是无穷的。既然一台机器搞不定,我们就多上几台机器。这就涉及到db主从、读写分离、负载均衡等技术。它的原理就是分流,把以前集中的压力分散开来。改方案见效快,灵活,实践起来也更快。


方案二:增加单机性能单机到底性能能够增加到一个什么程度,这取决于你的机器配置,也取决于你的服务到底有多复杂。ps:写到这里突然有点能够理解为什网上对高并发都是讲很多请求,没有具体数据了,因为这真的只能针对业务来讲,100个并发对静态网页来说根本没有的事儿,但是对于某些密集计算型的估计…那么常见的单机如何提升性能?比如:增加不常变化数据的缓存,开启php的opcache,优化代码(如:n+1问题、多重嵌套循环、深层递归等),db表优化等等。由于这些每一个点拿出来都够写一本书了。咋就不继续下去。


原文地址:https://mp.weixin.qq.com/s/9au-_18hmK-CXXvygbvasA


相关文章
|
8月前
|
缓存 NoSQL 关系型数据库
如何设计一个高并发系统?
如何设计一个高并发系统?
80 0
|
3月前
|
SQL 安全 算法
在高并发情况下,如何做到安全的修改同一行数据?
在高并发情况下,如何做到安全的修改同一行数据?
|
6月前
|
存储
服务器百万并发的原理与实现
服务器百万并发的原理与实现
|
9月前
|
设计模式 架构师 算法
这个时代,达不到百万以上并发量都不叫高并发!!收藏学以致用
成为一名年薪百万的顶尖架构师,实现财富自由,是大多数JAVA高级程序员的职业追求。 这不仅是技术发展的趋势,同时也是个人职业价值的体现。 但最终能否成为IT架构中的「灵魂人物」,做出亿级用户量的产品、搭建承载百万级并发的架构,还要取决于你能不能翻过并发量这道坎。
|
安全 网络协议 Shell
高并发服务器的限制有哪些,如何提高并发量
高并发服务器的限制有哪些,如何提高并发量
高并发服务器的限制有哪些,如何提高并发量
|
Web App开发 JavaScript 前端开发
国内第一篇讲如何减少卡顿的代码级别详细文章
国内第一篇讲如何减少卡顿的代码级别详细文章
129 0
国内第一篇讲如何减少卡顿的代码级别详细文章
|
Java
日志 - 高并发的情况下小小的日志打印会严重影响到性能
日志 - 高并发的情况下小小的日志打印会严重影响到性能
506 0
日志 - 高并发的情况下小小的日志打印会严重影响到性能
|
SQL 消息中间件 存储
面试官:应对高并发系统有没有通用的解决方案?
灵魂拷问: 应对高并发系统有没有一些通用的解决方案呢? 这些方案解决了什么问题呢? 这些方案有哪些优势和劣势呢?
181 0
面试官:应对高并发系统有没有通用的解决方案?
|
缓存 NoSQL 算法
高并发系统三大利器之缓存
高并发系统三大利器之缓存
276 0
高并发系统三大利器之缓存
|
存储 缓存 监控
【高并发】在高并发环境下该如何构建应用级缓存?
随着我们的系统负载越来越高,系统的性能就会有所下降,此时,我们可以很自然地想到使用缓存来解决数据读写性能低下的问题。但是,立志成为资深架构师的你,是否能够在高并发环境下合理并且高效的构建应用级缓存呢?
239 0
【高并发】在高并发环境下该如何构建应用级缓存?