您的位置:首页 > 大数据

当web应用中面临大数据量同时并发量比较大的情况下性能是一个尤为重要的问题,面对性能优化我们应从何做起,在哪些方面做优化呢?

2011-05-10 22:15 1046 查看
数据结构设计方面:

针对业务逻辑需求建立合适的数据结构。

中间介的调优以及网络环境部署:

中间介以及网络环境也是以重要因素。

数据库方面:

1.使用索引或者联合索引,但是索引并不是越多越好,过多的索引导致CUD的性能降低,并且占用大量的空间。

2.消除大数据表的链接查询,对于大数据量表的处理:

(1)可以对某些表增加冗余字段,这些冗余字段会高频率的从另外表中获取。

(2)Cache缓存,变动量不高,数据一致性要求高

(3)直接删除关联字段

(4)拆分成多次查询

3.sql语句的优化

应用层方面:

1.Cash的运用:对于高频率使用且不常变更的操作可以用缓存来处理(即读多写少),如检测用户的权限操作,每做一次操作都要检测该用户 是否具有该操作的权限,可以将用户的权限存于缓存中避免频繁操作数据库。

Cache技术:MemCached、 JBoss Cashe、 OSCashe、EHCache.......

2.数据的统计查询:针对大数据量的数据查询,常用的是模糊查询,在可以的情况下尽量不用模糊查询,同时可以用数据库自带的全文检索功能,但是在数据准确性方面有一定的局限性,还可以采用开源的搜索引擎,如apache下的lucene。

3.异步操作:

(1)表现层的异步:Ajax技术,常用框架DWR,DOJO

(2)后台业务逻辑层异步:JMS、MQ技术

Web层性能优化:

1.减少http请求

2.缓存ajax

3.延迟加载

4.提前加载

5.减少iframe

6.避免404错误

7.文件头制定Expires或Cache-Control

8.GZip压缩网页

9.使用Get完成ajax请求

10.减少cookie体积

11.js脚本置于页面底部

12.使用外部js、css

13.提出重复脚步

14.用<link>代替@import

15.避免使用滤镜

16.优化图像

17.不缩放图像

http服务器的性能优化策略:

Apache三种工作模式:

1.prefork

2.worker

3.event
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐