优化 Linux 上的 PgAdmin,可以从 系统层面、数据库层面、PgAdmin 本身配置 三个方向入手。下面按实用度给你一套完整优化方案。
PgAdmin 虽然是管理工具,但其背后 PostgreSQL 的性能 直接影响体验。
# 查看磁盘类型
lsblk -d -o name,rota
# rota=1 机械盘,0 SSD
建议:
/var/lib/postgresql 单独分区deadline 或 noop IO 调度器(SSD)echo deadline > /sys/block/sda/queue/scheduler
vi /etc/sysctl.conf
vm.swappiness = 10
vm.dirty_ratio = 10
vm.dirty_background_ratio = 5
net.core.somaxconn = 2048
sysctl -p
PgAdmin 慢,90% 是 数据库本身慢。
shared_buffers = 4GB
work_mem = 64MB
maintenance_work_mem = 512MB
effective_cache_size = 12GB
不要盲目复制,按实际内存调整
max_connections = 100 # 不建议太大
配合 PgAdmin 使用 连接池(推荐 pgbouncer)
apt install pgbouncer
autovacuum = on
track_io_timing = on
手动分析慢查询表:
ANALYZE your_table;
老版本(尤其是 <6.x)性能很差。
pip show pgadmin4
建议:
默认 PgAdmin 是开发模式,性能极差。
pip install gunicorn
gunicorn \
--workers=4 \
--bind 0.0.0.0:5050 \
pgadmin4.app:app
Nginx 反向代理:
location / {
proxy_pass http://127.0.0.1:5050;
}
✅ 提速明显,尤其多表、大数据量时
在 config_local.py:
ENHANCED_COOKIE_PROTECTION = False
MASTER_PASSWORD_REQUIRED = False
减少登录校验压力(内网环境)
PgAdmin 会频繁刷新:
✅ 关闭:
PgAdmin 是 Web 应用,浏览器很重要:
PgAdmin 每个 tab 都占内存,建议:
如果你的主要需求是:
| 需求 | 推荐 |
|---|---|
| 日常 SQL | DBeaver |
| 轻量管理 | Adminer |
| 服务器运维 | psql |
| Web 管理 | phpPgAdmin(老) |
✅ PostgreSQL 参数合理
✅ 使用 WSGI / Gunicorn
✅ 关闭 Dashboard 自动刷新
✅ 使用 SSD
✅ 浏览器 Chrome
✅ 不长期保持大量连接
如果你愿意,可以告诉我:
我可以给你 针对你环境的精确优化方案。