zoukankan      html  css  js  c++  java
  • 预估高并发下API服务器数量

    我的主要工作就是API的编写,应该关注API的响应时间,以及并发时候的响应。那么如何测试API响应时间,以及预计高并发服务器压力呢?

    从访问日志开始查起。

    1 首先统计API每日访问总数。举例假设某个API今天的访问量为a。

       API一般有访问日志,统计访问日志。linux下 用到类似grep   wc管道命令统计。

      例如 :统计访问日志中服务http://mixservice/shop服务调用次数

       命令如下

    grep http:// mixservice/shop 20140925.log |wc -l
    

      得到访问次数为a。

    2 计算并发数。

      这个怎么计算呢?预估一下。这里我们有这么一个原则:80%流量集中在20%时间。也就是说,我们假设80%的访问集中在一天24小时的20%时间段中。

      计算并发   m = a*0.8/(24*0.2*3600)  得到每秒的大概并发数m。

    3 假设约定 API 响应所能忍受最长时间为b ms,测试出响应时间为b ms时的并发数(此处 b  为要求的api响应时间)

     linux下用ab性能测试,如下(这个自己慢慢试出来)

    ab -c 100 -n 10000 http://mixservice/shop/template?shop_id=15141
    

      -c为并发数  ,-n尽量设置大一些。

    得到响应时间为b ms时临界的 并发数 c。

    4 假设5倍压力下,应该要多少台服务器。

    5m /c (假设c是由一台服务器所能处理的并发)

    如果我们目前已经有n 台服务器,那么实际上每台能处理的并发为c/n

    那么5倍的压力下,需要多少台服务器呢?     5m /(c/n)

  • 相关阅读:
    Saltstack module gem 详解
    Saltstack module freezer 详解
    Saltstack module firewalld 详解
    Saltstack module file 详解
    Saltstack module event 详解
    Saltstack module etcd 详解
    Saltstack module environ 详解
    Saltstack module drbd 详解
    Saltstack module dnsutil 详解
    获取主页_剥离百度
  • 原文地址:https://www.cnblogs.com/taijun/p/3992602.html
Copyright © 2011-2022 走看看