在 Ubuntu 上,“sqladmin” 通常指的是 数据库管理相关场景下的性能优化(可能是 MySQL / PostgreSQL 管理工具、或是你用 sqladmin 这类 Web 管理界面)。下面我从 系统层 + 数据库层 + sqladmin 使用层 三个角度给你一套通用优化方案(以最常见的 MySQL / PostgreSQL 为主)。
编辑 /etc/sysctl.conf:
# 增加文件描述符
fs.file-max = 1000000
# TCP 优化
net.core.somaxconn = 65535
net.ipv4.tcp_max_syn_backlog = 65535
net.ipv4.tcp_tw_reuse = 1
应用:
sysctl -p
编辑 /etc/security/limits.conf:
* soft nofile 65535
* hard nofile 65535
noatime,nodiratime
/etc/mysql/mysql.conf.d/mysqld.cnfinnodb_buffer_pool_size = 4G # 物理内存的 60%~70%
innodb_log_file_size = 512M
innodb_flush_method = O_DIRECT
max_connections = 500
query_cache_type = 0 # MySQL 8 已移除
slow_query_log = 1
slow_query_log_file = /var/log/mysql/slow.log
long_query_time = 1
重启:
systemctl restart mysql
EXPLAIN SELECT * FROM user WHERE name='tom';
SELECT */etc/postgresql/14/main/postgresql.confshared_buffers = 2GB
work_mem = 64MB
maintenance_work_mem = 512MB
effective_cache_size = 6GB
random_page_cost = 1.1
systemctl restart postgresql
SELECT * FROM pg_stat_statements
ORDER BY total_exec_time DESC
LIMIT 10;
如果你是 通过 sqladmin(Web 界面)管理数据库:
SELECT * 全表LIMIT 100CREATE USER ro_user WITH PASSWORD 'xxx';
GRANT SELECT ON ALL TABLES IN SCHEMA public TO ro_user;
htop
iotop
atop
数据库监控:
mysqladmin status
pg_stat_activity
如果你能告诉我: 1️⃣ 用的是 MySQL 还是 PostgreSQL 2️⃣ sqladmin 是 Web 工具还是命令行 3️⃣ 服务器配置(CPU / 内存)
我可以直接给你 一份可复制的配置文件。