数据库性能视图
以pg_stat开头。是否产生这些统计数据,由一下参数决定:
track_counts:是否收集表和索引上的统计信息,默认为on
track_functions:可以取all、pl和all,如果是pl则只收集pl/pgsql写的函数的统计信息;all表示收集所有类型的函数,包括C语言和SQL写的函数。默认为none
track_activities:是否收集当前正在执行的SQL,默认为on
track_io_timing:是否收集I/O的时间信息。默认为off。最常用视图:pg_stat_activity,该视图可以查询出正在运行的SQL。
postgres=# \x
Expanded display is on.
postgres=# select * from pg_stat_activity;
-[ RECORD 1 ]----+--------------------------------
datid | 13269
datname | postgres
pid | 15038
usesysid | 10
usename | postgres
application_name | psql
client_addr |
client_hostname |
client_port | -1
backend_start | 2017-01-18 23:00:31.328043+08
xact_start | 2017-01-18 23:00:47.766953+08
query_start | 2017-01-18 23:00:47.766953+08
state_change | 2017-01-18 23:00:47.766957+08
wait_event_type |
wait_event |
state | active
backend_xid |
backend_xmin | 1830
query | select * from pg_stat_activity;PG提供了一下各个对象级别的统计信息视图:
pg_stat_database
pg_stat_all_tables
pg_stat_sys_tables
pg_stat_user_tables
pg_stat_all_indexes
pg_stat_sys_indexes
pg_stat_user_indexes根据pg提供的pg_test_timing工具测试打开track_io_timing参数是否会产生瓶颈:
PG还提供了对数据库内函数的调用次数及其他信息进行统计的视图:pg_stat_user_functionsPG还提供了一下各个对象上发生I/O情况的统计视图:
pg_statio_all_tables
pg_statio_sys_tables
pg_statio_user_tables
pg_statio_all_indexes
pg_statio_sys_indexes
pg_statio_user_indexes
pg_statio_all_sequences
pg_statio_sys_sequences
pg_statio_user_sequencespgstatspackLinux监控工具:
top
iostat :iostat -dmx 1 /dev/sda
vmstat:查看内存情况
sar:可以查看各种信息,最常见的是查看网络的流量[root@pg ~]# iostat -dmx 1 /dev/sda
Linux 2.6.32-431.el6.x86_64 (pg) 01/18/2017 _x86_64_ (1 CPU)Device: rrqm/s wrqm/s r/s w/s rMB/s wMB/s avgrq-sz avgqu-sz await svctm %util
sda 0.05 0.36 0.14 0.37 0.00 0.00 20.12 0.01 17.96 16.36 0.84await:包括了在队列中等待的时间
svctm:指把I/O发送到磁盘上花了多少时间,不包括在I/O队列中的时间,对于普通硬盘来说,这个时间通常不应该超过20ms
%util:表示I/O利用率[root@pg ~]# vmstat 1
procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----r b swpd free buff cache si so bi bo in cs us sy id wa st0 0 0 1354120 109296 334656 0 0 2 3 17 11 0 0 99 1 0swap中的si和so,如果这两项有大于0的数值,说明发生了swap交换,系统的内存不足了。bi bo可看成当前IO的情况[root@pg ~]# sar -n DEV 1 2
Linux 2.6.32-431.el6.x86_64 (pg) 01/18/2017 _x86_64_ (1 CPU)11:39:23 PM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
11:39:24 PM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
11:39:24 PM eth0 0.98 0.00 0.06 0.00 0.00 0.00 0.0011:39:24 PM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
11:39:25 PM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
11:39:25 PM eth0 0.99 0.99 0.06 0.37 0.00 0.00 0.00Average: IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
Average: lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
Average: eth0 0.99 0.49 0.06 0.18 0.00 0.00 0.00
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!