mirror of
https://github.com/jxxghp/MoviePilot.git
synced 2026-09-08 08:57:09 +08:00
fix db pool size
This commit is contained in:
+15
-11
@@ -37,6 +37,10 @@ class SystemConfModel(BaseModel):
|
|||||||
scheduler: int = 0
|
scheduler: int = 0
|
||||||
# 线程池大小
|
# 线程池大小
|
||||||
threadpool: int = 0
|
threadpool: int = 0
|
||||||
|
# 数据库连接池大小
|
||||||
|
dbpool: int = 0
|
||||||
|
# 数据库连接池溢出数量
|
||||||
|
dbpooloverflow: int = 0
|
||||||
|
|
||||||
|
|
||||||
class ConfigModel(BaseModel):
|
class ConfigModel(BaseModel):
|
||||||
@@ -83,14 +87,10 @@ class ConfigModel(BaseModel):
|
|||||||
DB_POOL_TYPE: str = "QueuePool"
|
DB_POOL_TYPE: str = "QueuePool"
|
||||||
# 是否在获取连接时进行预先 ping 操作,默认关闭
|
# 是否在获取连接时进行预先 ping 操作,默认关闭
|
||||||
DB_POOL_PRE_PING: bool = False
|
DB_POOL_PRE_PING: bool = False
|
||||||
# 数据库连接池的大小,默认 100
|
# 数据库连接的回收时间(秒)
|
||||||
DB_POOL_SIZE: int = 100
|
DB_POOL_RECYCLE: int = 300
|
||||||
# 数据库连接的回收时间(秒),默认 1800 秒
|
# 数据库连接池获取连接的超时时间(秒)
|
||||||
DB_POOL_RECYCLE: int = 1800
|
DB_POOL_TIMEOUT: int = 30
|
||||||
# 数据库连接池获取连接的超时时间(秒),默认 60 秒
|
|
||||||
DB_POOL_TIMEOUT: int = 60
|
|
||||||
# 数据库连接池最大溢出连接数,默认 500
|
|
||||||
DB_MAX_OVERFLOW: int = 500
|
|
||||||
# SQLite 的 busy_timeout 参数,默认为 60 秒
|
# SQLite 的 busy_timeout 参数,默认为 60 秒
|
||||||
DB_TIMEOUT: int = 60
|
DB_TIMEOUT: int = 60
|
||||||
# SQLite 是否启用 WAL 模式,默认开启
|
# SQLite 是否启用 WAL 模式,默认开启
|
||||||
@@ -277,7 +277,7 @@ class ConfigModel(BaseModel):
|
|||||||
# 是否启用内存监控
|
# 是否启用内存监控
|
||||||
MEMORY_ANALYSIS: bool = False
|
MEMORY_ANALYSIS: bool = False
|
||||||
# 内存快照间隔(分钟)
|
# 内存快照间隔(分钟)
|
||||||
MEMORY_SNAPSHOT_INTERVAL: int = 60
|
MEMORY_SNAPSHOT_INTERVAL: int = 30
|
||||||
# 保留的内存快照文件数量
|
# 保留的内存快照文件数量
|
||||||
MEMORY_SNAPSHOT_KEEP_COUNT: int = 20
|
MEMORY_SNAPSHOT_KEEP_COUNT: int = 20
|
||||||
# 全局图片缓存,将媒体图片缓存到本地
|
# 全局图片缓存,将媒体图片缓存到本地
|
||||||
@@ -563,7 +563,9 @@ class Settings(BaseSettings, ConfigModel, LogConfigModel):
|
|||||||
fanart=512,
|
fanart=512,
|
||||||
meta=(self.META_CACHE_EXPIRE or 24) * 3600,
|
meta=(self.META_CACHE_EXPIRE or 24) * 3600,
|
||||||
scheduler=100,
|
scheduler=100,
|
||||||
threadpool=100
|
threadpool=100,
|
||||||
|
dbpool=100,
|
||||||
|
dbpooloverflow=50
|
||||||
)
|
)
|
||||||
return SystemConfModel(
|
return SystemConfModel(
|
||||||
torrents=100,
|
torrents=100,
|
||||||
@@ -574,7 +576,9 @@ class Settings(BaseSettings, ConfigModel, LogConfigModel):
|
|||||||
fanart=128,
|
fanart=128,
|
||||||
meta=(self.META_CACHE_EXPIRE or 2) * 3600,
|
meta=(self.META_CACHE_EXPIRE or 2) * 3600,
|
||||||
scheduler=50,
|
scheduler=50,
|
||||||
threadpool=50
|
threadpool=50,
|
||||||
|
dbpool=50,
|
||||||
|
dbpooloverflow=20
|
||||||
)
|
)
|
||||||
|
|
||||||
@property
|
@property
|
||||||
|
|||||||
+2
-2
@@ -24,9 +24,9 @@ db_kwargs = {
|
|||||||
# 当使用 QueuePool 时,添加 QueuePool 特有的参数
|
# 当使用 QueuePool 时,添加 QueuePool 特有的参数
|
||||||
if pool_class == QueuePool:
|
if pool_class == QueuePool:
|
||||||
db_kwargs.update({
|
db_kwargs.update({
|
||||||
"pool_size": settings.DB_POOL_SIZE,
|
"pool_size": settings.CONF.dbpool,
|
||||||
"pool_timeout": settings.DB_POOL_TIMEOUT,
|
"pool_timeout": settings.DB_POOL_TIMEOUT,
|
||||||
"max_overflow": settings.DB_MAX_OVERFLOW
|
"max_overflow": settings.CONF.dbpooloverflow
|
||||||
})
|
})
|
||||||
# 创建数据库引擎
|
# 创建数据库引擎
|
||||||
Engine = create_engine(**db_kwargs)
|
Engine = create_engine(**db_kwargs)
|
||||||
|
|||||||
+1
-7
@@ -9,15 +9,9 @@ SUPERUSER=admin
|
|||||||
DEV=false
|
DEV=false
|
||||||
# 为指定字幕添加.default后缀设置为默认字幕,支持为'zh-cn','zh-tw','eng'添加默认字幕,未定义或设置为None则不添加
|
# 为指定字幕添加.default后缀设置为默认字幕,支持为'zh-cn','zh-tw','eng'添加默认字幕,未定义或设置为None则不添加
|
||||||
DEFAULT_SUB=zh-cn
|
DEFAULT_SUB=zh-cn
|
||||||
# 数据库连接池的大小,可适当降低如20-50以减少I/O压力
|
|
||||||
DB_POOL_SIZE=100
|
|
||||||
# 数据库连接池最大溢出连接数,可适当降低如0以减少I/O压力
|
|
||||||
DB_MAX_OVERFLOW=500
|
|
||||||
# SQLite 的 busy_timeout 参数,可适当增加如180以减少锁定错误
|
|
||||||
DB_TIMEOUT=60
|
|
||||||
# 是否启用内存监控,开启后将定期生成内存快照文件
|
# 是否启用内存监控,开启后将定期生成内存快照文件
|
||||||
MEMORY_ANALYSIS=false
|
MEMORY_ANALYSIS=false
|
||||||
# 内存快照间隔(分钟)
|
# 内存快照间隔(分钟)
|
||||||
MEMORY_SNAPSHOT_INTERVAL=60
|
MEMORY_SNAPSHOT_INTERVAL=30
|
||||||
# 保留的内存快照文件数量
|
# 保留的内存快照文件数量
|
||||||
MEMORY_SNAPSHOT_KEEP_COUNT=20
|
MEMORY_SNAPSHOT_KEEP_COUNT=20
|
||||||
Reference in New Issue
Block a user