性能测试中的并发量概念

来源:互联网 发布:java基础项目实战 编辑:程序博客网 时间:2024/06/11 00:10

A朋友:公司官网改版,我要对其压测,从10000并发开始合适吗?

我:从500开始吧

A朋友:他说,这么少。。。。



相信很多人(我也如此)对并发量其实没太多概念,总觉得不上个几万,几十万的并发根本算不上压测。实际是怎样的呢?


阿里双11刚落幕不久,作为一个技术人,除了感叹阿里3分钟破百亿的交易额外,我们来看看这组信息。


双十一,交易峰值32.5万笔/秒,支付峰值25.6万笔/秒。数据库处理峰值4200万/秒。背后是上万台机器。(24核,64G)

好,我们来粗略计算一下:


交易峰值  32.5万笔/秒,按1万台机器算,平均一台机器支撑32.5用户请求

支付峰值25.6万笔/秒,按1万台机器算,平均一台机器支撑25.6用户请求

数据库处理峰值4200万/秒,按1万台机器算,一台机器4200请求(不清楚数据库处理是否都指请求,我们姑且按最大量计算)


一台24核,64G的服务器,也不过才最大支撑4200个请求。


假设我们的测试服务器配置未4核8G内存,效率1/6,每秒请求700请求/S

这样看来,你好意思要求你的服务器并发能达到上万级别吗???


那测试一个系统的并发,我们从什么量级开始测试合适,或者说,这个系统达到了多少并发,算是合格了呢?


看到一位牛人的博客,分享给大家:

(原文地址:http://www.litrin.net/2013/03/27/web%E7%BD%91%E7%AB%99%E7%9A%84%E5%87%A0%E4%B8%AA%E5%B9%B6%E5%8F%91%E9%87%8F%E7%BA%A7/)


评价一个网站的“大小”,处于视角的不同,有很多种衡量的方法,类似文章数,页面数之类的数据非常明显,也没有什么可以争议的。但对于并发来说,争议非常之多,这里就从一个技术的角度开始,谈谈几个Web网站的数量级。

相信很多人谈论一个网站的热度,总免不了会询问日均PV,同时在线人数、注册用户数等运营数据,说实话从技术角度来说,这几个数值没有一个可以放在一起比较的——一个静态网站的PV跟一个SNS类/Web Game网站的PV根本就不是一回事。由于互联网有一个传说中的“3秒定律”,可能当下更多的网站技术指标要求1.5秒以内加载整页,或者至少可以达到阅读的标准。如果要较真什么“同时在线”,毫不客气的说,对于HTTP这类短链接的网络协议来说,在WebSocket还不普及的时代,能统计在线纯属扯淡,唯一能做的只是取个时间段,计算下访问用户而已。这些依然可以换算成QPS(Quest Per Second每秒请求数)。就并发而言,我唯一推崇的只有理论最大QPS和悲观QPS。

这里就大致根据理论最大QPS,并保持尽可能不用技术术语的原则,给网站做几个分类。

50QPS以下——小网站

没什么好说的,简单的小网站而已,就如同本站这样,你可以用最简单的方法快速搭建,短期没有太多的技术瓶颈,只要服务器不要太烂就好。

50~100QPS——DB极限型

大部分的关系型数据库的每次请求大多都能控制在0.01秒左右,即便你的网站每页面只有一次数据库请求,那么页面请求无法保证在1秒钟内完成100个请求,这个阶段要考虑做缓存(cache)或者多数据库(DB)负载。无论那种方案,对网站重构是不可避免的。

300~800QPS——带宽极限型

目前服务器大多用了IDC机房提供了“百兆带宽”,“百兆出口”,似乎这就是单机的最高配了。这意味着网站出口的实际带宽是8M Byte左右。假定每个页面只有10K Byte,在这个并发条件下,即便你的网站是静态页面,不用什么数据库之类的技术,百兆带宽早已经吃完。这个情况下首要考虑是CDN加速/异地缓存,多机负载等技术。

500~1000QPS——内网带宽极限+Memcache极限型

由于Key/value的特性,每个页面对memcache的请求远大于直接对DB的请求,Memcache的悲观并发数在2w左右,看似很高,但事实上大多数情况下,首先是有可能在此之前内网的带宽就已经吃光,接着是在8K QPS左右的情况下,但节点上的Memcache已经表现出了不稳定,如果代码上没有足够的优化,缓存的miss可能会导致系统直接将压力转嫁到了DB层上,这就使整个系统在达到某个明显的阀值之后,性能迅速下滑或直接宕机。

1000~2000QPS——锁/同步模式极限型

好吧,一句话:线程模型决定吞吐量。不管你系统中最常见的锁是什么锁,这个级别下,文件系统访问锁都成为了灾难。从网站内容的角度上讲,几乎任何的增删改都会牵扯到锁。“等解锁”的过程将会成为系统最重要的性能消耗。这就要求系统中不能存在中央节点,所有的数据都必须分布存储,数据需要分布处理。总之,关键词:分布

2000QPS以上——C10K极限

尽管现在很多应用已经实现了C25K,但短板理论告诉我们,决定网站整体并发的永远是最低效的那个环节。我承认我生涯中从未遇到过2000QPS以上,甚至1.5K以上的网站,希望有此经验的哥们可以一起交流下



阅读全文
0 0
原创粉丝点击