发表于: 2017-12-13 22:09:58
1 571
今天完成的事情:
1.完成了获取用户与课时关系的接口
这个接口逻辑复杂,如果不使用缓存的话,频繁访问数据库性能会很差.
使用了缓存,增删改查维护有点繁琐.
2.优化接口性能
刚开始则是时,接口性能基本上在700-1000ms之间.后来还以为是因为没加缓存的原因.
然后就给访问db那块语句测试了下耗时,发现访问db耗时才100ms左右.
基本就排除了是db的原因. 然后发现是在方法内每次都去加载spring的配置文件拿到应用上下文对象,通过应用上下文去拿bean.就这两步操作耗时在600ms以上.
之所以在方法内通过应用上下文获取bean,是因为该类是一个单利模式,然后该方法是其他方法调用该类实例中的方法.如果直接注入类中,如果是new 了以后访问的则不是代理类了,也就是说无法注入.
最后百度搜索了下,发现csdn已经有人给出解决方案了.
最后优化后的效果
相当于直接少了600ms
明天计划完成的事情:
1.完成获取用户与课时关系接口
遇到的苦难:
无
收获:
很爽地体会了一把,怎么找性能瓶颈已经如何优化...
评论