perf: improve worker and storage throughput
Some checks failed
CI / verify (push) Has been cancelled

This commit is contained in:
237899745
2026-07-26 00:57:29 +08:00
parent da9b273253
commit de5f451cd1
14 changed files with 611 additions and 101 deletions

View File

@@ -14,6 +14,7 @@ pub struct Config {
pub redis_url: String,
pub worker_task_concurrency: u32,
pub worker_concurrency: u32,
pub image_processing_concurrency: u32,
@@ -62,11 +63,16 @@ impl Config {
let redis_url = env_string("REDIS_URL")
.ok_or_else(|| AppError::new(ErrorCode::InvalidRequest, "缺少环境变量 REDIS_URL"))?;
let worker_concurrency = env_u32("WORKER_CONCURRENCY").unwrap_or_else(|| {
std::thread::available_parallelism()
.map(|v| v.get() as u32)
.unwrap_or(4)
});
let worker_task_concurrency = env_u32("WORKER_TASK_CONCURRENCY")
.filter(|value| *value > 0)
.unwrap_or(4);
let worker_concurrency = env_u32("WORKER_CONCURRENCY")
.filter(|value| *value > 0)
.unwrap_or_else(|| {
std::thread::available_parallelism()
.map(|v| v.get() as u32)
.unwrap_or(4)
});
let image_processing_concurrency = env_u32("IMAGE_PROCESSING_CONCURRENCY")
.filter(|value| *value > 0)
.unwrap_or_else(|| {
@@ -126,6 +132,7 @@ impl Config {
database_url,
database_max_connections,
redis_url,
worker_task_concurrency,
worker_concurrency,
image_processing_concurrency,
jwt_secret,