文档章节

加速网站访问的一些实践体会

FansUnion
 FansUnion
发布于 2015/10/22 10:29
字数 759
阅读 5
收藏 0
点赞 0
评论 0
自己运营过几个小站,没有任何盈利,为了节省成本,选择的配置比较低,带宽就1M。

   前段时间,在个人官网首页搞了几张轮播图,图片还比较大,展示变得更慢了。

  因此呢,想总结下关于加速网站访问的一些体会。

1.文件压缩
  JS和CSS等静态资源进行压缩,网上有很多压缩工具,建议把压缩做成“可编程”的。
  也可以开启gzip压缩,目前还没有尝试过。

  大图片,也有必要压缩,现在的手机像素都很高,一张照片就有3MB以上,挺吓人的。
  用Freemarker等图片处理工具,压缩下,很有必要。一定程度上的失真,还是可以接受的。

2.多域名部署
   据说,浏览器加载资源的时候,同一个域名下,最多有5~6个线程。(没有论证过)
   如果真是这样的话,可以把JS、图片单独放在一个子域名里。
   比如我们常见的图片,单独放在一个服务器上,而且用单独的域名,img.a.com。 

3.使用CDN加速
   CDN加速,网上有免费的,当然流量有限。
   图片、JS用CDN很不错,自己购买带宽太烧钱了。每增加1M带宽,1年要多花几百元。
   关于CDN,我觉得可以这样来做:
  程序中,配置1个变量,比如useCdn=true,来标记是否使用CDN。
  可以在Freemarker等模版中,判断是否使用CDN的资源,还是本地的资源。

4. JS放在最后加载
   
 出于提高页面加载速度的考虑,作为网页文件,加载顺序是从上到下的,把样式和js文件放到页首自然会先加载。(copy的)

5. 用Nginx响应静态资源
    理论上,Nginx响应静态资源性能高于Tomcat,Tomcat高于SpringMVC等框架。

6.配置多台服务器
   实话实说,目前开发和运维的网站,基本没有部署过多台服务器上,因为一台就足够了,大部分情况下,也不会出问题。
  出于多种因素考虑,多配置几台服务器也是不错的主意。 

7. 缓存和静态化
   把很少变化的数据,缓存起来。
   不变的页面,静态化成html。
   加速响应速度。
   页面静态化,还需要尝试。

8.利用第三方检测工具
   百度站长平台、360站长平台,可以检测网站的访问情况,根据这些工具的反馈,根据自身情况,逐一加速。

9. 其它方法
    个人运营网站的经验有限,只总结了一些自己尝试过或者比较常见的方法,更多加速方式,可以度娘。

小雷FansUnion
2015年2月10日
湖北-武汉-循礼门 

版权声明:本文为博主原创文章,未经博主允许不得转载。

© 著作权归作者所有

共有 人打赏支持
FansUnion
粉丝 56
博文 857
码字总数 825464
作品 0
丰台
高级程序员

暂无相关文章

idea 整合 vue 启动

刚学习Vue 搭建了一个项目 只能命令启动 Idea里面不会启动 尝试了一下修改启动的配置 如下: 1.首先你要保证你的package.json没有修改过 具体原因没有看 因为我改了这个name的值 就没办法启动...

事儿爹 ⋅ 24分钟前 ⋅ 0

数据仓库技术概述(一看就是架构师写的,对我极其有用)

ETL,是英文 Extract-Transform-Load 的缩写,用来描述将数据从来源端经过抽取(extract)、交互转换(transform)、加载(load)至目的端的过程。ETL一词较常用在数据仓库,但其对象并不限于...

gulf ⋅ 25分钟前 ⋅ 0

redis在windows环境的后台运行方法

在后台运行,首先需要安装redis服务,命令为 redis-server.exe --service-install redis.windows.conf --loglevel verbose 启动,命令为 redis-server --service-start 停止,命令为 redis-...

程序羊 ⋅ 27分钟前 ⋅ 0

比特币现金开发者提出新的交易订单规则

本周,四位比特币现金的四位开发者和研究员:Joannes Vermorel(Lokad),AmaurySéchet(比特币ABC),Shammah Chancellor(比特币ABC)和Tomas van der Wansem(Bitcrust)共同发表了一篇关...

lpy411 ⋅ 31分钟前 ⋅ 0

vue获取input输入框的数据

用惯了jQuery,突然使用vue感觉很不习惯,有很多不同的地方,感觉是两个不同的思想来写前端的代码。jQuery是使用选择器($)选取DOM对象,对其进行赋值、取值、事件绑定等操作。而Vue则是通过...

王子城 ⋅ 33分钟前 ⋅ 0

竟然这就是面向对象的游戏设计?!

从程序角度考虑,许多 JavaScript 都基于循环和大量的 if/else 语句。在本文中,我们可了解一种更聪明的做法 — 在 JavaScript 游戏中使用面向对象来设计。本文将概述原型继承和使用 JavaSc...

柳猫 ⋅ 38分钟前 ⋅ 2

git cmd git bash

刚用到了Git,看到windows环境下有两个命令输入窗口 第一个是可视化图形界面,第二个是CMD,第三个是Bash。 Git中的Bash是基于CMD的,在CMD的基础上增添一些新的命令与功能。所以建议在使用的...

东东笔记 ⋅ 40分钟前 ⋅ 0

分布式系统CAP和Base

1、分布式系统 1.1 简介 由多台计算机和通信的软件组件通过计算机网络连接(本地网络或广域网)组成。分布式系统是建立在网络之上的软件系统。正是因为软件的特性,所以分布式系统具有高度的...

xixingzhe ⋅ 51分钟前 ⋅ 0

查看磁盘占用情况

记一次jenkins构建失败的问题 Build step 'Send build artifacts over SSH' changed build result to UNSTABLE 网上查资料都没明确表明是什么错,回忆之前处理这样的问题。第一时间想到的是不...

ManderSF ⋅ 53分钟前 ⋅ 0

数据库管理提速:SQL解析的探索与应用

前言: SQL解析是一项复杂的技术,一般都是由数据库厂商来掌握,当然也有公司专门提供SQL解析的API。SQL解析与优化是属于编译器范畴,和C语言等其他语言的解析没有本质的区别。其中分为词法分...

java高级架构牛人 ⋅ 59分钟前 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部