summaryrefslogtreecommitdiff
path: root/src/support
diff options
context:
space:
mode:
authorlijia <[email protected]>2021-09-02 13:44:21 +0800
committerlijia <[email protected]>2021-09-02 13:44:21 +0800
commit75efb051ed33b76b0cebf2b0e5752c0a1488e5a0 (patch)
treefa138557437d7db09519580cc9eb1c67212f1e39 /src/support
parent6ac3191e7834424facf1e1ae12669e34caa5538d (diff)
修改under ddos最低limit值.
Diffstat (limited to 'src/support')
-rw-r--r--src/support/cpu_limit/cpu_limit.c7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/support/cpu_limit/cpu_limit.c b/src/support/cpu_limit/cpu_limit.c
index 5c8def6..e4ddc83 100644
--- a/src/support/cpu_limit/cpu_limit.c
+++ b/src/support/cpu_limit/cpu_limit.c
@@ -38,7 +38,7 @@ typedef enum{
CL_STATE_TO_BE_DESTORY = 2, //2:准备释放所有资源
}cl_running_state_t;
-static const double g_cpul_limit_min = 100.00; /* 测试时设了一个极低的res阈值, 无论怎么减, res都降不下来, 一直降到0为止, 导致无法恢复!! 先内置一个最低值 */
+static const double g_cpul_limit_min = 1.00; /* 测试时设了一个极低的res阈值, 无论怎么减factor, res都降不下来, 一直降到0为止, 导致无法恢复!! 先内置一个最低值 */
static const double g_cpul_recovery_bypass_percent = 0.05; /* 在观察期内, bypass占比总数小于此值时, 认为可恢复常态 */
struct __cpul_mthread_stat{
@@ -157,8 +157,9 @@ static void cl_get_factor(cpu_limit_inner_t *h)
static inline void cl_update_limit_factor(cpu_limit_inner_t *h, cpul_mthread_stat_t *this_stat, double differ)
{
if(this_stat->last_adjust_factor_time < h->current_time){
- if(this_stat->actual_limit_factor_value > g_cpul_limit_min){
- this_stat->actual_limit_factor_value = this_stat->actual_limit_factor_value * differ;
+ this_stat->actual_limit_factor_value = this_stat->actual_limit_factor_value * differ;
+ if(this_stat->actual_limit_factor_value < g_cpul_limit_min){
+ this_stat->actual_limit_factor_value = g_cpul_limit_min;
}
//this_stat->actual_limit_factor_value = this_stat->actual_limit_factor_value + 1;//加法增大
this_stat->last_adjust_factor_time = h->current_time;