某O2O系统容量分析


这是以前工作中整理的文档,隐去部分内容后发布在这里,供参考。


使用时长和每次使用访问的接口数量

一、 用户平均使用时长为:121.23秒 根据友盟数据统计(友盟数据从略):
二、 根据日志统计(日志统计查询SQL从略,将统计结果放入excel进行分析):

  1. 平均每用户访问接口 58.73
  2. 思考时间 2.06
  3. 平均每接口使用带宽 17.76 kbps(不包括图片)
  4. 平均每用户使用带宽 8.61 kbps(不包括图片)
    某O2O系统容量分析_第1张图片
    image.png

压力数据(使用jmeter进行压力测试)

  1. 并发量增加,响应时间变长


    某O2O系统容量分析_第2张图片
    并发量增加,响应时间变长

    某O2O系统容量分析_第3张图片
    并发量增加,响应时间变长
  2. 服务器情况:
    IIS服务器在12:06时CPU到90%, 然后就不再上升,而在12:06时的并发线程数为:50左右。如下图


    某O2O系统容量分析_第4张图片
    压力下的iis服务器cpu

    某O2O系统容量分析_第5张图片
    jmeter并发线程数
  3. mysql从库由于为拼车爬虫提供服务,导致一直有一定负载。


    某O2O系统容量分析_第6张图片
    image.png

帕累托原理(80-20法则)的显现

在 计算机科学 帕累托原理可以应用于 优化 工作. 微软 指出,通过修复报告最多的错误的前20%,给定系统中80%的相关错误和崩溃将被消除。 Lowell Arthur 20%的代码有80%的错误,找到它们,修复它们!
在 负载测试中, 通常的做法是估计80%的流量将在总时间段的特定20%内发生。
-- 《维基百科-帕累托法则》条目

根据近XX小时的数据统计,共有260个接口,调用了约127万次,其中5%的接口贡献了80%的调用,如下图:


某O2O系统容量分析_第7张图片
image.png

这5%(13个)接口是:

某O2O系统容量分析_第8张图片
5%的接口贡献了80%的调用

访问时间段(92%的访问发生在白天的17小时)

某O2O系统容量分析_第9张图片
访问时间段(92%的访问发生在白天的17小时)

实际并发量统计(根据12月XX日至1月XX日数据,平均每小时有996个用户)

  • 最高并发量为28次/秒
  • 平均并发量为0.73次/秒
  • 大于20次/秒发生18次,占比万分之3.5
  • 70%的时间没有任何访问
  • 84%的时间每秒少于一次
  • 99.82%的时间每少于10次
  • 99.999%的时间每秒少于20次

因此可得100万PV时**

  • 系统最高并发量应为28,000次/秒
  • 并发量超过1000次/秒才可应付84%的时间
  • 并发量超过10000次/秒可应付99.82%的时间


    某O2O系统容量分析_第10张图片
    容量推算

你可能感兴趣的:(某O2O系统容量分析)