我要评分
获取效率
正确性
完整性
易理解

Parameter Package

Table 1 describes the parameters.

Table 1 Parameters

Parameter

Description

Input/Output

Type

Value Range

Default Value

detect_points

Number of source data points to be detected

Input

int

[1, +∞)

120

valid_factor_default

Default parameter for controlling model sensitivity

Input

float

(0.0, +∞)

1.0

detection_window

Size of the sliding window for detection

Input

int

[1, +∞)

5

slide_window

Step of the sliding window

Input

int

[2, total number of drives to be detected]

5

train_model_min

Minimum radius of the DBSCAN algorithm

Input

float

(0.0, +∞)

0.3

log_file

Log file path.

Input

String

-

/var/log/smartmaintainkit.log

The slow drive detection effect is mainly determined by two indicators.

  1. Width and step of the sliding window: All source data is divided into sliding windows, and the value of each sliding window is packed into a test point.
    1. detection_window specifies the width of the sliding window.
    2. slide_window specifies the sliding step of the window.

      Example:

      The default parameters are used for invoking the detection interface as follows. However, the latency of drives in the dataset is low, and slow drives cannot be detected.
      slow_detect(r'slow_test.data', r'result.data')

      Solution: Adjust the width of the sliding window through detection_window and narrow the step of the sliding window through slide_window to collect latency data in a more delicate fashion.

      param = {'detection_window': 4, 'slide_window': 2} 
      slow_detect(r'slow_test.data', r'result.data', param)
  2. Slow drive detection precision: This metric is determined by the radius of the DBSCAN algorithm, and the radius is determined by valid_factor_default and train_model_min.
    1. valid_factor_default is a factor that is calculated with the value of each detection point to obtain the radius of the DBSCAN algorithm. A larger value of valid_factor_default indicates a larger radius of the DBSCAN algorithm and a lower precision of slow drive detection.
    2. The radius of the DBSCAN algorithm must be greater than 0. Therefore, a minimum value is set to control the radius of the DBSCAN algorithm calculated based on valid_factor_default. If "WARNING: Model is too low, set model with train_model_min" is displayed in the log, the radius calculated using valid_factor_default is less than the value of train_model_min. In this case, the value of train_model_min is used as the radius of the DBSCAN algorithm.

      Example:

      Slow drives cannot be detected when default parameters are used due to narrow latency differences between slow drives and normal latency.
      slow_detect(r'slow_test.data', r'result.data')

      Solution: Reduce the value of valid_factor_default.

      param = {'valid_factor_default': 0.5} 
      slow_detect(r'slow_test.data', r'result.data', param)

      If "WARNING: Model is too low, set model with train_model_min" is displayed in the log, the minimum radius specified by train_model_min is reached. In this case, decrease the value of train_model_min to improve detection precision.

      param = {'valid_factor_default': 0.5, 'slide_window': 0.1} 
      slow_detect(r'slow_test.data', r'result.data', param)