最近开发的产品,数据库方面要做优化。
我最近开始使用p6spy来做优化。
配置参考了:
利用P6SPY +SQL Profiler记录、统计web app对数据库的操作。
SQL Profiler
report报表格式为
<%>,<Time(ms)>,<count>,"<Table(s)>","<Column(s)>","<Query prepared if exist or Query SQl>"
其中
<%>:the ratio between outgoing traffic (meaning data from your application to the database)
versus incoming traffic (from the database to your application)
负载平衡
<Time(ms)>:执行的时间
<count>:执行次数
Table(s):表名(包括语句类型)
Column(s):列名
Query prepared if exist or Query SQl:执行的SQL 语句
分析报表按照执行的时间(Time)排序,
分析图 上半部份:
- Queries / second :
包含进入数据库的语句和从数据库返回的结果(主要是结果集)
- Statements / second :
主要包含进入数据库的语句(包含INSERT, SELECT, DELETE, UPDATE等)
- Results / second :
主要是从数据库返回并且让应用读取的结果集,它的单位是行。
- SELECT statements / second :
每秒SELECT语句的数量。在应用中的大部分参考数据非常拉近于这个值。
下半部份:
- Outgoing bytes / second :从应用到数据库的数据
- Incoming bytes / second :从数据库返回应用的数据