后台web程序及接口性能相关因素。
多年开发总结的影响性能因数。
1,对象的创建。
2,线程的创建。
3,链接的创建(数据库链接等)。
4.,SQL语句执行时间。
本篇博文主要针对3,4两点影响性能的因数进行优化。前两点将在以后的博文中进行讲解。(前两点偏向于业务优化相关)
情况说明
1,项目中有大量的导出,导入功能。在导入数据量超过一定量(10w)时候系统运行十分缓慢。导致系统运行很卡。检查后台发现
后台导入功能是一个传入list不断循环list然后一条一条插入。(刚开始已将循环体内的创建对象,线程等代码移到循环体外,未有明显效果)
由上情况可以确定,该导入功能是由于不断创建数据库链接导致性能缓慢(因为每插入一条数据即要创建一次数据库链接)。
解决方案
对导入功能进行优化,执行批量sql语句减少数据库链接数量提升性能。
mybitis批量sql实现
批量插入sql语句实现方法。
情况说明
2,当程序运行一段时间数据库数据量大大增加,几张主要的表都已达到百万级别。查询显示功能变的很慢。每次查询显示都需要1-10秒的显示时间,检查后台发现,后台查询存在大量的表链接操作,且表结构没有建索性,查询语句存在大量的冗余sql执行时间占程序运行时间的很大一部分。
由上情况可以确定程序运行缓慢,程序性能不好,是由于sql语句执行效率低下导致的。
解决方案
explain执行计划详解https://blog.csdn.net/wuseyukui/article/details/71512793
查看sql语句的执行计划,优化sql,提升sql执行效率,当优化语句后程序执行效率大大提升。
本篇博文主要理解当程序数据量变的巨大时候程序性能优化方案(以上2个实例主要讲解性能优化)
此致敬礼 :感谢各位网友的阅读2019-4-16
本文地址:http://www.45fan.com/a/question/100432.html