mirror of
https://github.com/amidaware/tacticalrmm.git
synced 2026-04-26 06:55:52 +03:00
[PR #2156] [CLOSED] Dynamic uWSGI Configuration Optimization Based on System Resources #3858
Labels
No labels
In Process
bug
bug
dev-triage
documentation
duplicate
enhancement
fixed
good first issue
help wanted
integration
invalid
pull-request
question
requires agent update
security
ui tweak
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/tacticalrmm#3858
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
📋 Pull Request Information
Original PR: https://github.com/amidaware/tacticalrmm/pull/2156
Author: @Lordkaly
Created: 2/25/2025
Status: ❌ Closed
Base:
develop← Head:develop📝 Commits (5)
58bc8e1Dynamic uWSGI Configuration Optimization Based on System Resourcesc877509Merge pull request #1 from Lordkaly/Lordkaly-Dynamic-uWSGI-1-1b64b2edMerge branch 'develop' into develop4a89d23Add Redis cache configuration to local_settings.py in install.sh1bb3bd5Merge pull request #2 from Lordkaly/Lordkaly-Redis-cache-1📊 Changes
2 files changed (+120 additions, -80 deletions)
View changed files
📝
api/tacticalrmm/core/management/commands/create_uwsgi_conf.py(+69 -44)📝
install.sh(+51 -36)📄 Description
###Overview
This pull request enhances the uWSGI configuration generated by tacticalrmm/management/commands/create_uwsgi_conf.py by dynamically adjusting key parameters (workers, threads, cheaper, socket-timeout, and harakiri) based on the system's CPU count and available RAM. The changes improve scalability and performance, particularly under high agent loads, while maintaining compatibility with smaller systems.
###Motivation
In a production environment with 10 CPUs and 16 GB of RAM, running Tactical RMM with many active agents (like 2.000), I encountered frequent connect() failed (11: Resource temporarily unavailable) errors from NGINX due to uWSGI socket saturation. The original static configuration struggled to handle the load, leading to dropped connections and degraded performance. Through extensive testing, I identified optimized settings that resolved these issues.
🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.