与RDS for pgsql查看负载情况相关问题
发布日期:2015-11-11 14:11:9
与RDS for pgsql查看负载情况相关问题 RDS for pgsql暂时还没有对外提供慢sql的统计和sql审计功能。而用户在使用的过程中可能会遇到CPU或者IOPS负载较高,这是由于自身数据库的优化程度不够导致的。这种情况下用户可以使用如下的sql对数据库中的表信息以及性能损耗点的统计信息。 1. 通常,出现大量的全表扫描是由于数据表的索引建立不合适导致,而全表扫描会带来大量的逻辑读的请求;特别当实例内存规格不大的情况下还会出现物理读的情况,因此应该着重的避免此类情况的发生。通过如下的sql可以查看到用户的哪张表里面出现了大量的顺序扫描的情况: select * from pg_stat_all_tables where seq_scan > 0 and schemaname != 'pg_catalog' and schemaname != 'information_schema' order by n_live_tup desc; 2. OPS是实例的重要性能指标之一。实例出现IOPS负载较高的情况主要由于以下几点原因: 1)实例IOPS规格不足。 2)内存规格不够,导致在执行sql的时候缓存无法存储足够量的数据,导致数据大量的换入和换出操作。 3)不合理的sql导致出现物理读写的情况,因此可以通过下面的sql查看消耗IO最后的sql语句有哪些: SELECT query, shared_blks_read, shared_blks_read / calls as reads_per_query, blk_read_time / rows as read_time_row FROM pg_stat_statements WHERE calls > 0 AND rows > 0 ORDER BY shared_blks_read desc LIMIT 10; 如果问题还未能解决,请联系售后技术支持。 上一条: dts订阅的具体使用限制简介 下一条: 与DMS设置实例授权相关问题
|