测试的过程中,难免需要会遇到一些性能瓶颈,那么就要求我们能够分析出性能瓶颈,并给出解决方案。
性能瓶颈很抽象,我们可以通过数据使其具象。
以我工作内容为例,服务器处理数据的能力是有限的,那么其处理的边界值是多少呢?
根据给出的指标,我们需要分析这些指标对处理时间的影响程度(相关性)。
偷懒直接使用python完成
源代码如下:
# -*- coding: utf-8 -*- """ Created on Tue Jul 24 14:47:41 2018@author: jfjiang3 """ #相关性分析 计算相关系数 import pandas as pdsrc = 'src.xls' #原数据 data = pd.read_excel(src, index_col = u'序号') #读取数据,指定“序号”列为索引列print("相关系数矩阵,即给出了任意两列之间的相关系数:") print(data.corr()) #相关系数矩阵,即给出了任意两列之间的相关系数 print("显示“平均下载时间”与其他因素的相关系数:") print(data.corr()[u'平均下载时间']) #只显示“平均下载时间”与其他因素的相关系数
结果如下:
相关系数矩阵,即给出了任意两列之间的相关系数:报名人数 直播参课人数 直播满勤人数 直播缺勤人数 观看人数 平均下载时间
报名人数 1.000000 -0.242072 -0.384117 0.966091 0.602773 0.463708
直播参课人数 -0.242072 1.000000 0.986240 -0.484384 0.569690 0.564154
直播满勤人数 -0.384117 0.986240 1.000000 -0.608801 0.431492 0.453250
直播缺勤人数 0.966091 -0.484384 -0.608801 1.000000 0.391901 0.267983
观看人数 0.602773 0.569690 0.431492 0.391901 1.000000 0.795470
平均下载时间 0.463708 0.564154 0.453250 0.267983 0.795470 1.000000
显示“平均下载时间”与其他因素的相关系数:
报名人数 0.463708
直播参课人数 0.564154
直播满勤人数 0.453250
直播缺勤人数 0.267983
观看人数 0.795470
平均下载时间 1.000000
Name: 平均下载时间, dtype: float64
结果:
1、我们推测业务处理的复杂度关系是:观看人数>直播参课人数>报名人数
2、可以从观看人数、直播参课人数、报名人数对参与率表生成业务进行优化,可以优先考虑观看人数指标。
3、根据实际使用情况,当报名人数为700-800时,当前现网处理能力已接近瓶颈。