系统性能调优总结

在项目中处理了不少系统性能调优的问题,下面做一些记录以备今后随时回顾。

客户端

1、使用外部的js和css。浏览器会将的Javascript和CSS文件缓存,提交二次访问的速度。
2、减少js和css。js和css的加载比较耗时,所以应当适当减少他们。
3、压缩js、css、压缩图片。如果js和css已经精简的不能再减,可以进一步进行压缩。图片也进行gzip压缩。提供啊传输速率。
4、js放在页面的下部。css要放在页面上部。css放在顶部能够保证用户体验,js的内容如果不急着用就放在底吧。
5、在html页面header加入缓存标签。
6、减少http请求。将css使用的图片集中在一张图片中。
7、页面校验,表单中的内容,最好在客户端有一次校验,不能全部交给服务器端校验,减少一次通讯。验证码也是这样。
8、验证码。不要在页面加载是就载入验证码,应该留下链接“显示验证码”,当用户需要提交时在请求,可有效减少验证码的请求。

服务器端

机器

1、请求的处理使用squid、apache来处理全部的静态请求如js、css和图片。还要squid处理部分页面不经常发生改变的动态请求。
2、图片的输出要经过apache的压缩,提高图片传输速度。
3、调整机器的系统参数/ect/sysctl.conf中的内容,减少各种time_wait。
4、每个squid和apache的最佳访问效率在1000~2000个链接左右,而tomcat的最佳在200个连接左右。如果超出了这个连接,系统还能撑住,说明应用程序编写的比较好,但是在这种情况下就该适当增加机器数量了。
5、独立部署机器,如果条件允许,那么每个服务器尽量能够独立部署一个应用。

应用

1、减少数据库访问。如用户信息在登陆时就获取一次放在session中,以后使用的时候就用这次获取的内容进行操作,不要重复从数据库中获取了,这也是良好编写风格的体现。
2、使用缓存MemCache、ehcache。将频繁访问的数据放在缓存中,如系统首页的内容,排行内容等。也可将用户查询的内容放在缓存中,可将查询的条件作为key,适用于查询组合条件比较单一的系统。
3、写缓存。减少系统像数据库中写操作的频率,将需要写在数据库中内容,缓存起来,达到一定数目时或者定时,进行批量写入。适用于,不需要马上显示结果的应用,如投票系统,也适用于内容需要审核的功能。
5、使用读写分离。
6、使用较少的filter。尽量减少filter的个数,或将filter的功能集中在一个filter中实现。
7、验证码。验证码的生成不要使用及时请求及时生成的办法,使用对象池,将验证码初始化好,请求的使用从池子里取即可。另外验证码如果能够使用单独的应用来控制也可以。

网络结构

1、使用负载均衡。F5能够帮我们完成负载、会话粘连、集群等功能,并能够监控网络整体状况。
如果没有F5,可以使用apache+tomcat的负载均衡和集群功能。这个功能旨在将进入的连接平均分配。
2、使用虚地址。使用虚地址能够保证在一台应用挂掉以后,请求能够分发到其他应用上,配合集群的功能,可保证用户不会平凡掉线。
对于数据库来说,使用虚地址能够保证快速的切换,防止大规模系统错误。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值