DAO层接口性能监控

DAO层接口性能监控


####简介:

笼统来讲讲,任何系统都可以抽象为数据+算法。而数据库作为数据的存储系统,其响应快慢直接影响着系统的整体性能。

目前很多大公司内部都有一些定制的监控系统,可以多维度采集数据,生成各种报表。

不过这样的系统维护成本比较高,甚至要专门的技术人员维护。如果是创业公司,可能不具备这种条件,不过我们可以通过一些简单方法,也能达到同样的效果。

比如通过Spring AOP机制,统计dao方法的调用时间,超过一定阈值,会打印到日志中。后面可以接入邮件系统,每天统计慢sql,了解系统的健康状况,及时优化各种潜在的风险。

代码示例:

@Aspect
@Component
public class DaoRTLogAspect {

    private static final Logger logger = LoggerFactory.getLogger("daoRTLog");

    @Pointcut("execution(public * com.onlyone.bbs.dal.dao..*.*(..))")
    public void daoLog() {
    }

    @Around("daoLog()")
    public Object profile(ProceedingJoinPoint pjp) throws Throwable {
        String method = pjp.getSignature().toString();
        Long _startTime = System.currentTimeMillis();
        try {
            return pjp.proceed();
        } finally {
            Long _wasteTime = System.currentTimeMillis() - _startTime;
            if (_wasteTime > 50) {
                StringBuilder sb = new StringBuilder();
                sb.append("method=").append(method).append(",wasteTime=").append(_wasteTime);
                logger.info(sb.toString());
            }
        }
    }

}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值