測試的過程中,難免需要會遇到一些性能瓶頸,那么就要求我們能夠分析出性能瓶頸,并給出解決方案。
性能瓶頸很抽象,我們可以通過數據使其具象。
以我工作內容為例,服務器處理數據的能力是有限的,那么其處理的邊界值是多少呢?
根據給出的指標,我們需要分析這些指標對處理時間的影響程度(相關性)。
偷懶直接使用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時,當前現網處理能力已接近瓶頸。