1.项目好坏的标准
我认为一个项目好的标准最重要的就是要用户体验好,用户体验号里面的重要的一环就是,项目的处理速度和反应速度要快。这里主要谈一谈对项目速度的优化。
2.如何优化
从我的角度和方法去看主要的就是两个方面。
2.1从业务逻辑下手
1.先找到反应比较慢的接口,然后根据接口去看对应的后端代码。然后查看后端带代码。对于一般数据量不是很大的业务,一般一个接口比较耗时的就是需要网络请求的地方,或者是数据库操作。如果是网络请求比较慢就去排查网络。如果不是网络的问题。很大可能就是频繁的网络请求,有时候很多请求可以做一次,比如说对于数据库的连接,或者是批量操作的时候,可以选择一次发送较多的数据,额不是频繁的发送。
2.在一个接口里面涉及到频繁的数据源切换或者建立,可以使用缓存的技术,我们可以在项目启动或则是用户登录成功的时候去加载多个数据源连接,在需要用的接口里面就可以根据业务逻辑直接去拿到,而不用去建立连接在拿到。
3.查看重量级操作,我们可以发现再某些接口里面有些操作本身就是很耗时的,如果类似的操作一多,接口的速度就会很慢了,这里我们可以使用异步的方式去做,对于某些对于结果不关注的方法,使用异步开辟新的线程,去做,当前线程就可以继续往下执行无需等待。对于需要结果的,如果不需要马上用这个结果马上就去执行下一步操作,也可以执行异步操作,在等待结果的时间就可以去做其他的事情,直到在必须使用结果的时候。等待结果在执行下一步。
2.2从数据库下手
针对于数据库方面的优化主要就是针对查询和批量操作。
1.对于查询一般就是通过建立索引,和保证索引不失效。对于没有索引的列就去建立索引优化查询,对于已经有了索引的列就去查看执行计划,看走了索引没有,或则索引走了多少,在针对失效的原因去分析。
2.对于批量的操作,我们这里也可以使用多线程的技术,把原来一个连接做的操作,可以分给10个,甚至跟多的连接去做,原来通过一个连接要插入10000完数据,现在使用10个连接,每个连接做100条,这样效率也会提升。
3.总结
这就是我的一些经验有不对的地方可以指出。