性能优化的心得

来源:转载

跟同事交流,之前上线的系统一两年之后,数据有两三千万

系统,没有办法很好的应对这么多的数据

这有两方面原因,一个是设计的时候没有怎么考虑数据量的问题

还有一个就是写代码的时候,并没有注意数据量的问题

不去关注数据量的问题,这可能是程序员自己的意识,还有可能是客户自以为的不用关注

客户说,我们的数据没有多少,你不用考虑那么多,以后这个系统用不用都还不好说

现在只要100万铺底数据,5000条交易数据能跑出来就行

听起来,100万铺底数据,5000条也不多,应该没有那么难吧

仔细分析客户说的就跟没有说一样

因为一开始铺底数据也不会有100万,也不会恰好100万里面正好有五千条让我们处理

100万 5000条数据只是一个点,过完这个点怎么办,系统真的就死掉了?

除了设计上性能瓶颈不好解决,写代码的时候多思考一些问题,还是能解决一些性能问题的

以下就是自己最近优化客户的销项报表的一个心得分享

  1. 首先优化什么时候最合适

这个问题首先我们应该培养自己的优化意思,写代码的时候,就去注意这方面的问题。

另一个就是,优先保证客户的需求是没有问题的,这个时候有性能问题的再去优化。

如果没有考虑功能是否开发完成就急着去优化,可能刚优化完,测出来了一些bug,又需要修改,当修改完之后,发现之前优化好的,需要再去优化,如此反复有可能会浪费很多必要的时间

  1. 优化到什么程度才算结束

1.优化到客户满意,但性能这个问题,客户的要求,我们也不一定能做的到

2.充分发挥计算机的计算能力,让CPU和内存的利用率达到极致,降低与IO,数据库,其他系统的交互次数

  1. 优化过程中要从哪些方面去考虑
    1. 利用计算机的多线程
    2. 不需要写文件的就不要写
    3. 只要内存不死,能在内存里面缓存的数据,就一次性放到内存里面,不要频繁访问数据库
    4. 不要在循环里面,操作数据库,除非数量大分批处理,需要释放内存的时候
    5. 减少不必要的代码,用更高效的算法
  2. 要借助性能测试工具,定量去分析

1.用的比较多的是DotTreace,能够比较好分析出来程序的性能瓶颈在哪里,可以看到每个方法具体执行时间,能够有方向的去优化

  1. 要多问问有经验的人,给些意见

1.向有经验的人请教,能够更快速的解决问题,有经验的人,也许可以给出更多合理的意见

分享给朋友:
您可能感兴趣的文章:
随机阅读: