使用expires模块降低apache负载
使用expires模块声明静态文件过期时间-减少客户端不必要的请求
计算机资源-时间与空间关系
原作者:曹刚
计算机由cpu、内存、硬盘三个重要硬件构成,cpu是计算资源,属于时间资源,内存和外部存储(硬盘等)属于空间资源。在计算机中,我们知道速度最快的是cpu,cpu由控制单元、运算单元、时钟组成。cpu寄存器阵列实际上相当于处理器内部存储器,寄存器容量非常小,仅用于临时存储计算数据所用,它的存储速度最快。
我们大家知道,cpu速度相对磁盘来说,相差非常大,因此cpu是不能直接从硬盘读取数据的,必须先把数据从磁盘读取到内存之后,cpu才能对内存中的数据进行操作,内存的速度比磁盘快很多,但是要比cpu慢。我们可以看见,速度从慢到快的顺序来排列为:磁盘-内存-cpu。
从目前的情况来看,每隔一段时间,cpu的运算速度便会大幅度提升,但是内存和磁盘(特别是磁盘)的速度一直没有多大提升。因此在我们的系统中,经常发现的系统瓶颈出现在磁盘上。如果磁盘、内存速度和cpu速度一样快,那么我们工作中很多问题就很简单了,但是事实却是相反,因此我们有必要深入了解时间与空间的关系,在这个基础上进行架构设计、软件设计以及维护,能够起到事半功倍的效果。
禁止对数据分区的locate数据库更新
我们的/srv/分区相当的大,图片服务器的就更大了。
所以是不能允许对这个分区的文件进行(locate)索引的,即使系统使用的renice +19的方式运行,也是仍然是对系统资源的浪费。一来浪费CPU资源,二来浪费硬盘I/O,三,会使updatedb的数据库巨大,规划不当的话会使/var分区满掉(或者/分区满掉,假如var不是单独分区的话)。
使用cfengine更新了所有系统的配置文件,排除了对/srv分区的索引。
#/etc/updatedb.conf
PRUNEFS = “auto afs iso9660 sfs udf”
PRUNEPATHS = “/afs /media /net /sfs /tmp /udev /var/spool/cups /var/spool/squid /var/tmp /srv /mnt”
好书推荐:《高性能网站建设指南》
前两天买了两本书,其中一本《高性能网站建设指南》,看了一眼之后,便一发不可收拾,一直看到深夜三点,一口气看完。
对于系统管理员和前端开发、设计工程师来说,书中的技术非常实用。
作者在这本书中分享了14项需要丰富的实践经验才可以积累和获得的技巧,看得我激动不已。
第二天,发现公司技术部有N本这样的书,早上 博文视点 的人刚送过来的,说是和他们搞了个什么合作。世上就真有这么巧的事儿。
随便在公司的邮件列表里推荐了一下,结果已经有两个人拥有这本书,N个人好过,反应相当强烈,一致好评,于是维护给做系统管理和开发、设计的朋友们看看。
书封面写着“前端工程师技能精髓”,不过系统管理员看看也是相当有好处的,至少有三项,是跟后端服务器配置相关的。
笔记备忘一下书中技巧:
规则1:减少http请求
规则2:使用内容分发网络(CDN)
规则3:添加Expries头
规则4:压缩输出
规则5:将样式表放在顶站
规则6:将脚本放在底部
规则7:避免CSS表达式
规则8:使用外部JavaScript和CSS
规则9:减少DNS查询
规则10:简单JavaScript
规则11:避免重定向
规则12:移除重复脚本
规则13:配置Etag
规则14:使用Ajax可缓存
从网上,看到对此技巧的补充,将14条法规,扩展到22条,虽然吹毛求疵,但也算是精益求精(有人说系统管理人员和程序员都是完美主义者,对事情总是精益求精是有道理的),也整理如下:
规则15:Flush the header
规则16:Split static content Across Multiple Hostname
规则17:Reduce the size of cookies
规则18:Host static content on a Different Top-level Domain
规则19:Minify css
规则20:Use GET for XHR
规则21:Avoid Iframe
规则22:Optimize Images
