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());}}}}
DAO层接口性能监控相关推荐
- # IDEA如何从dao层接口快速调转到xml文件
最近进了新公司,闲来无事把自己的IDEA插件都安装全面一下,首先就是先安装的dao层接口调转到xml文件相关的插件,这个也在开发中经常用到,下面开始介绍吧! 第一步找到设置目录 第二步搜索Mybati ...
- 基于springdata JPA的dao层接口实现
基于springdata JPA的dao层接口实现以及分页 1.[举例] 只需要继承 JpaRepository<实体类,主键类型> package com.tmall.tmallspri ...
- Mavn一个模块项目调用另一个模块的dao层接口
说明 例如: 我有一个聚合工程 A,它下面多个子工程模块(B,C,D,E),我想把C.D.E中相同的数据库操作方法提取出来,放进B里面,然后在C.D.E中依赖B模块,然后调用dao层接口. 但是项目启 ...
- ssm框架dao层接口无法自动注入问题
这个问题实在奇葩,我也没看过框架源码,估计就算看了也看不懂,目前发现在dao层接口上不能使用@Component注解,但是可以使用@Repository,也可以啥注解都不加.根据目前的情况观察只要加上 ...
- 接口 java性能_MyPerf4J 一个极快的Java接口性能监控和统计工具
MyPerf4J 一个针对高并发.低延迟应用设计的高性能 Java 性能监控和统计工具. 价值 快速定位性能瓶颈 快速定位故障原因 优势 高性能: 单线程支持每秒 1600 万次 响应时间的记录,每次 ...
- Mybatis中DAO层接口没有写实现类,Mapper中的方法和DAO接口方法是怎么绑定到一起的...
参考mybatis入门基础(二)----原始dao的开发和mapper代理开发 其实也就是通过接口名与mapper的id绑定在一起,通过SQL去写实现类,返回数据. 转载于:https://www.c ...
- mybatis简单案例源码详细【注释全面】——Dao层接口(UserMapper.java)
/** * @Title: IUserDao.java * @Package org.dao * @Description: TODO该方法的主要作用: * @author A18ccms A18cc ...
- java basedaoimpl_java web项目DAO层通用接口BaseDao与实现类BaseDaoImpl
在spring+hibernate的web项目中,处理数据层通常会使用Spring框架提供的HibernateTemplate类提供的方法.通常的用法是每一个实体类对应的去写DAO层的接口和实现类.每 ...
- php dao 接口,SSH中公共Dao层、Dao接口
早做项目时候!为了优化代码可以创建公共类与接口 先写一个Dao层的公共接口,在里面实现增删改查等各种功能 public interface IBaseDao { //增加 public void sa ...
最新文章
- dagger android,dagger.android多模块项目实现
- Runtime----字典转模型
- 快速批量导入庞大数据到SQL SERVER数据库(ADO.NET)
- python调用centos防火墙_Centos7防火墙:Firewall基本使用命令,设置防火墙规则
- Java 稳步成长、Kotlin 崛起、Go 保持独特风格,2020 年各大编程语言发展趋势一览...
- 放之四海皆适用的设计原则(二)
- 他山之石 可以攻玉-《海量数据库解决方案I》
- [渝粤教育] 江西理工大学 新融合大学英语(I) 参考 资料
- 数据库优化实践【信息跟踪篇】
- 电脑端OneNote2019(win10系统)登录微软账号登陆错误报错误码0x80860010错误-已解决
- python中datetime模块是以什么时间为基础_python基础-time和datetime模块
- leapftp 软件,leapftp 软件的5大功能
- Ubuntu18.04笔记本插入耳机没有声音 解决方案
- R和Rstudio 下载安装
- 刷固件版本 1756-RM2
- 为什么计算机连接不上打印机,为什么电脑连接打印机后却没反应
- 如何在Guitar Pro上添加吉他和弦
- 说说转义字符 “\”
- python 函数的返回值类型
- 亚马逊云科技在中国区域新推多项服务;德州仪器携手台达打造高效能服务器电源供应器 | 全球TMT...