网站性能调优之路

 

首先通过httpWatch或Windb工具查找性能的瓶颈,在进行有针对性的优化,根据本人经验,不建议要求性能特别高的系统使用ORM相关的技术,不是说ORM不好,而是说相对而言其优化的空间有限,大部分都通过托管或者ORM去解析SQL,可能空间不大,不过其缓存机制还是很强大的,如果自己搞,会累吐血也不一定搞定的。

一、View(前端)的优化

1、 优化JS脚本,在_Layout页面去除不需要的CSS样式、图片、js的引用路径;

2、 采用压缩技术进行压缩,例如mvc4的压缩样式;

3、 异步加载前台下拉框或树形控件,按需加载;

二、DAL层的优化

1、 优化HQL语句,多采用HQL关联ManyToOne或者OneToMany的关系,尽量减少数据库的查询次数;HQL语句拼接:如 var hql +=XXXX,改成 StringBuilder方式进行hql 串接;

2、  杜绝in,exit等查询语句的存在,实在不行可以使用like或者indexOf来代替

3、  尽量减少“多”表查询,优化sql,可以把hql生产sql,在数据库执行来优化;

三、BLL层的优化

1、  使用LINQ进行操作时候,如果只有一条数据,则不用List.First()而采用List.Single()方式返回,整合相应的方法,方法不易过长,或过于复杂,进行充分的拆分与简化操作

2、  一次性拿到所需数据,在内存进行计算,数据内存持久化,缓存的使用;

四、数据字典的优化(Bll中接进来)

1、  使用缓存,或者内存中缓存数据字典信息,减少wcf交互次数;

2、  Wcf宿主使用windows服务等,内网尽量使用tcp协议,优化wcf策略,使用json串返回;

五、人员、单位主数据的优化

同上

六、查询条件异步加载数据字典

查询条件或者高级查询中包括数据字典的查询的话,注释掉该方法如下:

而采用异步加载的方式,也就是在点击下拉框的时候再加载数据字典

七、Css、js、图片的优化

1、  在App_Start文件增加BundleConfig类,里面写入你站点所需要的css和js,例如:

2、  在global中增加:

3、  Webconfig中增加:

4、  通过Vs.net的NulGet管理,下载WebGrease.1.6.0插件

八、其他

其实光从代码角度优化的空间不是很大了,其他的方面还是通过负载均衡,横向扩展应用服务器,通过更好部署策略来优化;

数据库采用分区、读写分库、集群等方式来增加数据的性能;

一句话,一堆低档的服务器换取网站的性能的策略是非常提倡的一种方式,也是最有效的一种方式;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值