发表人:rusher 2023-03-03 12:04:53 最新回复: 2023-03-03 12:04:53
一、 数据库常规检查
1. 数据库启动:
1) pg_ctl start –D 数据库路径
2) postgres –D 数据库路径 start
2. 数据库关闭:
1) pg_ctl –D 数据库路径 stop –m smart 不允许新的连接,等待会话结束
2) pg_ctl –D 数据库路径 stop –m fast 不允许新的连接,终止正在进行的会话
3) pg_ctl –D 数据库路径 stop –m immediate 立即退出,相当于abort
3. psql使用
1) psql –p 端口号
2) sql –p 端口号 -d 数据库名
3) psql –p 端口号 -d 数据库名 –U 用户名
4) 在psql 中切换用户 \c – 用户名
4. 数据库活动状态
1) 查询数据库名称
Select datname from pg_database;
2) 查询数据库连接状态
Select datname,username,
client_addr,wait_event,state,query
from pg_stat_activity
3) 查询数据库参数
Select name ,setting from pg_settings;
4) 查询锁等待
SELECT pid, wait_event_type, wait_event
FROM pg_stat_activity
WHERE pid <> pg_backend_pid()
and wait_event is NOT NULL;
5) 查看监听端口
netstat –lanp |grep 端口号
5. 数据库空间查询
1) 查询数据库大小
select datname ,
pg_size_pretty(pg_database_size(datname)) as size
from pg_database;
2) 查看表空间大小
Select spcname,
pg_size_pretty(pg_tablespace_size(spname) as size
from pg_tablespace where spname not like(‘virtual%’)
order by 2;
3) 查看项目中表的空间占用
Select relname,
pg_size_pretty(pg_relation_size(relid)) as size
from pg_stat_user_tables
where schemaname=lower(‘项目名’)
order by 2;
4) 查看数据库磁盘空间
df –h
6. 服务器状态检查(sar)
1) cpu与iowait
sar –u 1 3
2) 查看平均负载
Sar –q 3 3
3) 查看内存使用
Sar –r 3 3
4) 查看交换区
Sar –W 3 3
5) 查看IO
Sar –b 3 3
6) 查看网络接口
Sar –n DEV 1 1
7) 查看tcp 连接统计
Sar –n TCP 1 1
7. 参数调优
1) 系统参数:
关闭numa
关闭透明大页
设置noatime
wm.swappiness = 0
vm.owvercommit_memory = 2
Vm.dirty_background_ratio = 5
Vm.dirty_radio = 10
2) 参数设置:
Shared_buffers: 内存的max(内存的10%,8G)
Work_men:4M
Fsync=off
effective_cache_size= Shared_buffers
Commit_siblings &commit_delay(20,100)
archive_mode =off
Autovacuum = on;
Autovacuum_naptime
Full_page_wirtes=off