Posts Tagged: compress


20
二 10

使用deflate模块压缩输出

启用web服务器的压缩功能主要有两个好处:
1. 提高用户打开页面的速度。
2. 节省服务器的带宽资源。

一定会有人认为启用压缩会消耗服务器的CPU及内存资源。就目前的计算机处理能力来讲,这点消耗并不是影响系统负载的“主要矛盾”。相反地,因为启缩,会提高传输效率,从而提高计算机处理请求的速度,从而降低系统负载。

Apache 自带的 mod_deflate 模块,提供了DEFLATE输出过滤器,允许服务器在将输出内容发送到客户端以前进行压缩,以节约带宽。

通常,我们只压缩文本内容,图片文件因为本身已经是压缩格式的,再次压缩的意义不大。

我常用的压缩配置如下:

<Location />
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/x-javascript
</IfModule>
</Location>

需要注意的是:压缩会于代理服务器造成一定的困扰。比如当我使用Nginx的反向代理+缓存(storage)的时候,存储在Nginx本地的文件是压缩过的(比如 a.css 本来应该是文本文件,存在Nginx本地的是被压缩生成的二进制文件),当用户再次请求时,Ngnix反回给用户的是压缩内容,于是用户这边显示乱码。

另外一个需要注意的问题是:Very 头对缓存命中的影响 http://www.chedong.com/blog/archives/001429.html

参考:
《高性能网站建设指南》
http://www.bsdmap.com/manuals/Apache/mod/mod_deflate.html


28
八 08

Linux下的压缩文件系统

始于工作的需要,开始寻找如何在Linux系统上实现“压缩文件系统”,就像使用NTFS的压缩功能一样。通过Google搜索,最终找到以下几个重要的网页:

FuseCompress
http://miio.net/fusecompress/
http://code.google.com/p/fusecompress/

Save disk space – use compFUSEd to transparently compress filesystems
http://www.linux.com/feature/137234

fuse-zip
http://code.google.com/p/fuse-zip/

compFUSED
http://www.biggerbytes.be/

All Compress Filesystem based on FUSE
http://fuse.sourceforge.net/wiki/index.php/CompressedFileSystems

发现了FUSE项目(Filesystem in Userspace)
http://fuse.sourceforge.net/

然后又看到了Linux支持ZFS的相关信息,了解到:ZFS在Linux上的实现,因为法律许可的问题,无法正常使用,而是借助于FUSE项目,建立了”ZFS ON FUSE“项目,通过将ZFS运行在“用户空间”而避免法律许可上的问题。

ZFS有一堆优秀特性,需要特别指出的是,ZFS本身就已经支持压缩(compress)技术。

ZFS相关参考:

ZFS Source Tour

ZFS on FUSE/Linux

ZFS Filesystem for FUSE/Linux

使用ZFS的十条理由

ZFS – 维基百科

Solaris ZFS 管理指南

管理和共享ZFS文件系统

ZFS时代FreeBSD系统的数据冗余策略

zfs文件系统架构解读

Using ZFS though FUSE