刚到公司的时候为了追求快,所以后台系统的设计跟性能是一塌糊涂。后来反思了一下准备推翻重新写!
1、确定框架
因为之前一直在用cake,因为我自己喜欢使用新鲜的东西,所以选用了3.0,但是不得不吐槽中文文档是真的少,所以权衡利弊最红还是选择的了thinkphp5.0,最起码有完整的中文文档,并且也是中国人开发的。
2、解耦模块
把所有的数据层、控制器层完全分离出来
3、分析性能差的原因
后台系统一共分为 商品中心、订单中心、运营中心、用户中心、销售中心。
公司的性质为电商平台,平时主要数据为订单数据、商品数据。而后台慢的原因主要是以下原因:
①列表页无分页
②大部分使用异步
③数据过大
④服务器配置过低(公司规模不是很大以技术层面不动服务器的东西)
4、解决
①添加列表分页
②把百分之90的异步换成了form表单提交,这样代码简洁、不易错、效率快
③对于查询数据量过大的我要着重讲一下:
后台系统的用户中心、销售中心是查询数据量最大的程序,因为查询的都是整年的销售、用户分析数据,基本上数据百万条(自我吐槽一下每次查询时间长一点都得用将近1分钟)。
我首先做的尝试优化程序,把所有的程序多于的逻辑进行删减,最大的程度减少foreach去循环数据,去用SQL直接可以处理。经过这样的处理程序的执行时间从1分钟到20秒左右。
但是感觉20秒还不是极限,又静下来想了想办法,最终决定把每天的统计数据用定时程序去统计,然后程序只需要查询统计完的数据结果,经过这个修改完,销售重新从之前的 20秒快到 1秒!!!!
接下啦就是用户中心,用户中心的核心处理办法和销售中心是一样的,但是感觉速度依旧不理想,后来发现用户中心的数据实在是太咋了,所以把不同功能的模块都分离,放到不同的页面,速度也提升到了1-3秒。