2010年7月16日星期五

常用免费翻墙软件介绍

因为墙不像萝莉那样容易推倒,所以在没推倒它之前就只能翻过去。翻墙的基本原理就是通过第三方来连接到目标站点,有代理、VPN、SSH等方法,后2个在 传输数据时是加密的,安全性更好。
这里我推荐一些自己用过且比较方便的软件。

1、自 x 由 x 门

该软件是由一家有政治背景的公司开发的,主要目的就是为我国网民服务。我上传了目前最新的6.98 7.0专业版,点这里下载。

这是绿色软件,直接双击运行就行了。打开后它会提示在寻找服务器,等找到后该软件会自动打开IE浏览器,并且自动设置好IE的代理。此时IE会自动 打开一个满是新闻的网页,内容的真伪请自己辨别。这时你在IE浏览器里浏览任何网站都是无障碍的。软件运行后,假如检测到有新版本,它会提 示是否下载。你可以根据自己的需要选择。

软件寻找到服务器后才能起作用。假如它长时间找不到服务器的话,可能就是该软件已失效,或者你所处的网络延迟较大。

当然,不一定所有人都会用IE,假如用其它浏览器,比如Firefox,该怎么配合自由的门使用呢?

注意到软件的“内容”标签页下面有这样的话:“如使用其它浏览器请把代理设置成127.0.0.1:8580后使用 ”,如下图所示:

因此,你可以手动把firefox浏览器代理照上面设置。设置的地方在“工具”->“选项”->“高级”->”网络”标签页->” 设置”,然后照下图填写。

这样,你用firefox浏览网页时就是通过自由的门作为第三方代理了。

2、无 x 界

该软件的制作者背景类似自由的门。我上传了最新的9.95 9.97版,点这里下载。

压缩包只有390k,小巧玲珑。也是绿色软件,直接双击运行。界面如下:

连接服务器成功后它也会自动启动IE并设好代理地址。稍微有不同的是该软件运行时屏幕右下角 有个金色的锁的图标。

要配合其它浏览器使用该软件,请将代理地址设置成  127.0.0.1:9666

3、Gtunnel

Gtunnel比较有创意,整合了多种方法。我也上传了一个,点击这里下载。该软件有4种模式,在“设置”按钮下面选择。选择某一种模式后,当下图左上角的ie图标变为彩色 时,表明软件已正常工作,这时点这个ie图标,软件会打开ie并且自动设置好ie的代理地址,你就可以开始无障碍上网了。ie图标是灰色时表明还未开始工 作。

下面介绍一下它的4种工作模式。

第1种

标准模式,该模式工作原理类似前面介绍的,通过该软件自己的服务器作为代理;

第2种

skype模式。skype是一款网络电话软件,该模式原理是利用skype在线的其他用户作为代理。要使用该模式你需要装有skype软件。

(注意:skype 真正的官方地址是http://www.skype.com/,但是,在国内上这个网站的话会被强制重定向到skype.tom.com 这个网站,读者可以亲自试一下。Tom是skype在中国的合作伙伴,上面提供下载的是Tom版的skype。但skype官方也提供简体中文版,Tom 为什么要多此一举呢?因为中国版的skype加入了监控功能,当它发现你发送的信息中含有敏感词时,软件会自动记录这些信息发送到第三方服务器记录下来。 读者在学会本文的翻墙知识后可以去浏览这条BBC的新闻,上面有具体说明。你也可以参考维基百科中的skype条目。 skype官方版本点这里下载。)

言归正传,安装好skype后,选择“skype模式”,软件会自动工作,假如skype没有启动则会自动启动。然后登录你的skype帐号。第一 次用该模式的话会有个提醒,大概意思是问你是否允许Gtunnel软件使用skype,具体忘了,总之允许就行了。然后等Gtunnel连接skype网 络,当左上角ie图标变彩色时就能使用了。

第3种

Gtalk模式。Gtalk是Google开发的一款网络语音软件,类似skype,所以该模式原理也类似上一种模式。要使用该模式,你首先需要在 “设置”->“选项”->“传输模式”下输入谷歌帐号密码,没有的话就去申请一个。即使有帐号的人也建议去重新申请一个专门给这个软件用。

第4种

Tor模式。Tor是外国人开发的一款软件,简称洋葱路由(The Onion Router)。工作原理是这 样的:全世界所有的 Tor用户组成一个网络,你装了tor软件后,可以通过该网络中任意一个或几个用户的机器作为代理,访问目标网站。比如我要访问被封的英国BBC中文网 站,我可以先连到英国的某个tor用户,然后再连到BBC中文网。也可以先连到国内用户A,然后连到美国用户B,最后连接到英国的BBC中文网。总之在互 联网上,条条大路通罗马。

由于这种方法中间节点有时会过多,网络数据传输距离超过半个地球,从而导致速度缓慢,所以我不用这种方法,我也不推荐大家用。另外,据未经证实的小 道消息,国内网监部门会设立虚假的tor节点来监控连接到该节点的用户。假如真的存在这种情况,你可以在使用tor的过程中把所有国内的节点过滤掉,保证 安全。

如果使用firefox等其他浏览器,请把代理地址设置成  127.0.0.1:8081,如果端口8081被其他软件占用,GTunnel会自动使用其它端口,具体端口软件首页的界面上有写。

——————————————————————————————————————————————————

软件就介绍到这里。假如你是非ie用户你可能会发现要在其他浏览器使用这些软件比较麻烦,需要打开选项手动设置代理,不用时还要手动删除。在这里我 介绍一个Firefox浏览器的自动切换代理的插件:FoxProxy,下载地址点这里,点“添加到firefox”就能安装了。

安装好后,浏览器右下角状态栏内出现了它的图标。左键点击它会弹出如下对话框。

点击右边的“新建代理服务器”,弹出新的对话框如下图所示:

代理名称自己随便起一个,然后切换到“代理服务器细节”标签页。如下图:

照这张图设置。IP地址和端口这里再总结一下:自由的门是127.0.0.1:8580 ,无x界是127.0.0.1:9666,Gtunnel是127.0.0.1:8081。假如8081端口被其他软件占用,则会自动换端 口,软件界面上会有明确显示。

然后用同样的方法把其它几个软件的代理地址添加进去。当你要浏览某个被封的网页时,鼠标右键点击右下角的FoxProxy图标,在菜单中选择一个代 理服务器,比如我选择自由的门。

这时你只要运行自由的门软件,就能让火狐狸用它作为代理来浏览网页了。当你不想用代理时,在上面的菜单中选择“完全禁用FoxProxy”即可。

tor: 
Tor(The Onion Router)是第二代洋葱路由(onion routing)的一种实现,用户通过Tor

可 以在因特网上进行匿名交流。
下载

http://www.torproject.org/download.html.zh-cn
速度上tor很慢,而且如果不经常在线会致没有路由可用。
如果没有路由可以用可以先打开我下面提供的临时VPN更新一下。

最后提醒一下,用翻墙软件访问国内网站有时会很慢。所以假如不是必须要翻,还是不要翻了。

当然这些软件最好配上firefox加 autoproxy那就完美了
再提供大家一个云存储dropbox
https://www.dropbox.com/referrals/NTc4NzQ2Mzc5
非常的好用,但是被墙了,但是配上上面的软件设置一下还是可以的,也可以去下面的网址注册一个VPN,免费的http://www.vpn98.com/  但是一次只能用25分钟,用来每天更新DROPBOX和TOR不错。
牵着乌龟散步 墙外博客提供 http://netzhishi.blogspot.com/

分析:中国微博“被调试”与信息争夺战

到7月13号,纽约联合国总部前的世博难民胡燕已经坚持了一百天,期间收到全球各地华人的来电来信,表示支持, 令她十分感动。自由亚洲电台特约记者紫荆发自纽约的报导

看着胡燕拉开横幅、黏贴展板和照片的动作已经相当熟练了。从今年四月开始,她一直坚持在纽约联合国总部前设立反映上海强拆的特殊世博,从谁也不认识,到现在不断有朋友帮助和支持。跟记者聊天的当日她还接到纽约州一个上海同胞打来的电话。

胡燕:“他很多年没有回国了,想象不到上海居然是这样一个没有人权、没有任何合法权益,让他觉得他再也不想回中国了,他就是这种想法。在这里我做这些事情大家都是非常支持我的。我是一个真正的受害者,我在这里讲的都是真实的事情。 所以大家都很支持我。”

在胡燕挂出的照片中,有一张联合国官员观看她展板的, 他们刚刚参观世博会回来。
胡燕:“他们说上海非常漂亮,上海政府非常非常有钱。但是他们看了我的展览之后就说,啊,原来这个钱是这样来的。他们就问,这些被强迁的人到哪里去了?我们说,有些人是被劳教了;有些人是居无定所,流离失所;有些人是被关进精神病院。他完全不知道他们去参观的世博会有这么多侵犯人权、不人道的事情发生。”

这些官员去上海的钱是上海政府支持的。胡燕说,上海政府在世博期间有九千万美元的贵宾招待费,联合国副秘书长、上海世博会联合国馆总代表阿瓦尼•贝南要在中国驻六个月,其开销都是上海政府掠夺民众私有财产来的。

胡燕的麻雀行动也得到华人的行动相应。澳洲公民张小刚身穿写着支持麻雀行动字样的T-恤出现在世博会上。

胡燕:“他回到旅馆就被上海国安跟踪,叫做绑架。他们先是骗他说,公安查证件,然后把他骗到车上之后,两个人左右卡着他的脖子,黑布蒙头,跟他说:我们不是黑社会。(看着记者)你觉得可笑吗? 很可笑,对不对?他们做的就是黑社会的行径,然后说我们不是黑社会。” 张小刚经过十几个小时的审讯被押到机场递解出境。

胡燕:“后来从他的钱包里拿了钱,买了飞机票,把他强行押解出境。在浦东机场他们是全程拍摄的,被机场的工作人员阻止。他们就说了一句: 国安办事。那么就知道是上海国家安全局做的事情。”

胡燕最近在跟原单位(上海市浦东新区公立医院)同事的接触中被告知,单位领导已经把她称为反革命。


胡燕:“他们跟我说, 我们单位的领导说了,胡燕就是反革命,你们不要再跟她联络。我知道,国家安全局已经到我的办公室去搜查过,找我所有的同事谈话,然后把我几个关系比较好的同事的号码上交,意思就是监控了。”

令胡燕安慰的是,她们收到驻日内瓦的非政府机构「联合国观察」写来的信, 请各非政府机构给联合国秘书和有关部门写信,为上海世博会一万八千户被逼迁的人发出呼吁。该机构专门监督联合国的作为是否符合联合国宪章。

下一步,胡燕表示,正在争取和参加了世博会的联合国官员对话。 

以上是自由亚洲电台特约记者紫荆发自纽约的报导。 


 

Google Earth 7月图像更新,天朝地区高分辨率卫星图更新

Google 公布了7月 Google Earth 数据变化,包括天朝在内的大量国家高分辨率卫星图像都有更新。我认为这对于 Google 中国来说并不是什么好事,人家那边明确要求“三年内没有泄露过任何信息的记录”,你这边还忙着更新天朝高清卫星图供各大反动力量免费使用,什么居心嘛!

下图红色部分即为本次图像更新地区,包括威海,宁波,鄂尔多斯等城市。google_earth_image_july_2010

本次更新具体如下:

45度航拍图更新:

美国:盐湖城,沃思堡,阿比林,克利夫兰,新泽西和纽约的史泰登岛,布鲁克林,皇后区,布朗克斯区 
新西兰:奥塔基

高分辨率卫星图更新的国家:

墨西哥,古巴,洪都拉斯,牙买加,海地,多米尼加共和国,委内瑞拉,哥伦比亚,秘鲁,巴西,智利,乌拉圭,阿根廷,挪威,摩洛哥,阿尔及利亚,利比亚,埃及,尼日利亚,刚果,莫桑比克,俄罗斯,伊朗民主共和国,乌兹别克斯坦,巴基斯坦,印度,尼泊尔,孟加拉国,中国,越南,菲律宾,澳大利亚

中分辨率卫星图更新的国家:

巴西,瑞典,埃塞俄比亚,坦桑尼亚,塔吉克斯坦,老挝

点击这里下载图像更新地区的 kml 文件。

Chrome Frame提供MSI安装包下载

avstar 写道"Chrome Frame 是 Google 为了让 IE 浏览器能够使用 Chrome 内核渲染而打造的一款 IE 浏览器插件,可以让 IE 浏览器完美支持 HTML5、沙箱、JavaScript 等技术。此前安装 Chrome Frame 的方法一直只能通过 IE 浏览器访问 Chrome Frame 官方网站在线安装,对于网速不好的用户是一个很大的考验。最近,Chrome Frame 终于开始提供 MSI 格式的安装包下载了。大家可以直接点击这里下载 Chrome Frame 的 MSI 安装包 ,然后在本地安装。不过需要注意的是,目前仅仅针对 Chrome Frame Dev 分支提供了 MSI 安装包,也就是说如果通过这个安装包安装了 Chrome Frame 的话,内置在 IE 浏览器中的 Chrome Frame 插件是 Dev 分支的。还有一点需要说明的是虽然可以从本地安装,但还是必须有网络连接才可以完成,因为在安装的过程中会在线下载一个很小的文件。"

 

中国式愤青黑客又开工了

紧急通知:7.16日黒客大联盟全力攻打美国所有网络

由于美韩将举行军演一事引起广大爱国黑客a们的不满,
黑客网安,中国黑羽黑客联盟,零起步安全网,HS红客军团,雪域技术小组,中华隐士黑客基地,HS黑客联盟,天下黑客,太子黑客,华东黑客联盟
等爱国黑客组织以及以个人名义参加的有岁月黑客联盟,华夏黑客联盟成员等(截止到目前有近千人参加)开始,发动大规模攻击美韩网络活动。
由黑客网安赞助的IS语音频道:86110,

愤青们又开工了,中国式的运动,继上次什么圣战后又一行动。。。

 

 

2010年7月14日星期三

最简单的翻墙方法

用火狐的朋友,只要在火狐的附加组件里找到“go2 proxy”这个插件并安装,大部分墙外的网站就可以打开了,简单的你都不信

腾讯**网易**搜狐**新浪**推特**微博告诉我们

腾讯微博告诉我们:欲练神功,必先自宫;网易微博告诉我们:即使自宫,未必成功;搜狐微博告诉我们:若不自宫,必不成功;新浪微博告诉我们:成不成功,都先自宫;推特告诉我们:不必自宫,也能成功;

不用翻墙就可以看的五十个好网站,转自译言网

无法查看这则摘要。请 点击此处查看博文。

如何偷窥加密的 YouTube 视频?

经常有人在YouTube爆一些很给力的猛料,不过后来迫于压力又设置为私有,导致没赶上直播的同学就只能看到如上图那样的错误提示。被设置为私有的视频只能被上传者和上传者指定的用户观看,不过我们还是有办法偷窥一下。

比方说你看到有人贴了一个已经在后来被设置为私有的YouTube视频,打开网页源代码搜索youtube.com,找到嵌入的地址,比如是youtube.com/watch?v=FkTSUqPqsGE,这串红色hash码就是我们偷窥的锁眼儿。下面进入这四个地址,就可以偷窥到这段视频的4张截图(注意红色hash码要对应):

其中0.jpg是480x360大小的视频中间点的那张截图,1.jpg和3.jpg则是视频开头和结尾的小截图,2.jpg是0.jpg的缩略小图可以忽略不看。尽管YouTube将视频设置为私有,但视频截图在上传视频完毕之后就会自动生成,不管后来是否设置为私有都将一直存放在服务器上供大家参观。

其实什么这个门那个门的视频,看个头中尾的截图也就差不多了呃……

 

推荐一款好用的免费VPN-MacroVPN

MacroVPN是很早之前在功夫网(G.F.W Blog)看到的,自己用了几个月了,一直没有什么问题,十分的稳定,于是拿出来和大家分享一下~

主页:http://macrovpn.com/

macrovpn

从上图可以看到,MacroVPN还是很强大的,在美国、德国等N个国家都有服务器的,虽然感觉比较少,但是还是基本上满足需求的,对我个人来说, 有个美帝的VPN可以用已经足矣了…

下面申请帐号,申请地址:http://billing.macrovpn.com/reg.php, 首先在右上角将Language设置为简体中文,后面的事情就好办了,嫌麻烦的话只填写前面带*的就好,然后注意选择好另一个箭头指向的“初 始预付服务”,选择第一个A Free VPN(后面都是需要美刀的),最后勾选TOS前的对勾,点击“创建账户”, 即可成功申请。

regg

在控制面板登录界面,会发现依然可以选择中文~进入以后,“普通信息”下会发现账户状态为“未验证”,这时候点击“验证账户”进入新页面,那里需要 填写验证号码不要一直刷新,那里没有图片,验证号码作为邮件发送到了注册时填写的邮箱里…

yanzheng yanzheng1 yanzheng2

激活完毕以后,基本就没有别的事情了,下面要做的是新建一个网络连接(注意,MacroVPN是不使用客户端的)。

Windows VPN 设置教程

1、打开Windows控制面板。 
2、打开控制面板的网络连接项目。将会出现现有的拨号和局域网连接名单。 
3、 从左边的窗口选择’创建一个新的连接’项目。在Windows XP中新建连接向导将出现在屏幕上。 
4、首先单击下一步开始连接向导, 然后从清单中选择’连接到我工作场所的网络’项目,然后单击下一步。 
5、在网络连接向导中选择’虚拟专用网络连接’选项,并单击下一 步。 
6、为新的VPN中的’公司名称’输入一个名称并单击下一步。您可以输入您的工作地点名或您连接到的服务器名。 
7、 选择一个’公用网络’,并单击下一步。默认选项,自动拨此初始连接,选中后当电脑尚未连接到互联网之前首先拨通此连接再连接您的VPN。否则,选择’不要 拨初始连接’的选择。这个选项建立之前首先需要将公众的互联网连接上,这一新的VPN连接将开始。 
8、输入您要连接的计算机的主机名或 者IP地址,然后单击下一步。公司的网络管理员将提供这方面的资料。 
9、选择一个选项“连接可用性”屏幕,并单击下一步。默认选项,只 是我使用’ *确保Windows将会使这一新的连接只适用于当前登录的用户。否则,选择’任何人使用’的选择。 
10、点击’完成’以 完成该向导。新的VPN 连接的信息已保存。 
小提示: 
1、尽管输入’公司名称’没有任何限制和影响,但选择一个连接 名称,会利于以后更容易识别。 
2、请特别注意关键的VPN服务器名称/ IP地址的数据正确。 Windows XP的向导不会自动验证这台服务器的信息。

其他看这里:http://www.macrovpn.com/index.php?option=com_content&view=article&id=58&Itemid=27

2010年7月13日星期二

分析:“洪水”未退“绿坝”先溃

"绿坝"过滤软件曾在中国引发广泛争议

据《京华时报》报道,“绿坝”北京项目组已经于6月底关闭,而郑州的项目组也维持艰难。

该报说,“绿坝”目前在全中国共有2000万用户,以学生家长、学校和网吧为主。

构筑“绿坝”

2008年4月,原中国信息产业部在中央文明办、财政部等部门的支持下,首次向社会公开征集绿色上网过滤软件。

2009年5月,通过全面的评测工作,有关部门确定了2款技术、性能和功能最好的软件,即郑州金惠计算机系统工程有限公司的“金惠堵截黄色图像及不良信息专家系统”和北京大正语言知识处理有限公司的“花季护航上网管理软件”两款绿色上网过滤软件产品(简称绿坝过滤软件)。

随后,工信部等部委与这两家公司签订了“绿色上网过滤软件产品一年使用权及相关服务采购”项目合同,以国家出资4170万元人民币买断其使用权的方式提供社会免费使用。

据了解,这款软件具备拦截色情内容、过滤不良网站、控制上网时间、查看上网记录等功能。

工信部有关负责人说,由政府出资提供过滤软件供社会免费使用是国际通行做法,其目的就是为了防止未成年人受到互联网不良信息的影响,保护青少年健康成长。

不良信息

设计“绿坝”过滤软件的初衷是对付网上不良信息。但如何界定不良信息?判定一个网站是否色情和暴力、应该被过滤的规则由谁来制定?这都是值得由公众探讨和商榷的问题。

包括《中国青年报》在内的一些官方媒体也质疑哪部法律赋予了工信部提倡普及过滤软件的权利,并称这种权力不能强制性地进入百姓私生活之中,无论其初衷是多么良好,都不应该随意强制。

广州暨南大学欣慰恩与传播学院副院长董天策教授在接受BBC中文网采访时说,从保护青少年身心健康这一点出发来过滤一些不良信息是一种必要的管理手段。但是这里面的一个最大难点就是如何界定不良信息。

在他看来,这在技术层面上似乎很好确定,但实际上整个社会对什么是不良信息的认定是一个相当困难的问题,判定标准的尺度很难把握。

他说,要在这一问题上达成一个社会共识或者说靠技术来解决还需要很长的时间。


强烈反弹

工信部在2009年5月19日下发《关于计算机预装绿色上网过滤软件的通知》。要求7月1日以后,在中国境内生产销售的计算机出厂前需预装一款名为“绿坝-花季护航”(软件下载) (以下简称绿坝)的绿色上网过滤软件,而进口计算机在我国销售前也将预装该软件。

尽管工信部负责人说,此软件对用户上网行为不进行任何监控,也不搜集任何用户信息。但这一指令受到社会各界的强烈反弹,中国社科院政府政策系博士马光远的观点说,“家里是否上锁是我的自由”,在行使统一的要求时,应该有法律依据。

而中国计算机学会理事吕京建也认为,要让社会普遍使用一种电脑软件,应该公开听证。

在民意强烈反弹的情况下,中国政府不得不放弃在所有国内销售的电脑上预装该软件的计划。把绿坝软件免费安装范围缩小到学校、网吧。

董天策教授也承认,政府在最初推广绿坝软件时的确有些缺乏经验,操之过急。

他说,经过一年的实践,可能发现过滤软件本身还有存在很多问题。而当初让全社会所有人都接受采纳一个尚不成熟的技术这本身就是一个不明智的做法。

他认为,政府现在也是学习当中不断地吸取经验教训,不断地进步。

问题不断

自“绿坝”工程起步到现在已经过去一年多时间了。在这期间,除了遭遇许多网民的抵制以外,不少网民还对“绿坝”软件屏蔽网上色情材料的功效提出质疑,说一些不该删除的内容被删除,一些该删除的内容却没被删除。

此外,一些网民还在网上展开人肉搜索,查出两家中标公司的核心人物与负责招标的政府部门之间的人际关系,爆出“绿坝”软件招标过程中有商业利益链之嫌。

好像这一切还不够,今年一月美国加州一家专门开发网络过滤软件的电脑公司Cybersitter公司指控称,“绿坝—花季护航”软件中有3000行指令码是从该公司的软件非法抄袭的。

中国金惠计算机系统工程有限公司总经理张晨民针对此事作出正面回应称:“绿坝与美国公司软件的黑名单地址库确有‘类似之处’,但是我们没偷他们的软件代码!”

Cybersitter向加州中区联邦地方法院西部分区提出诉讼,向中国政府等10名被告提出诉讼,索偿22亿美元。

物极必反?

大陆青年作家韩寒曾在去年绿坝软件刚刚面世时发表博文,为绿坝软件勾勒出一幅极具讽刺意味的“发展蓝图”。

文中说,2009年出台的绿坝软件为实验版;2011年将推出正式版的绿坝二代;2013年版的第三代绿坝软件属智能版;2015年绿坝四代超级智能版上市,其性能超过前几代。但是,2019年相关部门终于废弃了第四代绿坝,原因是在一天夜里绿坝系统擅自将天安门上的毛泽东像换成自己的绿坝牌商标。

寓言并未就此结束,韩寒最后写到,2020年绿坝全新版-绿爷诞生,绿爷将不会对任何电子产品产生效果,它将直接移植入新生儿的脑中……

现在看来,实验版绿坝还没有过渡到正式版便已夭折。真可谓,色情暴力的“洪水猛兽”未退,抵制它们的“绿坝护航”却先决堤。

 

2010年7月12日星期一

可以运行在GAE上的开源代理

(说明:部分链接需用代理翻墙访问)

GAppProxy (1.0.0beta版不能浏览视频网站,但1.2.0版能浏览视频网站)

GAppProxy是现在最常见的基于GAE的代理之一,当然由于各类翻墙站点对他的宣传,教程等等相当不少,还有Windows下的GUI客户端,可以作为服务运行,开机自动启动,可直接使用。

优点:支持Cookies,用起来和普通的HTTP代理一样。
缺点:需要安装客户端,。
Site:http://code.google.com/p/gappproxy/
Forum:http://groups.google.com/group/gappproxy/
SVN:http://gappproxy.googlecode.com/svn/trunk

Hyk-proxy

Hyk-proxy另一款开源代理,可运行在Google AppEngine平台和Seattle平台,也在逐渐流行起来。

缺点:对Https的支持不太理想,与GappProxy比较,易用性差。
优点:支持HTTP & XMPP两种模式。
Site:http://code.google.com/p/hyk-proxy/
Forum:http://code.google.com/p/hyk-proxy/w/list
SVN:http://hyk-proxy.googlecode.com/svn/trunk

Mirrorrr

Mirrorrr是运行在GAE上的Web 在线代理,同样少不了各类翻墙站点的宣传。

缺点:和绝大多数web代理一样,Mirrorrr没法处理表单,不支持Cookies,不能看youtube视频。另外Mirrorrr不支持地址加密,无法对付URL过滤,对Js的支持也不友善。
优点:对Https支持的比较好。图像有缓存,自然比较快
Site:http://code.google.com/p/mirrorrr/
Live:http://mirrorrr.appspot.com/
Forum:http://code.google.com/p/mirrorrr/issues/list
SVN:http://Mirrorrr.googlecode.com/svn/trunk

Enproxy

Enproxy和Mirrorrr使用起来很像,当然在看过代码之后,会知道这2个代理还是完全不同的。虽然代码放在GoogleCode但实际使用和Live站点有区别。作者看来太看重money,却不知道不久和自己的live站要被GFW。

其他缺点:相比Mirrorrr有广告,但既然代码在手,移除或更换代码还是简单的,其他mirrorrr有的缺点都有。
优点:速度快。
Site:http://code.google.com/p/enproxy/
Live:http://enproxy.appspot.com/
Forum:http://code.google.com/p/enproxy/w/list
SVN:http://enproxy.googlecode.com/svn/trunk

Masher Nations

很像一个web proxy的半成品。不过提供了API。

优点:几乎没优点,不过不少网站还是成功代理了。不知道代码模块话算不算优点。
缺点:需要安装客户端。
Site:http://code.google.com/p/masher-nations/
Forum:http://groups.google.com/group/masher-nations
SVN:http://masher-nations.googlecode.com/svn/trunk

Itube Appengine

看名字就知道,这个代理是为了Youtube服务的。现在我们要做的,就是研究他的代码,让其他web proxy也支持youtube。

优点:他支持Youtube,别的web proxy都做不到。
缺点:除了代理Youtube什么都做不到。
Site:http://code.google.com/p/itube-appengine/
Live:http://itube.appspot.com/
Forum:http://dugumkume.org/google-app-engine-uzerinden-youtubea-nasil-erisilir
SVN:http://itube-appengine.googlecode.com/svn/trunk

G-Proxy(very bad)

很快的代理web proxy,不过不是python而是java编写的 。支持部分表单的提交,希望作者能继续完善。

缺点:防盗链的图片无法显示,不支持Cookies。
优点:支持ajax,javascript,css等所有外围文件,支持href、src、action等属性的链接转换。
Site:http://code.google.com/p/g-proxy/http://blog.liuhongwei.cn/
Live:https://g-proxy.appspot.com/
Forum:http://blog.liuhongwei.cn/my-opensource/g-proxy-free-https/
SVN:http://g-proxy.googlecode.com/svn/trunk

Bullog4cn

牛博国际的appspot代理 ,和广义上的代理不一样,你不能输入站点,只能代理一个UTF-8编码的站点。本站的SSL 镜像就是用它做的,可以理解为利用GAE的服务器做加速。

Site:http://code.google.com/p/bullog4cn/
Live:https://bullog4cn.appspot.com/
Forum:https://bullog4cn.appspot.com/
SVN:http://bullog4cn.googlecode.com/svn/trunk

Tohr

Tohr 是Solrex Yang开发的一个 HTTP 层上的洋葱路由器。使用起来类似GAppProxy,但是作者的用户界面做的还不是很好,没有图形界面。仅适合爱折腾并且懂php/python的人使用。还好,作者更新很快。

Site:http://tohr.sourceforge.net/
Forum:http://blog.solrex.cn/articles/tohr-the-onion-http-router.html
SVN:https://tohr.svn.sourceforge.net/svnroot/tohr

hyk-proxy: http://http://code.google.com/p/bullog4cn/  能浏览视频网站,我觉得比gappproxy好用。

 

2010年7月10日星期六

6 个 Linux性能监控命令行工具

1.htop—— http://htop.sourceforge.net/

一个可以让用户与之交互的进程查看器。作为文本模式的应用程序,主要用于控制台或 X 终端中。当前具有按树状方式来查看进程,支持颜色主题,可以定制等特性。



2.dstat —— http://dag.wieers.com/home-made/dstat/

一个用来替换vmstat, iostat, netstat, nfsstat 和ifstat 这些命令的工具,是一个全能系统信息统计工具。

 

3.BMon——http://freshmeat.net/projects/bmon/

一个易于使用的软件,该软件可以帮助您监测蓝牙设备。

 

4.Iftop——http://www.ex-parrot.com/pdw/iftop/

主要用来显示本机网络流量情况及各相互通信的流量集合,如单独同那台机器间的流量大小,非常适合于代理服务器和iptables服务器使用


 

5.ifstat——http://gael.roualland.free.fr/ifstat/

一个非常不错的检测网络活动状态的软件


 
6.Sysstat——http://pagesperso-orange.fr/sebastien.godard/

包含监测系统性能及效率的一组工具,这些工具对于我们收集系统性能数据,比如CPU使用率、硬盘和网络吞吐数据,这些数据的收集和分析,有利于我们判断系统是否正常运行,是提高系统运行效率、安全运行服务器的得力助手。


2010年7月8日星期四

1-click Google Docs View -Firefox 扩展

1-click Google Docs View 是一款 Firefox 扩展,可以让你在浏览器上用 Google Docs 打开网页上的文档(DOC, DOCX, PDF, PPT and TIFF)链接,节省了下载后才能利用客户端软件打开的步骤,如果你的电脑没有安装相应的软件,想打开文档还是比较麻烦的。@Appinn

经常的,我们会在搜索引擎中搜索文档,而 Google 是可以直接搜索到文档的,这个时候如果安装了这款 1-click Google Docs View 扩展,其会直接显示 Google Docs 的链接,点击自动打开 Google Docs

当然,不光是搜索引擎,只要是网页上的文档链接(DOC, DOCX, PDF, PPT and TIFF),都会出现 Google Docs 链接,非常方便使用。不过前提是你能方便的使用 Google Docs

https://addons.mozilla.org/en-US/firefox/addon/184054/

如何翻墙

直到上周我才开始用MyEnTunnel这个软件,这个软件相当于putty的外壳,调用了putty的命令行工具plink.exe

实在是比putty来的方便多了,起码不用我每次打开putty,然后还要输入账号密码。

另外还能断线自动连接,方便啊

现在主力就是 MyEnTunnel + Firefox + FoxyProxy

 

翻墙N种免费方法

GFW扫盲
   如果你从来不知“GFW”为何物,我可以通俗地扫盲一下:GFW就是我党为了加强对互联网的控制和封锁,下大力气、花大价钱搞出来的一个 firewall。既然是花大价钱搞出来的,自然是很牛很强大。这玩意儿具有如下基本功能:DNS欺骗(域名劫持)、IP封锁、关键字过滤,通过这几项功能,可以有效阻止网民看到党不想让你看到的信息。因此,你上网的自由和你的知情权,也一并被党剥夺了。

  ★翻墙方法
  据我观察,还是有许多人想上那些被GFW屏蔽掉的网站的,怎样才能绕过GFW呢,答之曰翻墙,熟能生巧,日积月累,于是乎,就这样,从那些已经翻的,正在翻的和将要翻的同志里诞生了许多翻墙高手,他们的翻墙姿势很多,这里我班门弄斧,为大家总结一下翻墙的各种不同的姿势。

  姿势一:Google
    Google提供了很多优秀的、基于Web的产品,这些产品基本上都支持https方式访问,因此可以被用作穿墙利器。
  ◇Google Reader
  Google Reader本身是纯Web方式的RSS阅读器(无需安装第三方软件),而且还支持https的加密方式。
  有鉴于许多被墙的网站都提供了RSS订阅,只要把这些RSS订阅源加入Google Reader即可轻松穿墙,使用此招数的关键是:切记用https方式(https://www.google.com/reader/)访问Google Reader,千万不要用http方式。
  ◇Gmail
  Gmail本身支持https方式访问,因此也成了另一个翻墙的利器。使用Gmail之前,记得到Gmail的“设置”界面,找到“常规”标签页,把里面的“始终使用https”勾上。
  有些敏感的网站,为了便于大伙儿访问,专门提供了邮件订阅功能,你可以通过邮件获取这些网站的每日更新。还有很多论坛(比如Google Groups上的论坛),也都提供邮件订阅功能。
  ◇Google Docs
  Google Docs也支持https方式,所以你可以用它来写各种政治敏感的文章,然后再分享到 Internet上,用这种方式分享的好处在于,Google Docs的URL路径是一串无规律的字符串,GFW不容易进行封杀。
   
  姿势二:修改hosts文件
  大部分操作系统都支持hosts文件,它提供了IP 的别名机制,这种IP的别名机制可以用来对抗GFW的域名封锁。
   设置的方法是,如果你使用Windows系统,可以使用如下命令:notepad%SystemRoot%\system32\drivers\etc\hosts来打开hosts文件;
    如果你使用Linux系统,可以使用如下命令:vi /etc/hosts来打开。
    打开之后,把那些被封锁的网站的IP及域名加入hosts文件(每行一个)即可。比如上述提到的Google Docs,它的IP是209.85.225.101,那我们只要在host加入“209.85.225.101 docs.google.com”,然后就可以像往常一样使用基于https协议的Google Docs了。

  姿势三:加密Web代理
  基于https方式的加密Web代理类似于Google Reader,无需安装其它软件,光靠浏览器就可以搞定。不过,https代理一旦用的人多了,容易引起GFW的注意,死期也就不远了。
  下面隆重推出截至到 2010年5月22日还能用的Web代理,假如你运气够好,当你看到这里时,这些代理没准还能用。
https://www.awxcnx.de/tor-i2p-proxy.htm
https://www.youtubeunblock.biz/
https://www.evadeunblock.com/
https://aniscartujo.com/webproxy
https://morphium.info/

  姿势四:代理软件
  按照是否加密,代理软件可分为加密代理和不加密代理2种,为了避开GFW敏感词过滤,咱们得使用加密代理软件。
  按照协议类型,常见的有HTTP代理和SOCKS代理。如果你纯粹用浏览器翻墙,HTTP代理就够用了;如果你还需要让其它软件(比如MSN)翻墙,那就的用SOCKS代理。
  由于使用加密的方式穿透GFW,所以性能上肯定会打折扣。对于使用 Firefox的同学,可以安装一些第三方的代理插件(比如autoproxyfoxyproxy),用来自动切换代理模式和非代理模式。
  目前很多代理软件的官方站点都已经被墙,为了便于大伙儿下载,我把几个常用的工具放到“墙内能访问的地方”。
   
  姿势五:VPN客户端
  原理:VPN其实也是在本地与远程的VPN服务器之间建立一个加密通道,所有数据都经由国外的VPN服务器到达目的网站。但是,与代理软件不同,VPN 软件会在你的系统中虚拟出一个网卡来。然后,你上网的应用程序(不管是何种类型),都可以通过这个虚拟网卡和VPN服务端进行数据传输。
  有些提供VPN服务的公司,直接使用开源的、大名鼎鼎的OpenVPN作为客户端,你可以到“这里”下载;还有一些则使用自己公司开发的客户端,因此你需要到它的官方站点下载。
    可以免费使用的VPN:Hotspot Shield、UltraVPN、Arethusa VPN、PacketiX VPN

 

2010年7月7日星期三

MySQL 性能优化的最佳20+条经验

今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显。关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们程序员需要去关注的事情。当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能。这里,我们不会讲过多的SQL语句的优化,而只是针对MySQL这一Web应用最多的数据库。希望下面的这些优化技巧对你有用。

1. 为查询缓存优化你的查询

大多数的MySQL服务器都开启了查询缓存。这是提高性最有效的方法之一,而且这是被MySQL的数据库引擎处理的。当有很多相同的查询被执行了多次的时候,这些查询结果会被放到一个缓存中,这样,后续的相同的查询就不用操作表而直接访问缓存结果了。
这里最主要的问题是,对于程序员来说,这个事情是很容易被忽略的。因为,我们某些查询语句会让MySQL不使用缓存。请看下面的示例:

上面两条SQL语句的差别就是 CURDATE() ,MySQL的查询缓存对这个函数不起作用。所以,像 NOW() 和 RAND() 或是其它的诸如此类的SQL函数都不会开启查询缓存,因为这些函数的返回是会不定的易变的。所以,你所需要的就是用一个变量来代替MySQL的函数,从而开启缓存。

2. EXPLAIN 你的 SELECT 查询
使用 EXPLAIN 关键字可以让你知道MySQL是如何处理你的SQL语句的。这可以帮你分析你的查询语句或是表结构的性能瓶颈。
EXPLAIN 的查询结果还会告诉你你的索引主键被如何利用的,你的数据表是如何被搜索和排序的……等等,等等。
挑一个你的SELECT语句(推荐挑选那个最复杂的,有多表联接的),把关键字EXPLAIN加到前面。你可以使用phpmyadmin来做这个事。然后,你会看到一张表格。下面的这个示例中,我们忘记加上了group_id索引,并且有表联接:

我们可以看到,前一个结果显示搜索了 7883 行,而后一个只是搜索了两个表的 9 和 16 行。查看rows列可以让我们找到潜在的性能问题。

3. 当只要一行数据时使用 LIMIT 1
当你查询表的有些时候,你已经知道结果只会有一条结果,但因为你可能需要去fetch游标,或是你也许会去检查返回的记录数。
在这种情况下,加上 LIMIT 1 可以增加性能。这样一样,MySQL数据库引擎会在找到一条数据后停止搜索,而不是继续往后查少下一条符合记录的数据。
下面的示例,只是为了找一下是否有“中国”的用户,很明显,后面的会比前面的更有效率。(请注意,第一条中是Select *,第二条是Select 1)

4. 为搜索字段建索引
索引并不一定就是给主键或是唯一的字段。如果在你的表中,有某个字段你总要会经常用来做搜索,那么,请为其建立索引吧。

从上图你可以看到那个搜索字串 “last_name LIKE ‘a%’”,一个是建了索引,一个是没有索引,性能差了4倍左右。
另外,你应该也需要知道什么样的搜索是不能使用正常的索引的。例如,当你需要在一篇大的文章中搜索一个词时,如: “WHERE post_content LIKE ‘%apple%’”,索引可能是没有意义的。你可能需要使用MySQL全文索引 或是自己做一个索引(比如说:搜索关键词或是Tag什么的)

5. 在Join表的时候使用相当类型的例,并将其索引
如果你的应用程序有很多 JOIN 查询,你应该确认两个表中Join的字段是被建过索引的。这样,MySQL内部会启动为你优化Join的SQL语句的机制。
而且,这些被用来Join的字段,应该是相同的类型的。例如:如果你要把 DECIMAL 字段和一个 INT 字段Join在一起,MySQL就无法使用它们的索引。对于那些STRING类型,还需要有相同的字符集才行。(两个表的字符集有可能不一样)

6. 千万不要 ORDER BY RAND()
想打乱返回的数据行?随机挑一个数据?真不知道谁发明了这种用法,但很多新手很喜欢这样用。但你确不了解这样做有多么可怕的性能问题。
如果你真的想把返回的数据行打乱了,你有N种方法可以达到这个目的。这样使用只让你的数据库的性能呈指数级的下降。这里的问题是:MySQL会不得不去执行RAND()函数(很耗CPU时间),而且这是为了每一行记录去记行,然后再对其排序。就算是你用了Limit 1也无济于事(因为要排序)
下面的示例是随机挑一条记录

7. 避免 SELECT *
从数据库里读出越多的数据,那么查询就会变得越慢。并且,如果你的数据库服务器和WEB服务器是两\台\独立的服务器的话,这还会增加网络传输的负载。
所以,你应该养成一个需要什么就取什么的好的习惯。

8. 永远为每张表设置一个ID
我们应该为数据库里的每张表都设置一个ID做为其主键,而且最好的是一个INT型的(推荐使用UNSIGNED),并设置上自动增加的 AUTO_INCREMENT标志。
就算是你 users 表有一个主键叫 “email”的字段,你也别让它成为主键。使用 VARCHAR 类型来当主键会使用得性能下降。另外,在你的程序中,你应该使用表的ID来构造你的数据结构。
而且,在MySQL数据引擎下,还有一些操作需要使用主键,在这些情况下,主键的性能和设置变得非常重要,比如,集群,分区……
在这里,只有一个情况是例外,那就是“关联表”的“外键”,也就是说,这个表的主键,通过若干个别的表的主键构成。我们把这个情况叫做“外键”。比如:有一个“学生表”有学生的ID,有一个“课程表”有课程ID,那么,“成绩表”就是“关联表”了,其关联了学生表和课程表,在成绩表中,学生ID和课程ID 叫“外键”其共同组成主键。

9. 使用 ENUM 而不是 VARCHAR
ENUM 类型是非常快和紧凑的。在实际上,其保存的是 TINYINT,但其外表上显示为字符串。这样一来,用这个字段来做一些选项列表变得相当的完美。
如果你有一个字段,比如“性别”,“国家”,“民族”,“状态”或“部门”,你知道这些字段的取值是有限而且固定的,那么,你应该使用 ENUM 而不是 VARCHAR。
MySQL也有一个“建议”(见第十条)告诉你怎么去重新组织你的表结构。当你有一个 VARCHAR 字段时,这个建议会告诉你把其改成 ENUM 类型。使用 PROCEDURE ANALYSE() 你可以得到相关的建议。

10. 从 PROCEDURE ANALYSE() 取得建议
PROCEDURE ANALYSE() 会让 MySQL 帮你去分析你的字段和其实际的数据,并会给你一些有用的建议。只有表中有实际的数据,这些建议才会变得有用,因为要做一些大的决定是需要有数据作为基础的。
例如,如果你创建了一个 INT 字段作为你的主键,然而并没有太多的数据,那么,PROCEDURE ANALYSE()会建议你把这个字段的类型改成 MEDIUMINT 。或是你使用了一个 VARCHAR 字段,因为数据不多,你可能会得到一个让你把它改成 ENUM 的建议。这些建议,都是可能因为数据不够多,所以决策做得就不够准。
在phpmyadmin里,你可以在查看表时,点击 “Propose table structure” 来查看这些建议

一定要注意,这些只是建议,只有当你的表里的数据越来越多时,这些建议才会变得准确。一定要记住,你才是最终做决定的人。

11. 尽可能的使用 NOT NULL
除非你有一个很特别的原因去使用 NULL 值,你应该总是让你的字段保持 NOT NULL。这看起来好像有点争议,请往下看。
首先,问问你自己“Empty”和“NULL”有多大的区别(如果是INT,那就是0和NULL)?如果你觉得它们之间没有什么区别,那么你就不要使用 NULL。(你知道吗?在 Oracle 里,NULL 和 Empty 的字符串是一样的!)
不要以为 NULL 不需要空间,其需要额外的空间,并且,在你进行比较的时候,你的程序会更复杂。 当然,这里并不是说你就不能使用NULL了,现实情况是很复杂的,依然会有些情况下,你需要使用NULL值。
下面摘自MySQL自己的文档:

12. Prepared Statements
Prepared Statements很像存储过程,是一种运行在后台的SQL语句集合,我们可以从使用 prepared statements 获得很多好处,无论是性能问题还是安全问题。
Prepared Statements 可以检查一些你绑定好的变量,这样可以保护你的程序不会受到“SQL注入式”攻击。当然,你也可以手动地检查你的这些变量,然而,手动的检查容易出问题,而且很经常会被程序员忘了。当我们使用一些framework或是ORM的时候,这样的问题会好一些。
在性能方面,当一个相同的查询被使用多次的时候,这会为你带来可观的性能优势。你可以给这些Prepared Statements定义一些参数,而MySQL只会解析一次。
虽然最新版本的MySQL在传输Prepared Statements是使用二进制形势,所以这会使得网络传输非常有效率。
当然,也有一些情况下,我们需要避免使用Prepared Statements,因为其不支持查询缓存。但据说版本5.1后支持了。
在PHP中要使用prepared statements,你可以查看其使用手册:mysqli 扩展 或是使用数据库抽象层,如: PDO.

13. 无缓冲的查询
正常的情况下,当你在当你在你的脚本中执行一个SQL语句的时候,你的程序会停在那里直到没这个SQL语句返回,然后你的程序再往下继续执行。你可以使用无缓冲查询来改变这个行为。
关于这个事情,在PHP的文档中有一个非常不错的说明: mysql_unbuffered_query() 函数:

上面那句话翻译过来是说,mysql_unbuffered_query() 发送一个SQL语句到MySQL而并不像mysql_query()一样去自动fethch和缓存结果。这会相当节约很多可观的内存,尤其是那些会产生大量结果的查询语句,并且,你不需要等到所有的结果都返回,只需要第一行数据返回的时候,你就可以开始马上开始工作于查询结果了。
然而,这会有一些限制。因为你要么把所有行都读走,或是你要在进行下一次的查询前调用 mysql_free_result() 清除结果。而且, mysql_num_rows() 或 mysql_data_seek() 将无法使用。所以,是否使用无缓冲的查询你需要仔细考虑。

14. 把IP地址存成 UNSIGNED INT
很多程序员都会创建一个 VARCHAR(15) 字段来存放字符串形式的IP而不是整形的IP。如果你用整形来存放,只需要4个字节,并且你可以有定长的字段。而且,这会为你带来查询上的优势,尤其是当你需要使用这样的WHERE条件:IP between ip1 and ip2。
我们必需要使用UNSIGNED INT,因为 IP地址会使用整个32位的无符号整形。
而你的查询,你可以使用 INET_ATON() 来把一个字符串IP转成一个整形,并使用 INET_NTOA() 把一个整形转成一个字符串IP。在PHP中,也有这样的函数 ip2long() 和 long2ip()。

15. 固定长度的表会更快
如果表中的所有字段都是“固定长度”的,整个表会被认为是 “static” 或 “fixed-length”。 例如,表中没有如下类型的字段: VARCHAR,TEXT,BLOB。只要你包括了其中一个这些字段,那么这个表就不是“固定长度静态表”了,这样,MySQL 引擎会用另一种方法来处理。
固定长度的表会提高性能,因为MySQL搜寻得会更快一些,因为这些固定的长度是很容易计算下一个数据的偏移量的,所以读取的自然也会很快。而如果字段不是定长的,那么,每一次要找下一条的话,需要程序找到主键。
并且,固定长度的表也更容易被缓存和重建。不过,唯一的副作用是,固定长度的字段会浪费一些空间,因为定长的字段无论你用不用,他都是要分配那么多的空间。
使用“垂直分割”技术(见下一条),你可以分割你的表成为两个一个是定长的,一个则是不定长的。

16. 垂直分割
“垂直分割”是一种把数据库中的表按列变成几张表的方法,这样可以降低表的复杂度和字段的数目,从而达到优化的目的。(以前,在银行做过项目,见过一张表有100多个字段,很恐怖)
示例一:在Users表中有一个字段是家庭地址,这个字段是可选字段,相比起,而且你在数据库操作的时候除了个人信息外,你并不需要经常读取或是改写这个字段。那么,为什么不把他放到另外一张表中呢? 这样会让你的表有更好的性能,大家想想是不是,大量的时候,我对于用户表来说,只有用户ID,用户名,口令,用户角色等会被经常使用。小一点的表总是会有好的性能。
示例二: 你有一个叫 “last_login” 的字段,它会在每次用户登录时被更新。但是,每次更新时会导致该表的查询缓存被清空。所以,你可以把这个字段放到另一个表中,这样就不会影响你对用户 ID,用户名,用户角色的不停地读取了,因为查询缓存会帮你增加很多性能。
另外,你需要注意的是,这些被分出去的字段所形成的表,你不会经常性地去Join他们,不然的话,这样的性能会比不分割时还要差,而且,会是极数级的下降。

17. 拆分大的 DELETE 或 INSERT 语句
如果你需要在一个在线的网站上去执行一个大的 DELETE 或 INSERT 查询,你需要非常小心,要避免你的操作让你的整个网站停止相应。因为这两个操作是会锁表的,表一锁住了,别的操作都进不来了。
Apache 会有很多的子进程或线程。所以,其工作起来相当有效率,而我们的服务器也不希望有太多的子进程,线程和数据库链接,这是极大的占服务器资源的事情,尤其是内存。
如果你把你的表锁上一段时间,比如30秒钟,那么对于一个有很高访问量的站点来说,这30秒所积累的访问进程/线程,数据库链接,打开的文件数,可能不仅仅会让你泊WEB服务Crash,还可能会让你的整台服务器马上掛了。
所以,如果你有一个大的处理,你定你一定把其拆分,使用 LIMIT 条件是一个好的方法。下面是一个示例:

18. 越小的列会越快
对于大多数的数据库引擎来说,硬盘操作可能是最重大的瓶颈。所以,把你的数据变得紧凑会对这种情况非常有帮助,因为这减少了对硬盘的访问。
参看 MySQL 的文档 Storage Requirements 查看所有的数据类型。
如果一个表只会有几列罢了(比如说字典表,配置表),那么,我们就没有理由使用 INT 来做主键,使用 MEDIUMINT, SMALLINT 或是更小的 TINYINT 会更经济一些。如果你不需要记录时间,使用 DATE 要比 DATETIME 好得多。
当然,你也需要留够足够的扩展空间,不然,你日后来干这个事,你会死的很难看,参看Slashdot的例子(2009年11月06日),一个简单的 ALTER TABLE语句花了3个多小时,因为里面有一千六百万条数据。

19. 选择正确的存储引擎
在 MySQL 中有两个存储引擎 MyISAM 和 InnoDB,每个引擎都有利有弊。酷壳以前文章《MySQL: InnoDB 还是 MyISAM?》讨论和这个事情。
MyISAM 适合于一些需要大量查询的应用,但其对于有大量写操作并不是很好。甚至你只是需要update一个字段,整个表都会被锁起来,而别的进程,就算是读进程都无法操作直到读操作完成。另外,MyISAM 对于 SELECT COUNT(*) 这类的计算是超快无比的。
InnoDB 的趋势会是一个非常复杂的存储引擎,对于一些小的应用,它会比 MyISAM 还慢。他是它支持“行锁” ,于是在写操作比较多的时候,会更优秀。并且,他还支持更多的高级应用,比如:事务。
下面是MySQL的手册
target=”_blank”MyISAM Storage Engine
InnoDB Storage Engine

20. 使用一个对象关系映射器(Object Relational Mapper)
使用 ORM (Object Relational Mapper),你能够获得可靠的性能增涨。一个ORM可以做的所有事情,也能被手动的编写出来。但是,这需要一个高级专家。
ORM 的最重要的是“Lazy Loading”,也就是说,只有在需要的去取值的时候才会去真正的去做。但你也需要小心这种机制的副作用,因为这很有可能会因为要去创建很多很多小的查询反而会降低性能。
ORM 还可以把你的SQL语句打包成一个事务,这会比单独执行他们快得多得多。
目前,个人最喜欢的PHP的ORM是:Doctrine。

21. 小心“永久链接”
“永久链接”的目的是用来减少重新创建MySQL链接的次数。当一个链接被创建了,它会永远处在连接的状态,就算是数据库操作已经结束了。而且,自从我们的Apache开始重用它的子进程后——也就是说,下一次的HTTP请求会重用Apache的子进程,并重用相同的 MySQL 链接。
PHP手册:mysql_pconnect()
在理论上来说,这听起来非常的不错。但是从个人经验(也是大多数人的)上来说,这个功能制造出来的麻烦事更多。因为,你只有有限的链接数,内存问题,文件句柄数,等等。
而且,Apache 运行在极端并行的环境中,会创建很多很多的了进程。这就是为什么这种“永久链接”的机制工作地不好的原因。在你决定要使用“永久链接”之前,你需要好好地考虑一下你的整个系统的架构。