性能方面应该注意的地方(持续更新)
1 重型的对象,比如数据库的connection,和一些JMSFactory,尽量做到重用,不要用的时候在new,可以先用起来,复用的时候直接从缓存中拿
2 不要用Exception控制流程,因为new 一个Exception的开销是非常大的
3 生命周期长的对象,如果用不着可以在用完后设置为null,便于垃圾回收
4 数据库能批量则批量处理,循环crud是很费IO的
5 加锁尽量细粒度,感觉concurrent的锁对象性能不错,有空纤细研究下concurrent类
6 数据库对于经常查询的数据的条件,index是必要的,但是过多的index会减慢update和insert的速度。
7 io中尽量用buffer,减少IO交互次数.
8 使用缓存,内存数据库,或者集群来提高系统的吞吐量和性能。
9 一般系统产生大量数据后,瓶颈经常是数据库io产生的,前面的index只是一种小的手术。要在结构上提高数据库读写性能,还是拆分数据库,读写分离,数据库大数据表分拆成多个分布式小数据表,等等具体的思路还是拆分,分布式。
10 旧的IO API,因为是阻塞式的,如果处理socket,请启用多线程去handle,否则如果一个请求没有结束,其他的请求会被阻塞住,这样已经很接近非阻塞IO的处理速度了。
今天懒了,不想了。。。
相关推荐
Andrea0 2020-05-25
jiong 2020-02-22
柳岸花明 2019-08-12
鲁氏汤包王 2019-11-03
景泽元的编程 2019-10-21
AscaryBird 2019-10-04
不懂 2019-07-02
郑贺腾讯社交广告 2019-07-01
柯柯 2016-09-01
xiaoxiangyu 2014-04-06
巨杉数据库 2019-06-29
zhanbuquan 2019-06-28
xpaibeyond 2013-03-18
路飞不会飞 2012-10-14
jacklife 2019-06-28
smartleizi 2012-05-02