性能方面应该注意的地方(持续更新)

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的处理速度了。

今天懒了,不想了。。。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值