更新Company页面的UI为FUI风格

This commit is contained in:
2025-12-18 22:06:22 +08:00
parent c7033481ee
commit 25b2c2af49
2 changed files with 30 additions and 20 deletions

View File

@@ -1,9 +1,9 @@
# -*- coding: utf-8 -*-
"""
Gunicorn 配置文件 - Eventlet 极限高并发配置(110.42.32.207 专用)
Gunicorn 配置文件 - Eventlet 高并发配置(48核128GB 专用)
服务器配置: 48核心 128GB 内存
目标并发: 160,000+ 并发连接
目标并发: 5,000-10,000 实际并发(理论 320,000 连接
使用方式:
# 设置环境变量后启动
@@ -14,10 +14,12 @@ Gunicorn 配置文件 - Eventlet 极限高并发配置110.42.32.207 专用)
REDIS_HOST=127.0.0.1 gunicorn -c gunicorn_eventlet_config.py app:app
架构说明:
- 16 个 Eventlet Worker每个占用 1 核心,预留 32 核给系统/Redis/MySQL
- 32 个 Eventlet Worker每个占用 1 核心,预留 16 核给系统/Redis/MySQL
- 每个 Worker 处理 10000+ 并发连接(协程异步 I/O
- 数据库连接池: 32 workers × 150 = 4800 连接(实际瓶颈)
- Redis 消息队列同步跨 Worker 的 WebSocket 消息
- 并发能力: 16 × 10000 = 160,000+ 连接
- 理论并发能力: 32 × 10000 = 320,000 连接
- 实际并发能力: 5,000-10,000受数据库连接限制
"""
import os
@@ -32,9 +34,9 @@ os.environ.setdefault('REDIS_HOST', '127.0.0.1')
bind = '0.0.0.0:5001'
# Worker 进程数
# 48 核心机器: 16 Workers预留资源给 Redis/MySQL/系统
# 48 核心机器: 32 Workers目标 5000-10000 并发
# 每个 Eventlet Worker 是单线程但支持协程并发
workers = 16
workers = 32
# Worker 类型 - eventlet 异步模式
worker_class = 'eventlet'
@@ -97,14 +99,17 @@ def on_starting(server):
workers = server.app.cfg.workers
connections = server.app.cfg.worker_connections
total = workers * connections
db_pool = workers * 150 # pool_size=50 + max_overflow=100
print("=" * 70)
print("🚀 Gunicorn + Eventlet 极限高并发服务器正在启动...")
print("🚀 Gunicorn + Eventlet 高并发服务器正在启动...")
print("=" * 70)
print(f" 服务器配置: 48核心 128GB 内存")
print(f" Workers: {workers} 个 Eventlet 协程进程")
print(f" 每 Worker 连接数: {connections:,}")
print(f" 并发能力: {total:,} 连接")
print(f" 理论并发能力: {total:,} 连接")
print(f" 数据库连接池: {db_pool:,} 连接(实际瓶颈)")
print(f" 目标实际并发: 5,000-10,000")
print("-" * 70)
print(f" Bind: {server.app.cfg.bind}")
print(f" Max Requests: {server.app.cfg.max_requests:,}")
@@ -122,18 +127,21 @@ def when_ready(server):
workers = server.app.cfg.workers
connections = server.app.cfg.worker_connections
total = workers * connections
db_pool = workers * 150
print("=" * 70)
print(f"✅ Gunicorn + Eventlet 服务准备就绪!")
print(f" {workers} 个 Worker 已启动")
print(f" 并发能力: {total:,} 连接")
print(f" 理论并发能力: {total:,} 连接")
print(f" 数据库连接池: {db_pool:,} 连接")
print(f" 目标实际并发: 5,000-10,000")
print(f" WebSocket + HTTP API 混合高并发已启用")
print("=" * 70)
def post_worker_init(worker):
"""Worker 初始化完成后调用"""
print(f"✅ Eventlet Worker {worker.pid} 已初始化 (10,000 并发连接就绪)")
print(f"✅ Eventlet Worker {worker.pid} 已初始化 (10,000 并发连接 + 150 数据库连接就绪)")
# 触发事件轮询初始化(使用 Redis 锁确保只有一个 Worker 启动调度器)
try: