April 13, 2010
如何构建高性能Web站点
"人们评估一个web站点的性能如何,通常先置身于用户的角度,访问该站点的一系列页面,体验等待时间\n在等待的时间里,大概经历了以下几部分的时间\n数据在网络上的传输时间\n站点服务器处理请求并生成回应数据的时间\n浏览器本地计算和渲染的时间\n作为web开发人员, 大部份情况下只要从”站点服务器处理请求并生成回应数据的时间”这点去考虑和设计, 尽量的减少在这一过程的时间,针对提高站点性能上的优化大概总结有如下方案.\n1. 增加宽带\n2. 减少网页的http请求\n在不影响美观和功能的情况下,尽量减少图片和脚本\n将多个图片合并为一个文件,利用CSS背景图片和偏移技术呈现在网页中,避免多个图片的下载\n合并Javascript或者CSS\n使用浏览器端的Cache策略,减少重复下载\n3.加快服务器脚本运算速度\n脚本语言编写的程序文件需要通过相应的脚本解释器进行解释后生成中间代码,脚本加速就是在这一过程中减少生成中间代码的时间。对于一些拥有较强商业 支持的脚本语言 ,比如Java和ASP.NET,均有内置的优化方案,如解释器对某个脚本程序第一次解释的时候,将中间代码缓存起来,以供下次直接使 用。对于开源类的脚 …"
April 13, 2010
smarty缓存使用技巧
"一、使用缓存\n要开启smarty的缓存,只需将caching设为true,并指定cache_dir即可.\n使用cache_lefetime指定 缓存生存时间,单位为秒\n要对相同页面生成多个不同的缓存,在display或fetch中加入第二参数cache_id, 如$smarty-\u0026gt;display(‘index.tpl’,$my_cache_id);此特性可用于对不同的$_GET进行不同的缓存\n二、清除缓存\nclear_all_cache();//清除所有缓存\nclear_cache(‘index.tpl’);// 清除index.tpl的缓存\nclear_cache(‘index.tpl’,cache_id);//清除指定id的缓存\n三、使用自定义缓存方式\n设置cache_handler_func使用自定义的函数处理缓存\n如:\n$smarty-\u0026gt;cache_handler_func = “myCache”;\nfunction myCache($action, \u0026amp;$smarty_obj, \u0026amp;$cache_content, $tpl_file=null, …"
April 12, 2010
mysql 中的触发器语法简介
"1. 语法:命名规则\nCREATE TRIGGER \u0026lt;触发器名称\u0026gt; \u0026lt;– { BEFORE | AFTER } { INSERT | UPDATE | DELETE } ON \u0026lt;表名称\u0026gt; FOR EACH ROW \u0026lt;触发器SQL语句\u0026gt;\n触发器必须有名字,最多64个字符,可能后面会附有分隔符.它和MySQL中其他对象的命名方式基本相象.\n这里我有个习惯:就是用表的名字+’_’+触发器类型的缩写.因此如果是表t26,触发器是在事件UPDATE(参考下面的点(2)和(3))之前 (BEFORE)的,那么它的名字就是t26_bu。\n2. 语法:触发时间\nCREATE TRIGGER \u0026lt;触发器名称\u0026gt; { BEFORE | AFTER } \u0026lt;– { INSERT | UPDATE | DELETE } ON \u0026lt;表名称\u0026gt; FOR EACH ROW \u0026lt;触发的SQL语句\u0026gt;\n触发器有执行的时间设置:可以设置为事件发生前或后 BEFORE | AFTER 。\n3. 语法:事件\nCREATE TRIGGER \u0026lt;触发器名 …"
April 12, 2010
mysql中的存储过程-语法
"简介: 一个存储过程包括名字,参数列表,以及可以包括很多SQL语句的SQL语句集。\n一个存储过程包括名字,参数列表,以及可以包括很多SQL语句的SQL语句集。\n创建存储 过程:\n语法:\nCREATE PROCEDURE p()\nBEGIN\n/此存储过程的正文/\nEND\nCREATE PROCEDURE productpricing()\nBEGIN\nSELECT Avg(pro_price) AS priceaverage\nFROMproducts;\nEND;\nbegin…end之间是存储过程的主体定义 mysql的分界符是分号(;) 调用存储 过程的方法是:\nCALL加上过程名以及一个括号 例 如调用上面定义的存储过程 CALL productpricing();\n哪 怕是不用传递参数,存储过程名字后面的括号“()”也是必须的 删除存储 过程的方法是:\nDROP PROCUDURE productpricing;\n创建带参 数的存储过程:\nCREATE PROCUDURE productpricing(\nOUT p1 DECIMAL(8,2),\nOUT ph DECIMAL(8,2), …"
April 12, 2010
让虚拟机实现开机自动后台运行
"1.从http://code.google.com/p/apploader/下载AppLoader并安装。 2.运行AppLoader Configure。 3.在Application File Name选择C:\\Program Files\\VMware\\VMware Workstation\\vmware.exe。 4.在Args输入 -x “D:\\VM backup\\Windows XP Professional\\Windows XP Professional.vmx”。(引号内是虚拟文件名,自行修改)。\n5.保存。 6.在services中重启RapidHorse Apploader的服务进行测试,以后关机重启时都将启动vmware。其他应用程序也如此处理。 7.注:vmware启动时会询问一些问题,一般都选择“下次不再出现”,另外为了防止启动时出现更新提示,preferences中的check for updates设置为never。\n方法2 第一步\n首先 打开虚拟机的主窗口 编辑 参数 同时勾上以下两个选项 在关闭后在后台运行电源已打开的虚拟机 虚拟机电源打开时显示托盘图标 …"
April 12, 2010
vmware 后台运行 如何 切换到前台
"来到新公司以后开始使用VMWare Workstation V6。这个新版本允许在有运行中的虚拟机时切换到后台运行,VMWare不再占用任务栏空间,这个平时不会使用的程序窗口也不会被切换出来。如果在菜单 “编辑”-\u0026gt;“参数”-\u0026gt;标签页“工作区间”中选择了“虚拟机电源打开时显示托盘图标”,被切换到后台的VMWare就会在系统托盘里留下一 个图标,可以用它再将VMWare切换到前台。不过我没有看到过这个图标,想来是我的VMWare并没有安装,而是从一个可执行程序中直接运行的。"
April 7, 2010
为Apache配置mod_deflat压缩输出[已测试]
"1、如果未安装Apache。编译时,加上–enable-deflate,例如:(仅针对Linux版,Windows版无须此步骤) ./configure –prefix=/usr/local/apache –enable-rewrite –enable-so –enable-deflate\n2、如果已安装Apache。添加mod_deflate模块,例如:(仅针对Linux版,Windows版无须此步骤) /usr/local/apache/bin/apxs -i -a -c /home/zhangyan/software/httpd-2.0.59/modules/filters/mod_deflate.c 注:/home/zhangyan/software/httpd-2.0.59/为Apache源码路径。\n3、进行以上步骤后,会在httpd.conf中自动加入一行:(Windows版请将下行最前面的#号去掉)\nLoadModule deflate_module modules/mod_deflate.so\n4、 编辑httpd.conf,增加: Linux版: …"
April 7, 2010
YSlow 使用指南_最新2.0使用指南中文版
"YSlow分析网页,并提出如何提高其性能的基础上一套规则,高性能的网页。我搜索一下”Yslow使用说明“,发现都是旧版本Yslow的使用介 绍。于是翻译了一下yahoo官方关于新版Yslow的的使用帮助,希望给初次使用Yslow的朋友一些帮助。\n注:英文不是很好,对着翻译软件翻译的,有不对的地方,大家指正。\n安装 YSlow 先安装 Firebug https://addons.mozilla.org/en-US/firefox/addon/1843\nFirebug 帮助文档 http://www.getfirebug.com/docs.html.\n再下载安装 http://developer.yahoo.com/yslow\n使用Yslow\nYslow是运行在Firebug窗口下,所有要运行Yslow,必须安装Firebug。\n有两种方法启动Yslow\n1、打开Firebug窗口,选择Yslow选项。\n2、直接点击浏览器右下角的Yslow启动按钮。\n你第一次打开Yslow时,以下图像作为Firebug的一部分被显示在的浏览器窗口。\n点击 Run Test 运行Yslow, …"
April 7, 2010
Apache 网站访问速度提升优化
"在 [Yahoo][1] 开 发者网站上,Yahoo 提出了 优 化网站性能的N条规则(Best Practices for Speeding Up Your Web Site)。这些规则是:\n尽可能的减少 HTTP 的请求数(Minimize HTTP Requests) —— Tag: content\n使用 CDN(Use a Content Delivery Network) —— Tag: server\n添加 Expires 头(或者 Cache-control ) (Add an Expires or a Cache-Control Header) —— Tag: server\nGzip 组件(Gzip Components) —— Tag: server\n将 CSS 样式放在页面的上方 (Put Stylesheets at the Top) —— Tag: css\n将脚本移动到底部(包括内联的)(Put Scripts at the Bottom) —— Tag: javascript"
April 7, 2010
Apache Cache Last-Modified、Expires和Etag相关工作原理
"使用ETag和Expires调优web 服务器性能\n正确使用Etag和Expires标识处理,可以使得页面更加有效被Cache。\n在客户端通过浏览器发出第一次请求某一个URL时,根据 HTTP 协议的规定,浏览器会向服务器传送报头(Http Request Header),服务器端响应同时记录相关属性标记(Http Reponse Header),服务器端的返回状态会是200,格式类似如下:\nHTTP/1.1 200 OK\nDate: Tue, 03 Mar 2009 04:58:40 GMT\nContent-Type: image/jpeg\nContent-Length: 83185\nLast-Modified: Tue, 24 Feb 2009 08:01:04 GMT\nCache-Control: max-age=2592000\nExpires: Thu, 02 Apr 2009 05:14:08 GMT\nEtag: “5d8c72a5edda8d6a:3239″\n客户端第二次请求此URL时,根据 HTTP 协议的规定,浏览器会向服务器传送报头(Http Request …"