mirror of
https://github.com/hansjone/netx.git
synced 2026-10-09 03:10:46 +08:00
Raise runtime defaults for multi-user shared-server deployments.
Size DB pool, CLI budget, and WebCRT session caps for concurrent operators while keeping hard ceilings and env overrides. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
parent
fa577aa3bd
commit
e0503df8a5
16 changed files with 87 additions and 85 deletions
|
|
@ -14,24 +14,24 @@ from netx_api.runtime_budget import log_runtime_budget
|
|||
class StabilityHardeningTests(unittest.TestCase):
|
||||
def test_production_defaults(self) -> None:
|
||||
s = Settings(_env_file=None)
|
||||
self.assertEqual(s.db_pool_size, 25)
|
||||
self.assertEqual(s.db_max_overflow, 15)
|
||||
self.assertEqual(s.cli_max_concurrent, 12)
|
||||
self.assertEqual(s.cli_feature_hard_cap, 16)
|
||||
self.assertEqual(s.cli_timeout_pool_workers, 12)
|
||||
self.assertEqual(s.port_traffic_dispatch_workers, 3)
|
||||
self.assertEqual(s.ne_connect_max_workers, 4)
|
||||
self.assertEqual(s.ne_collect_max_workers, 4)
|
||||
self.assertEqual(s.webcrt_max_sessions, 12)
|
||||
self.assertEqual(s.db_pool_size, 40)
|
||||
self.assertEqual(s.db_max_overflow, 40)
|
||||
self.assertEqual(s.cli_max_concurrent, 24)
|
||||
self.assertEqual(s.cli_feature_hard_cap, 32)
|
||||
self.assertEqual(s.cli_timeout_pool_workers, 24)
|
||||
self.assertEqual(s.port_traffic_dispatch_workers, 6)
|
||||
self.assertEqual(s.ne_connect_max_workers, 8)
|
||||
self.assertEqual(s.ne_collect_max_workers, 8)
|
||||
self.assertEqual(s.webcrt_max_sessions, 40)
|
||||
self.assertEqual(s.webcrt_keepalive_sec, 30)
|
||||
self.assertEqual(s.audit_sample_n, 10)
|
||||
self.assertEqual(s.audit_queue_max, 2000)
|
||||
self.assertEqual(s.audit_sample_n, 5)
|
||||
self.assertEqual(s.audit_queue_max, 5000)
|
||||
self.assertEqual(s.oclaw_forward_max_retries, 3)
|
||||
self.assertEqual(s.oclaw_forward_queue_max, 2000)
|
||||
self.assertEqual(s.ne_collect_max_output_bytes, 4 * 1024 * 1024)
|
||||
self.assertEqual(s.webcrt_session_log_max_bytes, 2 * 1024 * 1024)
|
||||
# Pool should cover CLI + HTTP reserve under defaults.
|
||||
self.assertGreaterEqual(s.db_pool_size + s.db_max_overflow, s.cli_max_concurrent + 8)
|
||||
self.assertEqual(s.oclaw_forward_queue_max, 5000)
|
||||
self.assertEqual(s.ne_collect_max_output_bytes, 8 * 1024 * 1024)
|
||||
self.assertEqual(s.webcrt_session_log_max_bytes, 4 * 1024 * 1024)
|
||||
# Pool should cover CLI + multi-user HTTP/WS reserve under defaults.
|
||||
self.assertGreaterEqual(s.db_pool_size + s.db_max_overflow, s.cli_max_concurrent + 24)
|
||||
|
||||
def test_settings_have_pool_and_budget_knobs(self) -> None:
|
||||
self.assertGreaterEqual(int(settings.db_pool_size), 1)
|
||||
|
|
|
|||
|
|
@ -867,8 +867,8 @@ class WebcrtServiceTests(unittest.TestCase):
|
|||
self.assertIn("filename=", dispo)
|
||||
self.assertIn("filename*=UTF-8''", dispo)
|
||||
self.assertNotIn("\n", dispo)
|
||||
self.assertEqual(int(cfg.settings.webcrt_sftp_max_file_bytes), 256 * 1024 * 1024)
|
||||
self.assertEqual(int(cfg.settings.webcrt_sftp_list_max_entries), 2000)
|
||||
self.assertEqual(int(cfg.settings.webcrt_sftp_max_file_bytes), 512 * 1024 * 1024)
|
||||
self.assertEqual(int(cfg.settings.webcrt_sftp_list_max_entries), 5000)
|
||||
|
||||
def test_sftp_rename_rejects_bad_paths(self) -> None:
|
||||
from unittest.mock import MagicMock
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue