服务性能监控总结

  最近工作中需要新写服务接口及定时任务,需要对服务的性能进行监控。并能通过最终的压测。第一次碰上这种情况,难免忐忑些。

  未压测前,自己先对性能进行了些自测,下面是自己这几天总结的几点:

  1.打印日志时间,记录程序运行的时间:

  public class A {
	private static Log logger = LogFactory.getLog(A.class);
	@Test
	public void test() throws Exception{
		long start = System.currentTimeMillis();
		for (int i = 0; i < 500000; i++) {
			Thread.sleep(1);
			logger.info("打印"+i+":"+start);
		}
		long end = System.currentTimeMillis();
		logger.info("执行时间:"+ (end - start) / 1000 + "秒");
	}
  }

  2.对程序中查询及更新的SQL进行监控,是否最优:

1)查询是否走索引,尽量避免全表扫描;

2)对未确定的结果集不能用in;

3)  业务高峰时期,数据库压力比较大时,执行SQL查看执行时间;

4)查看执行计划;

5)对已存在的表,最好事先在正式环境执行新写的查询语句,测试环境数据量小可能测试不出来(之前被坑过......)

       3.对定时任务需要获取的配置信息有两种方式:

1)  数据库SQL配置,程序代码获取SQL配置信息并增加redis缓存。多用于程序开关等类似的情况;

2)  配置文件获取,服务器启动时加载,存储配置文件信息到服务器缓存中。多用于数据库用户名、密码等情况。

  以上就是最近这几天自己对性能的自测总结,以后如果还有再补充完善。

posted @ 2018-03-28 02:04  走在五万一平米的路上  阅读(268)  评论(0)    收藏  举报