性能的一些解决方案总结

1. Web端

1) 富客户端 - 客户端缓存,expire etag

2)Load on demand

3)  集群

 - DNS分发

 - R_proxy

 -JK

 - session共享或者复制,粘性session或者非粘性session

4)CDN分发和Cookie隔离

5) SSI, ESI and CSI

6)  IP 分发

- NAT 强大的反向代理,集中控制,

- IP-Tuning - 路由

- DR 同一网段

7)减少模板大小 
– 压缩空白字符 - 程序的DWR?
– 合幵相同数据 - 很多循环丢到客户端用javascript去做
– 异步渲染,利用专用服务器的优势 

- Char to Byte


2. 服务器端

1) 禁用session

2) 读写隔离

1) 数据库级读写隔离 - 所有client都写,多个client支持读

2) 应用级读写隔离 - multiple data source in hibernate

- 只读情境下的不用锁 ( HQL, list )

- 编辑时乐观锁和悲观锁使用 (load, get, iterator)

3) 应用cache

1) Hibernate一级cache

2) 二级cache - 同步问题?

4)灵活运用异步处理

- 少用全局事务

- 非核心更新使用JMS机制,注意核心更新和JMS事务

5)合理的事务级别:

 - 串行事务 - 避免

- 可重复读 - 如果写操作中不包含其他的读锁操作

- 读commit - 如果写操作中不包含本身写锁操作

- 读脏数据 - 脏数据处理

6) Java小心处理强应用,尽量使用弱引用(soft, weak),小心处理图,树的内存释放,小心finalize的处理


3. 数据库级

1) 建立索引,尤其是外键关联,前导列一定要是使用最频繁的列。 

2)少用游标,push down logic to store precudure

3)SQL语法

 - in 内存操作,exsit DB操作

 - count(*) 代替 count(1)

 - group by 和order by

 - union all如果你比较确定,比union好

 - is null对于索引无效

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值