90 lines
2.9 KiB
Python
90 lines
2.9 KiB
Python
|
|
# -*- coding: utf-8 -*-
|
|||
|
|
"""
|
|||
|
|
性能优化配置
|
|||
|
|
集中管理所有性能相关的配置参数
|
|||
|
|
"""
|
|||
|
|
|
|||
|
|
class PerformanceConfig:
|
|||
|
|
"""性能配置类"""
|
|||
|
|
|
|||
|
|
# 数据库连接池配置
|
|||
|
|
DATABASE_POOL_SIZE = 20
|
|||
|
|
DATABASE_MAX_OVERFLOW = 30
|
|||
|
|
DATABASE_POOL_RECYCLE = 1800
|
|||
|
|
DATABASE_POOL_TIMEOUT = 10
|
|||
|
|
|
|||
|
|
# 缓存配置
|
|||
|
|
CACHE_DEFAULT_TTL = 60 # 默认缓存时间(秒)
|
|||
|
|
CACHE_MAX_MEMORY_SIZE = 2000 # 最大内存缓存条目数
|
|||
|
|
CACHE_CONVERSATION_TTL = 60 # 对话缓存时间
|
|||
|
|
CACHE_WORKORDER_TTL = 30 # 工单缓存时间
|
|||
|
|
CACHE_MONITORING_TTL = 30 # 监控数据缓存时间
|
|||
|
|
|
|||
|
|
# 查询优化配置
|
|||
|
|
QUERY_LIMIT_DEFAULT = 100 # 默认查询限制
|
|||
|
|
QUERY_LIMIT_CONVERSATIONS = 1000 # 对话查询限制
|
|||
|
|
QUERY_LIMIT_WORKORDERS = 100 # 工单查询限制
|
|||
|
|
QUERY_LIMIT_MONITORING = 1000 # 监控查询限制
|
|||
|
|
|
|||
|
|
# 前端缓存配置
|
|||
|
|
FRONTEND_CACHE_TIMEOUT = 30000 # 前端缓存时间(毫秒)
|
|||
|
|
FRONTEND_PARALLEL_LOADING = True # 是否启用并行加载
|
|||
|
|
|
|||
|
|
# API响应优化
|
|||
|
|
API_TIMEOUT = 10 # API超时时间(秒)
|
|||
|
|
API_RETRY_COUNT = 3 # API重试次数
|
|||
|
|
API_BATCH_SIZE = 50 # 批量操作大小
|
|||
|
|
|
|||
|
|
# 系统监控配置
|
|||
|
|
MONITORING_INTERVAL = 60 # 监控间隔(秒)
|
|||
|
|
SLOW_QUERY_THRESHOLD = 1.0 # 慢查询阈值(秒)
|
|||
|
|
PERFORMANCE_LOG_ENABLED = True # 是否启用性能日志
|
|||
|
|
|
|||
|
|
@classmethod
|
|||
|
|
def get_database_config(cls):
|
|||
|
|
"""获取数据库配置"""
|
|||
|
|
return {
|
|||
|
|
'pool_size': cls.DATABASE_POOL_SIZE,
|
|||
|
|
'max_overflow': cls.DATABASE_MAX_OVERFLOW,
|
|||
|
|
'pool_recycle': cls.DATABASE_POOL_RECYCLE,
|
|||
|
|
'pool_timeout': cls.DATABASE_POOL_TIMEOUT
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
@classmethod
|
|||
|
|
def get_cache_config(cls):
|
|||
|
|
"""获取缓存配置"""
|
|||
|
|
return {
|
|||
|
|
'default_ttl': cls.CACHE_DEFAULT_TTL,
|
|||
|
|
'max_memory_size': cls.CACHE_MAX_MEMORY_SIZE,
|
|||
|
|
'conversation_ttl': cls.CACHE_CONVERSATION_TTL,
|
|||
|
|
'workorder_ttl': cls.CACHE_WORKORDER_TTL,
|
|||
|
|
'monitoring_ttl': cls.CACHE_MONITORING_TTL
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
@classmethod
|
|||
|
|
def get_query_config(cls):
|
|||
|
|
"""获取查询配置"""
|
|||
|
|
return {
|
|||
|
|
'default_limit': cls.QUERY_LIMIT_DEFAULT,
|
|||
|
|
'conversations_limit': cls.QUERY_LIMIT_CONVERSATIONS,
|
|||
|
|
'workorders_limit': cls.QUERY_LIMIT_WORKORDERS,
|
|||
|
|
'monitoring_limit': cls.QUERY_LIMIT_MONITORING
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
@classmethod
|
|||
|
|
def get_frontend_config(cls):
|
|||
|
|
"""获取前端配置"""
|
|||
|
|
return {
|
|||
|
|
'cache_timeout': cls.FRONTEND_CACHE_TIMEOUT,
|
|||
|
|
'parallel_loading': cls.FRONTEND_PARALLEL_LOADING
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
@classmethod
|
|||
|
|
def get_api_config(cls):
|
|||
|
|
"""获取API配置"""
|
|||
|
|
return {
|
|||
|
|
'timeout': cls.API_TIMEOUT,
|
|||
|
|
'retry_count': cls.API_RETRY_COUNT,
|
|||
|
|
'batch_size': cls.API_BATCH_SIZE
|
|||
|
|
}
|