2009年6月30日 | 标签: , ,

Google 最近发布了 AJAX Libraries API。简单说就是 Google 把一些非常流行的 JavaScript 框架放到 Google 的服务器上。这样大家来说可以充分利用 Google 的服务器资源,节省自己的网络带宽,更重要的是 Google 对这些框架进行了压缩,所以在使用 JavaScript 框架的时候速度方面有很大的提高。目前 Google 已经包含了以下的 JavaScript 框架:

  • jQuery
  • prototype
  • script.aculo.us
  • MooTools
  • dojo

目前可以有两种调用这些 JavaScript 框架的方法:
第一种,传统的 JavaScript 调用方法:

1
<script src = "http://ajax.googleapis.com/ajax/libs/prototype/1.6.0.2/prototype.js"> </script>

第二种通过 Google AJAX API Loader 的 google.load() 方法。

1
2
3
4
5
<script src="http://www.google.com/jsapi"></script>
<script>
  // Load jQuery
  google.load("jquery", "1");
</script>

更多详细介绍请看 AJAX Libraries API 网站。

2009年6月30日 | 标签: , , ,

在Windows IIS 6.0下配置PHP,通常有CGI、ISAPI和FastCGI三种配置方式,这三种模式都可以在IIS 6.0下成功运行,下面我就讲一下这三种方式配置的区别和性能上的差异。

  1、CGI(通用网关接口/Common Gateway Interface)一般是可执行程序,例如EXE文件,和WEB服务器各自占据着不同的进程,而且一般一个CGI程序只能处理一个用户请求。这样,当用户请求数量非常多时,会大量占用系统的资源,如内存、CPU时间等,造成效能低下。

  2、ISAPI(Internet Server Application Program Interface)是微软提供的一套面向WEB服务的API接口,它能实现CGI提供的全部功能,并在此基础上进行了扩展,如提供了过滤器应用程序接口。ISAPI应用大多数以DLL动态库的形式使用,可以在被用户请求后执行,,在处理完一个用户请求后不会马上消失,而是继续驻留在内存中等待处理别的用户输入。此外,ISAPI的DLL应用程序和WEB服务器处于同一个进程中,效率要显著高于CGI。

  在Windows Server 2003的IIS6下配置ISAPI方式的PHP,配置方法是,在IIS的“WEB服务扩展”中,添加一个新的WEB服务扩展,程序后缀为PHP,ISAPI程序为php5isapi.dll,然后再“环境变量”-“系统变量”中增加变量名PHPRC,数值为php.ini的路径,在Internet信息服务管理器中,选择网站或应用程序的根目录,打开目录属性页(右键选择“属性”),再选择“主目录”。点击“配置”按钮,选择“映射”Tab页。点击“添加…”,在“可执行文件”设为: c:\php\php5isapi.dll,扩展名设为.php,选择“确认文件是否存在”,然后“确定”保存设置。重启服务器即可完成PHP的配置。

  3、FastCGI是可伸缩架构的CGI开放扩展,其主要行为是将CGI解释器进程保持在内存中并因此获得较高的性能。传统的CGI解释器的反复加载是CGI性能低下的主要原因,如果CGI解释器保持在内存中并接受FastCGI进程管理器调度,则可以提供良好的性能、伸缩性等。

FastCGI已经集成于IIS7,也支持IIS6,在IIS6中的安装方法可参见微软的官方文档,我这里简单翻译一下。

  先点这里下载一个32位的FastCGI extension for IIS,然后将其安装,安装后的文件应该放到system32\inetsrv目录下。

  之后打开system32\inetsrv目录,执行下面的语句,其中c:\php为你的PHP目录,可以修改为其他数值。

  cscript fcgiconfig.js -add -section:"PHP" -extension:php -path:"c:\php\php-cgi.exe"

  在Internet信息服务管理器中,选择网站或应用程序的根目录,打开目录属性页(右键选择“属性”),再选择“主目录”。点击“配置”按钮,选择“映射”Tab页。点击“添加…”,在“可执行文件”设为: c:\windows\system32\inetsrv\fcgiext.dll,扩展名设为.php,选择“确认文件是否存在”,然后“确定”保存设置。

  修改php.ini文件,增加如下语句:

  fastcgi.impersonate = 1
  cgi.fix_pathinfo = 1
  cgi.force_redirect = 0

  之后打开system32\inetsrv目录,执行以下语句:

  cscript fcgiconfig.js -set -section:"PHP" -InstanceMaxRequests:10000
  cscript fcgiconfig.js -set -section:"PHP" -EnvironmentVars:PHP_FCGI_MAX_REQUESTS:10000

  最后,配置c:\php目录的安全性,使得IIS_WPG组对于这个目录有读取和执行的权限。

  这时候,基于FastCGI的PHP就成功配置到IIS6上了。

  不过根据我自己的测试,FastCGI的性能比ISAPI的好像高不了多少,不知道Windows Server 2008下的IIS7是不是会好一些。这里是微软提供的基于内置FastCGI的IIS7安装PHP的方法。

2009年6月30日 | 标签: , ,

Google 最近发布了一个 Firefox 的扩展:Page Speed,这个扩展集成在 Firefox 另外一个著名的扩展 Firebug 中形式出现。Page Speed 主要功能是分析网页,给出如何优化页面使得快速被加载的建议。

Page Speed 通过对网站服务配置和前后端代码进行一系列的测试来进行工作的,并且这些测试是基于一系列网页加速优化最佳实践,所以它给出的建议还是有很大的参考价值的。当你的安装了 Firebug 和 Page Speed 之后,点击 Page Speed 的标签页,点击性能分析按钮就可以开始对你的网页进行测试。

page-speed

Page Speed 会给出一些列的建议,并且给出详细的帮助。目前 Page Speed 会在如下几个方面给出建议:

Enable gzip compression
Leverage browser caching
Leverage proxy caching
Remove unused CSS
Serve static content from a cookieless domain
Use efficient CSS selectors
Minify JavaScript
Optimize images
Serve resources from a consistent URL
Minimize redirects
Put CSS in the document head
Minimize cookie size
Combine external JavaScript
Minimize DNS lookups
Optimize the order of styles and scripts
Avoid CSS expressions
Combine external CSS
Defer loading of JavaScript
Parallelize downloads across hostnames
Specify image dimensions
Yahoo 也推出过一个同样的网页加速建议 Firefox 插件:YSlow。现在 Google Chrome 是我主要的浏览器了,不知道什么时候 Google 会针对自己的浏览器推出相应的插件?

Page 4 of 10« First...2345610...Last »