精华内容
下载资源
问答
  • 面试官:知道你的接口QPS是多少么?

    千次阅读 2019-10-26 09:30:00
    戳蓝字“CSDN云计算”关注我们哦!作者 |孤独烟责编 | 阿秃引言大家好,我渣渣烟。我又来水文章了。这篇文章我个人感觉含金量不是太大,大概5分钟左右就能看完!其实...
        
    戳蓝字“CSDN云计算”关注我们哦!
    640?wx_fmt=jpeg
    作者 |  孤独烟
    责编 | 阿秃

    引言
    大家好,我是渣渣烟。
    我又来水文章了。这篇文章我个人感觉含金量不是太大,大概5分钟左右就能看完!其实大家都知道,我不爱写这种操作型的文章,一顿截图写几个命令就搞定了,含金量不高。
    然而,近期有一段聊天记录如下:
    640?wx_fmt=jpeg
    看到这里,不要吃惊,不要惊讶!
    那个很猥琐的,没有打码的头像,正是渣渣烟本人(此处应有反驳的声音,那个头像哪里猥琐了,分明帅气逼人好么)!
    所以,牛皮都吹出去了。写个文章,自己给自己圆上!

    正文

    QPS是什么

    我们先回忆一下,QPS的概念如下所示:
    QPS(Query Per Second):每秒请求数,就是说服务器在一秒的时间内处理了多少个请求。
    那我们怎么估出每秒钟能处理多少请求呢?
    OK,用日志来估计!那日志怎么记录呢,细分下来,有两种方式。
    方式一:自己在接口里记录
    @RestController  	
    @RequestMapping("/home")  	
    public class IndexController {	
        //省略	
        @RequestMapping("/index")  	
        String index() {  	
            logger.info("渣渣烟");	
            return "index";  	
        }  	
    }
    假设现在我要统计index这个接口的QPS!
    OK,什么叫能体现该接口特性的字符串呢!就像上面的"渣渣烟"这个字符串,只在index这个接口里出现过,没在其他其他接口里出现过!因此,只要统计出"渣渣烟"这个字符串在日志里的出现次数,就能知道该接口的请求次数!

    什么叫具有唯一性的字符串呢!所谓唯一性,指的是"渣渣烟"这个字符串,在这个接口的一次调用流程中,只出现一次!如果出现两次,就会导致到时候统计出来的次数会多一倍,所以尽量选择具有唯一性的字段!

    方式二:利用tomcat的access log
    此时,你访问一次/home/index地址,会有下面这样日志
    那么,你就可以根据日志中,该记录的出现次数,统计index接口的QPS。

    实战

    假设,你这会日志已经拿到手了,名字为xxx.log。
    假设日志内容如下
    这个时候,你执行一串命令长下面这样的,进行统计就行!
    出来等结果就是:
    然后你就知道,原来在20:40:44 分。这个接口的QPS最高,达到了惊人的2QPS!
    现在,来讲一下命令什么意思!
    cat xxx.log:读文件内容	
    grep 'GET /mvc2':将文件内容按照GET /mvc2进行过滤	
    cut -d ' ' -f4:过滤出来的内容按照空格进行分割,取第四列内容	
    uniq -c:每列旁边显示该行重复出现的次数	
    sort -n -r:依照数值的大小排序
    那么,如果是其他日志格式,无外乎cut语句的处理不同而已,道理类似!此法可以估算出单机的某接口的QPS是多少!

    估算

    我们现在估计出了单机的QPS。接下来,估算集群的QPS。
    这就要根据负载均衡的策略来估计!
    比如,你部署了32台机器,负载均衡的策略恰巧为轮询,那集群的QPS就是单机的QPS乘32就好了。
    所以,根据具体的策略,来估计整个集群的QPS多大!
    然后接下来就是:
    640?wx_fmt=png

    多嘴一句,一般2000QPS够了!

    640?wx_fmt=png

    640?wx_fmt=png

    福利
    扫描添加小编微信,备注“姓名+公司职位”,入驻【CSDN博客】,加入【云计算学习交流群】,和志同道合的朋友们共同打卡学习!

    640?wx_fmt=jpeg

    推荐阅读:




    真香,朕在看了!
    展开全文
  • 如题。 我没做过具体测试,不知道有没有人能够估算出来。 nginx处理静态页面,假设每秒能处理2万个静态请求。
  • 单机Qps上限是多少

    2019-12-16 11:33:12
    单机Qps上限是多少? 高并发,多个行为(至于是多少,这个没有定数,你可以认为是100,1000)一起发生 单机Qps上限是多少? 二、要多久才能处理完这些请求 首先,我们需要明确两个基本点 1、处理每个请求需要耗费时间...

    现在这个年代,你要是不懂高并发,你都不好意思说自己是搞互联网的!

    一、什么是并发,什么是高并发

    并发,两个及以上的行为一起发生,比如你一边吃饭一边看电视

    单机Qps上限是多少?

    高并发,多个行为(至于是多少,这个没有定数,你可以认为是100,1000)一起发生

    单机Qps上限是多少?

    二、要多久才能处理完这些请求

    首先,我们需要明确两个基本点

    1、处理每个请求需要耗费时间,哪怕时间很短

    2、服务资源是有限的,不能一次性处理全部请求

    我们可以假定总并发请求数量为10000,每个请求的处理时间为t秒,服务器一次性可以处理的请求数量为n个,那么处理完所有的请求需要用时为T

    T = (10000 / n ) * t

    由此可知,如果一次性可以处理10000个请求,那么总耗时只需要t秒

                                如果一次性可以处理1000个请求,那么总耗时需要10t秒
    
                                。。。
    

    三、什么是QPS

    一秒内可以处理的请求数量称之为服务器的QPS。

    上面我们计算了10000个请求的耗时,那么反过来计算每秒处理多少请求则

    QPS = (1 / t ) * n

    如果一次性可以处理100个请求,每个请求耗时100毫秒,则qps = 1000

    如果一次性可以处理50个请求,每个请求耗时200毫秒,则qps = 250

    所以QPS与单个请求处理时间以及服务器一次性可以处理多少请求是成比例关系的。

    四、如何提高QPS

    理论上很简单,最大化提高服务器一次性可以处理的请求数量,最大化提高单个请求的执行速度。

    五、单机QPS的上限是多少呢?

    说到单机,你必须明确指出硬性指标,CPU、内存、硬盘、带宽等

    假定 CPU为4核、内存8G、硬盘7200转、带宽10M

    展开全文
  • QPS是什么 我们先回忆一下,QPS的概念如下所示: QPS(Query Per Second):每秒请求数,就是说服务器在一秒的时间内处理了多少个请求。 那我们怎么估出每秒钟能处理多少请求呢? OK,用日志来估计!那日志怎么记录呢...

    QPS是什么

    我们先回忆一下,QPS的概念如下所示:

    QPS(Query Per Second):每秒请求数,就是说服务器在一秒的时间内处理了多少个请求。

    那我们怎么估出每秒钟能处理多少请求呢?

    OK,用日志来估计!那日志怎么记录呢,细分下来,有两种方式。

    方式一:自己在接口里记录

    这种方式指的是在你的接口里,日志记录了能体现该接口特性的,并具有唯一性的字符串!

    例如,下面这一段代码

    @RestController 
    @RequestMapping("/home") 
    public class IndexController {
     //省略
     @RequestMapping("/index") 
     String index() { 
     logger.info("渣渣烟");
     return "index"; 
     } 
    } 
    

    假设现在我要统计index这个接口的QPS!

    OK,什么叫能体现该接口特性的字符串呢!就像上面的"渣渣烟"这个字符串,只在index这个接口里出现过,没在其他其他接口里出现过!因此,只要统计出"渣渣烟"这个字符串在日志里的出现次数,就能知道该接口的请求次数!

    什么叫具有唯一性的字符串呢!所谓唯一性,指的是"渣渣烟"这个字符串,在这个接口的一次调用流程中,只出现一次!如果出现两次,就会导致到时候统计出来的次数会多一倍,所以尽量选择具有唯一性的字段!

    方式二:利用tomcat的access log

    如果你的日志里没有我上面提到的字段。OK,那就用tomcat自带的access log功能吧!

    因为我平时内置的tomcat比较多,指定下面两个属性即可

    server.tomcat.accesslog.directory
    设定log的目录,默认: logs
    server.tomcat.accesslog.enabled
    是否开启access log,默认: false
    

    此时,你访问一次/home/index地址,会有下面这样日志

    127.0.0.1 - - [19/Aug/2019:23:55:27 +0800] “POST /home/index HTTP/1.1” 200 138
    那么,你就可以根据日志中,该记录的出现次数,统计index接口的QPS。

    实战

    假设,你这会日志已经拿到手了,名字为xxx.log。

    假设日志内容如下

    //省略,都长差不多,贴其中一条就行
    0:0:0:0:0:0:0:1 - - [27/Dec/2018:20:41:57 +0800] "GET /mvc2/upload.do HTTP/1.1" 404 949 http-bio-8080-exec-5 43
    //省略
    

    这个时候,你执行一串命令长下面这样的,进行统计就行!

    cat xx.log |grep 'GET /mvc2'|cut -d ' ' -f4|uniq -c|sort -n -r 
    

    出来等结果就是

    20 [27/Dec/2018:20:40:44
    11 [27/Dec/2018:20:47:58
    10 [27/Dec/2018:20:47:42
    1 [27/Dec/2018:20:41:57

    然后你就知道,原来在20:40:44 分。。这个接口的QPS最高,达到了惊人的20QPS!

    现在,来讲一下命令什么意思!

    cat xxx.log : 读文件内容

    grep ‘GET /mvc2’ : 将文件内容按照GET /mvc2 进行过滤

    cut -d ’ ’ -f4 : 过滤出来的内容按照空格进行分割,取第四列内容

    uniq -c : 每列旁边显示该行重复出现的次数

    sort -n -r : 依照数值的大小排序

    那么,如果是其他日志格式,无外乎 ”cut语句“的处理不同而已,道理类似!此法可以估算出单机的某接口的 “QPS” 是多少!

    估算

    我们现在估计出了单机的QPS。接下来,估算集群的QPS。

    这就要根据负载均衡的策略来估计!

    比如,你部署了32台机器,负载均衡的策略恰巧为轮询,那集群的QPS就是单机的QPS乘32就好了。

    所以,根据具体的策略,来估计整个集群的QPS多大!一般有2000qps已经是很高的了。

    展开全文
  • QPS(Queries-per-second)即每秒查询率,对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准;在因特网上,作为域名系统服务器的机器的性能经常用每秒查询率来衡量。相关推荐:《编程视频》QPSQPS即每秒...

    QPS(Queries-per-second)即每秒查询率,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准;在因特网上,作为域名系统服务器的机器的性能经常用每秒查询率来衡量。

    36f7ca3dda37990cd78684f9fa79e248.png

    相关推荐:《编程视频》

    QPS

    QPS即每秒查询率,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。

    每秒查询率

    因特网上,经常用每秒查询率来衡量域名系统服务器的机器的性能,即为QPS。

    对应fetches/sec,即每秒的响应请求数,也即是最大吞吐能力。

    计算关系:QPS = 并发量 / 平均响应时间

    并发量 = QPS * 平均响应时间

    原理:每天80%的访问集中在20%的时间里,这20%时间叫做峰值时间。

    公式:( 总PV数 * 80% ) / ( 每天秒数 * 20% ) = 峰值时间每秒请求数(QPS) 。

    机器:峰值时间每秒QPS / 单台机器的QPS = 需要的机器 。

    95bebeb922bb691cff18d85498eca048.png

    案例分析:

    每天300w PV 的在单台机器上,这台机器需要多少QPS?

    ( 3000000 * 0.8 ) / (86400 * 0.2 ) = 139 (QPS)。

    一般需要达到139QPS,因为是峰值。

    问:如果一台机器的QPS是58,需要几台机器来支持?

    答:139 / 58 = 3

    想要查阅更多相关文章,请访问PHP中文网!!

    展开全文
  • QPS是什么 我们先回忆一下,QPS的概念如下所示: QPS(Query Per Second):每秒请求数,就是说服务器在一秒的时间内处理了多少个请求。 那我们怎么估出每秒钟能处理多少请求呢? OK,用日志来估计!那日志怎么记录呢...
  • QPS计算需多少台服务器

    千次阅读 2019-05-08 17:29:59
    每秒查询率QPS是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准,在因特网上,作为域名系统服务器的机器的性能经常用每秒查询率来衡量。 原理:每天80%的访问集中在20%的时间里,这20%时间叫做峰值...
  • 面试官问你什么是QPS

    千次阅读 2020-05-08 17:28:33
    面试的时候面试官问你们公司的系统每秒qps是多少? QPS 即Queries Per Second的缩写,每秒能处理查询数目。是一台服务器每秒能够相应的查询次数,是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准。 ...
  • QPS

    2020-08-11 17:19:47
    QPS 原理:每天80%的访问集中在20%的时间里,这20%时间叫做峰值时间。 公式:( 总PV数 * 80% ) / ( 每天秒数 * 20% ) = 峰值时间每秒请求数(QPS) 。 机器:峰值时间每秒QPS / 单台机器...每秒查询率QPS是对一个特..
  • qps

    2020-01-14 09:51:47
    在项目初期,一般我们要评估一下用户量,以及...qps(queries-per-second) : 每秒能处理查询数目,一台服务器每秒能够相应的查询次数,对一个特定的查询服务器在规定时间内锁处理流量多少的衡量标准。 tps(transa...
  • 怎么根据QPS计算需多少台服务器

    千次阅读 2020-06-03 14:28:20
    因特网上,经常用每秒查询率来衡量域名系统服务器的机器的性能,其即为QPS。 对应fetches/sec,即每秒的响应请求数,也即最大吞吐能力。 计算关系: QPS = 并发量 / 平均响应时间 并发量 = QPS * 平均响应时间...
  • 服务器达到多少qps比较好

    千次阅读 2020-04-16 15:09:17
    你好,每秒zd查询率QPS是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准,在因特网上,作为域名系统服务器的机器的性能经常用每秒查询率来衡量。 原理:每天版80%的访问集中在20%的时间里,这20%时间...
  • 什么是QPS

    2014-03-11 11:45:18
    每秒查询率编辑QPS每秒查询率(Query Per Second)每秒查询率QPS是对一个特定的查询服务器在规定时间内所处理流量多少的衡量标准,在因特网上,作为域名系统服务器的机器的性能经常用每秒查询率来衡量。对应fetches/...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 774
精华内容 309
关键字:

qps是多少