首页 技术 正文
技术 2022年11月20日
0 收藏 318 点赞 3,987 浏览 2000 个字

前段时间对公司产品做性能优化,如果单依赖于测试,进度就会很慢。所以就通过对代码的方式来完成,并以此来加快项目进度。具体的执行方案自然就是要知道各个业务执行时间,针对业务来进行优化。

因为项目中使用了Spring,那自然的就想到要通过 Spring interceptor来完成这个事,然后就查了一下spring-aop.jar里,已有了多个trace,monitor相关的interceptor了。然后逐个看了一下,有一个PerformanceMonitorInterceptor,能够满足需求。就直接将其引入到项目中,以供性能优化之用。

下面就贴出来我的相关配置:

1、添加一个applicationContext-performace.xml文件,加入Interceptor,并配置好相关的 拦截ponitcut:

<bean id="xxxPerformance" class="org.springframework.aop.interceptor.PerformanceMonitorInterceptor"> </bean><aop:config>        <aop:advisor pointcut="execution(* org.springframework.jdbc.core.JdbcTemplate.*(..))" advice-ref="xxxPerformance" />        <!-- 你项目中业务实现包 -->        <aop:advisor pointcut="execution(* com.your.project.service.impl.*.*(..))" advice-ref="xxxPerformance" /></aop:config>

2、  然后配置 log4j.xml,让其打到日志文件中和CLI:

<appender name="console" class="org.apache.log4j.ConsoleAppender">      <layout class="org.apache.log4j.EnhancedPatternLayout">              <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} [%-5p](%-35c{1.}:%L) %m%n">      </layout></appender><appender name="sql-appender" class="org.apache.log4j.RollingFileAppender">      <param name="file" value="${WAS_INSTALL_HOME}/your/logs/directory/xxx-sql.log" />      <param name="Append" value="true" />      <param name="MaxFileSize" value="100MB" />      <param name="MaxBackupIndex" value="10" />      <layout class="org.apache.log4j.EnhancedPatternLayout">              <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss} [%-5p](%-35c{1.}:%L) %m%n">      </layout></appender><!--SQL : log your sql used JdbcTemplate--><logger name="org.springframework.jdbc.core.JdbcTemplate" additivity="false">        <level value="DEBUG" />        <appender-ref="console"/>        <appender-ref="sql-appender"/></logger><!--mybatis mapper: log your sql used mybatis--><logger name="your.mapper.directory" additivity="false">        <level value="DEBUG" />        <appender-ref="console"/>        <appender-ref="sql-appender"/></logger><!--Performance --><logger name="org.springframework.aop.interceptor.PerformanceMonitorInterceptor" additivity="false">        <level value="TRACE" />        <appender-ref="console"/>        <appender-ref="sql-appender"/></logger>

注意:

上面红色背景的内容是需要替换成你的项目中的相关包名或者目录。

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,997
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,511
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,356
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,139
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,770
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,848