使用基于脚本的方案的一大好处是它们在Apache里装入了解释器,这就减少了执行时再装入解释器的时间,一些方案还把解析过的脚本缓存起来,这样下一次遇到同样的请求就可以直接执行而无需再次解析。当然也可以应用的服务分离,象使用php的fastcgi来在后面跑,前面给Web服务器.
对特定系统的调整优化很复杂而且很花时间,而且你需要调整特定的脚本以利用优化的成果。
不过对动态内容的优化效果是非常明显的,仅仅是把perl脚本的执行模式从CGI转到mod_perl就可以减少多达70%的执行时间,如果我们进一步,还可以使用到数据库的持久连接或在多次请求之间缓存信息,这对电子商务网站非常有用,它也减小了不同请求间重复装载信息的开销。
总的来讲,网站的动态内容脚本和CGI是影响网站性能的最重要方面(所以好的程序员很重要),如果你管理一个典型的Apache服务器你会发现Apache响应一个传入连接以及最后把内容发送给客户的所花费的时间是以毫秒记的,而等待所需数据资源的时间常常达到几秒钟。
其它优化
配置mod_expires模块(这个非常有用的优化哦)
mod_expires可以减少20-30%左右的重复请求,让重复的用户对指定的页面请求结果都CACHE在本地,根本不向服务器发出请求。除开用户有发送no-cache才会更新,但要注意更新快的文件不要这么做.
mod_expires的安装配置:
ExpiresActive On
ExpiresDefault A60
ExpiresByType image/x-icon A2592000
ExpiresByType application/x-javascript A2592000
ExpiresByType text/css A2592000
ExpiresByType image/gif A604800
ExpiresByType image/png A604800
ExpiresByType image/jpeg A604800
ExpiresByType text/plain A604800
ExpiresByType application/x-shockwave-flash A604800
ExpiresByType video/x-flv A604800
ExpiresByType application/pdf A604800
ExpiresByType text/html A60
其实还有一个压缩,我就不写了,见我另外的那个文章<<Gzip在apache2中的设置和squid对它的处理>>
http://www.php-oa.com/2008/08/20/gzipsquid.html 压缩比率可以高到70%,非常有用的.
另外高速的web服务,就可以把noatime参数加入/etc/fstab文件中
lnux文件系统当文件被访问,创建,更新的时候会保留纪录。默认的,当文件读写操作的时候,系统会更新last-time-read属性。因为写操作是比较耗费资源的操作,减少不必要的i/o可以整体上提高磁盘性能。
在挂接文件系统的时候,加入noatime参数可以禁止inode节点访问时间的修改。如果文件更新时间对于特定的应用不是很重要的话,比如web服务,就可以把noatime参数加入/etc/fstab文件中
比如:
/dev/sdb1 /mountlocation ext3 defaults,noatime 1 2
推荐利用单独的分区作为挂接点并打开noatime开关










