• 1
  • 2
  • 3
  • 4
  • 5
mysql数据库问题 首 页  »  帮助中心  »  数据库  »  mysql数据库问题
与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;

  如果问题还未能解决,请联系售后技术支持。