2008年4月30日星期三

三月份国际搜索引擎市场占有率

  据Compete报道,Compete发布了三月份第三方检测公司计算的搜索引擎排行,统计了五大搜索引擎的市场占有率。

  从这张图表我们可以看出,Google的市场份额比去年同期增加了6%,市场占有率达到了一个新的顶峰。

  Yahoo的市场份额继续下滑,下降到了一个新的最低纪录。

  Windows Live Search相比上月略有攀升。

  Ask的市场占有率则逐步增加。

  AOL是所有主要搜索引擎中,相比上月唯一下降的。

三月份国际搜索引擎市场占有率

  下面是最近是三个月搜索引擎的市场份额列表,统计时期从2007年三月到2008年三月。

国际搜索引擎市场占有率

2008年4月29日星期二

DreamHost降低CPU Minutes的秘籍

  DreamHost的CPU Minutes问题可能困扰着不少人,也有很多人为此无缘无故被DreamHost停了帐号,因此如何快捷的降低CPU Minutes已经成为使用DreamHost的一个重要的环节。经过不断的测试和调整,我发现了一条简单有效的降低DreamHost的CPU Minutes的方法,修改一个配置就可轻松降低CPU Minutes,经过我的测试,最大可以降低50%左右的CPU Minutes,效果非常明显。

  具体方法是,在DreamHost的Panel控制台,选择Domains - Manage Domains,选择一个域名,编辑站点,在PHP Version这里,修改站点的PHP版本类型,将其从PHP 5.2.X修改为PHP 4.4.X,这样,网站将使用PHP4而不是PHP5,经过我的测试,使用PHP4后网站耗费的CPU将大为降低,运气好的话有可能降低50%左右的CPU资源,一举解决了CPU使用过高的问题。

  为什么会是这样呢?我猜测,可能PHP5比PHP4的速度快,因此就消耗更多的CPU资源,因而使用PHP4虽然速度慢一些,但是消耗的CPU资源就减少了。

  如果你的网站流量很大,消耗的CPU很多,那么不妨照此方法测试一下。

2008年4月27日星期日

十大最佳WordPress插件推荐

  WordPress是使用PHP语言和MySQL数据库开发的一个极为流行的Blog(博客、网志)系统,功能非常强大,插件和模板众多,易于扩充功能。安装和使用都非常方便。目前WordPress已经成为主流的Blog搭建平台。

  WordPress Plugin扩展插件众多,使用这些插件可以轻松的扩展和定制WordPress的功能,由于WordPress插件实在太多,因此对于初学者来说会看得眼花缭乱,因此我这里就介绍十个我自己觉得不错的WordPress插件,我挑选的规则是插件的功能要实用且高效,有些插件如果占用过多系统资源,我就不会介绍。通过这些插件,希望能对刚接触WordPress的朋友有所帮助。

  反垃圾留言:Akismet

  一个很不错的反垃圾留言插件,总体来说效果还可以,有时候会有误判和漏判,大多数情况下可以拦截垃圾留言和评论,使用前需要先申请一个WordPress.Com的API KEY才行。

  缓存和静态化:cos-html-cache

  做为一个WordPress静态化插件,cos-html-cache可以将首页和文章页自动生成静态HTML文件,提高了系统的性能,减少了WordPress占用的系统资源,虽然目录页没有静态化,不过也可以安装WP Super Cache来配合使用。

  计数统计:WP-PostViews

  WP-PostViews是一个文章计数统计插件,可以在文章中显示浏览数,还提供了一些统计功能,比如一定时间内浏览最多,评论最多等等,占用的系统资源也不多。对于使用静态化插件的WordPress来说,需要使用JavaScript版本的WP-PostViews ,否则会无法计数。这个插件需要修改模板文件。

  页面导航:WP-PageNavi

  WP-PageNavi可以在页面底部增加一个翻页功能,比默认的分页更方便一些。这个插件需要修改模板文件。

  相关文章:Simple Tags

  Simple Tags是一个Tags管理插件,启用后可以在文章和Feed中添加相关文章,用起来很方便,Simple Tags的批量Tags管理虽然有些缺陷,但是比WordPress官方的Tags管理还是方便一些。

  搜索引擎优化:All in One SEO Pack

  使用All in One SEO Pack可以在不修改模板的情况下对WordPress进行SEO搜索引擎优化,还可以给每篇页面添加独立的关键词和摘要,加速和优化Google等搜索引擎的索引,使用这个插件可能会增加一些系统资源的使用,因此最好在静态化的WordPress下使用。

  Google Sitemaps:Google XML Sitemaps

  Google XML Sitemaps可以自动生成WordPress的Google Sitemaps并将其修改到robots文件中,有利于Google的索引,当然你也可以登录到Google Webmasters中手动提交你的Google Sitemaps

  评论留言:Wordpress Thread Comment

  Wordpress Thread Comment是一个针对Wordpress评论功能的增强插件,让用户能够对已有评论进行回复讨论,并将结果嵌套或成串显示,效果不错。结合Subscribe To Comments进行邮件评论提醒的话,可以形成很好的互动讨论气氛。

  RSS Feed:FeedBurner FeedSmith

  FeedBurner FeedSmith可以将WordPress自己的Feed转发到FeedBurner等Feed托管服务,以节省系统资源和带宽,此插件稍加修改(将feedburner|feedvalidator修改为feedsky|feedburner|feedvalidator)即可应用于FeedSky上。

  数据库:WordPress Database Backup

  WordPress Database Backup可以设置每天或者每周自动备份WordPress数据库,可以选择备份到服务器、下载到本地或者自动发送到某个信箱,对于中文数据库的支持也很好。

  英文版:Top Ten Best Wordpress Plugins

2008年4月26日星期六

微软Outlook Express将无法访问Hotmail

  前几天微软发来一封邮件,告知Outlook Express即将在6月底无法继续像现在这样访问Windows Live Hotmail电子邮件帐户,DAV协议将被中止,用户必须升级为Windows Live Mail才能继续从客户端访问Windows Live Hotmail。

  Windows Live Mail是微软最新的邮件客户端系统,我自己也安装过,我对其印象最深刻的是其提供内置的反病毒和反垃圾邮件功能,并且与 Windows Live 服务集成,其功能的确要比Outlook Express要强大的多。但缺点是不支持Windows Server 2003操作系统。

  Windows Live Mail还内置了一个RSS阅读器,可以像阅读邮件那样阅读RSS Feed内容。

  从这次的功能修改,我感觉微软可能会渐渐放弃Outlook Express这个产品,这个产品也将逐步退出历史舞台。

  微软的邮件称:Outlook Express 通过 DAV(分布式创作和版本管理)协议访问 Windows Live Hotmail电子邮件帐户。象 POP3 或 IMAP 一样,DAV 是邮件客户端与基于 Web 的邮件服务器进行通信的方式。Microsoft 将于 2008 年 6 月 30 日起停用 DAV 协议,届时用户将无法通过 Outlook Express 访问 Hotmail 收件箱。取而代之的是,我们建议下载免费的桌面电子邮件客户端 Windows Live Mail,它会在 Outlook Express 基础上提供更多的功能。使用这种新一代免费电子邮件软件,您可方便地管理多个电子邮件帐户 — 包括 Windows Live Hotmail 和其他支持 POP3/IMAP 的电子邮件帐户。 更好的是,Windows Live Mail 与其他 Windows Live 服务集成良好,只需几分钟即可下载。当您提供了用户名和密码之后,系统会自动将您链接到您的 Hotmail 帐户,您可继续访问您的电子邮件和联系人。

  从 http://get.live.com/wlmail/overview 可以下载 Windows Live Mail.

  常见问题:

  我们为什么要停用 DAV?

  DAV 是一种传统协议,它不适合客户端访问大容量收件箱。长期以来,我们为我们的用户提供了更大的电子邮件存储空间(目前免费提供 5GB 的收件箱),因此我们需要一种更加有效的访问协议。

  我们用什么来代替 DAV?

  我们开发了一种新的、更加有效的协议,这种名为 DeltaSynch 的协议大大优于 DAV,对于大容量电子邮件收件箱更是如此。它使电子邮件客户端在上次客户端轮询电子邮件服务器更改的基础上下载更改。这无需象 DAV 所要求的那样下载每个文件夹中的全部标头,从而大大提高了效率和性能。

  DeltaSynch 是否与 Outlook Express 兼容?

  很遗憾,Outlook Express 不支持此新协议,必须对 Outlook Express 软件进行大量更改才能使其支持此新协议。

2008年4月25日星期五

Google Finance财经中文版发布

  据Google官方博客报道,Google Finance在24日正式推出了中文版的Google财经

  Google Finance财经频道有很多功能,如股票报价、相关图表、新闻事件相关报道等等,Google也密切注视着中国股市的剧烈动荡,Google希望推出的Google财经能成为一个实用的工具,另中国的投资者能够快速得到最新最全面的财经信息,该网站的数据全都是中国相关的数据和图表。

  与此同时,Google也宣布推出了重新设计的Google Finance财经主页,Google涉及财经站点(美国,加拿大,英国和中国)。

Google AdSense广告查看中心发布

  据AdSense中文博客报道,AdSense的广告查看中心今天正式向所有发布商开发了。“广告查看中心”是一种新推出的AdSense发布商工具,通过广告查看中心,用户可以查看可能会在网页上展示的以展示位置定位的广告。“广告查看中心”让发布商可以更好地了解和控制投放到自己网站上的以展示位置定位的广告。发布商可以允许或拒绝特定广告组和广告客户,也可以按类型(即文字广告或图片广告)过滤广告。

  现在,所有开放了广告位置定位的发布商都可以使用广告查看中心,在账户中“AdSense 广告设置”标签下的“竞争性广告过滤器”页面上找到这一功能。

  昨天的AdSense的交流会议中也重点介绍了“展示位置定位”这种广告类型,与内容定位和搜索定位不同的是,展示位置定位是按显示次数付费的(CPM),即使用户不点击广告,也会按次数付费,其价格比普通的内容定位要高一些。昨天的Google工程师说能高2-3倍,不过我通过后台查看,我的展示位置定位价格只比内容定位高10%左右,不知道是怎么回事。

  查看展示位置定位广告的功能被Google AdSense隐藏的很好,通常很难找到,我找了半天才找到,在报告-高级报告-数据显示依据-单个广告,选择“ 依据定位类型显示数据 - 内容定位或展示位置定位”后,即可看到用户的内容定位和位置定位的价格。

2008年4月24日星期四

解决DreamHost的CPU资源限制的问题

  DreamHost做为一个共享主机,通常会对用户的CPU资源使用进行一些限制,如果某些用户的站点使用了过多的CPU资源,并影响了服务器的性能,那么这个用户帐号就可能会被禁用,因此,使用DreamHost主机的用户有必要了解一下自己到底使用了多少CPU资源,以防止被主机商封杀。

  用户可以使用多少CPU资源

  做为一个量化的指标,DreamHost使用CPU minutes来衡量用户使用CPU资源的情况,通常情况下,每个用户允许使用60 CPU minutes(60分钟CPU),如果超过了这个数字不过,那也没什么关系,如果达到这个数字的三、四倍以上,那么就很有可能会被禁用,通常情况下,当你的页面总是出现500错误的时候,你就需要关注一下自己到底使用了多少CPU minutes。

  如何减少使用的CPU资源

  通常降低CPU minutes的方式是,禁用主机上的gzip压缩传输(有时可以降低高达75%,WordPress可以在管理界面禁用gzip),减少数据库查询,优化脚本。

  如何查看自己的CPU资源报告

  首先登陆DreamHost管理台,在Manage Users中编辑你的用户,选中CPU Reporting,通常一天以后就可以看到报告了。

  查看报告有两种方法,一种是通过FTP或者SSH登陆后,在logs/resources/目录下可以看到最近七天的报告文件。

  另一种方法是通过WEB页面访问,每个域名都会有一个统计页面,使用 http://yourdomain.com/stats/resources 这个地址可以直接查看报告文件。

  在CPU资源报告文件中,通常我们只要注意CPU seconds这一列就可以了,将里面的数字除以60,就可以得到用户当天的CPU minutes,看看这个数值是不是大于60,如果是的话,就要注意减少使用CPU资源了,如果超过150 CPU minutes还不解决的话,那就离被封不远了。

  根据我的一些经验,达到60 CPU minutes其实并不难,一个每天有3000IP的WordPress或者一个每天500IP的Discuz论坛都有可能达到这个标准,这里面的原因也有DreamHost自己过度销售的错误

  英文版:DreamHost CPU minute restrictions

WordPress 2.5宽屏版

  我曾经在一篇文章中讨论WordPress 2.5在宽屏下的显示异常,几乎所有的界面,都是针对1024×768设计的,针对1440×900的宽屏显示器,会只显示左边部分,使用操作起来特别的别扭,而这个问题在2.3版本里就没有,因此对于宽屏显示器的用户,可以通过修改admin的css来达到良好的观看效果。

  经过一番研究,发现修改成为宽屏版并不难,修改其实很简单,就是编辑wordpresswp-admincssglobal.css,找到第159行和第166行,将max-width: 980px;以及max-width: 950px;修改为max-width: 1400px;(或者max-width: 98%;)即可。

  修改之前在1440×900的显示器下的效果如下图,可以看出界面很别扭。

WordPress 2.5宽屏版

  修改之后在1440×900的显示器下的效果如下图,显示效果比原来的好多了。

WordPress 2.5宽屏版

  如果你也在使用1440×900的显示分辨率,不妨做一下修改,使得界面更好看一些。

  英文版:WordPress 2.5 Widescreen Version

2008年4月23日星期三

网络入侵检测系统的主动响应技术

  今天,新浪网的首页头条出现了一条令人惊讶的新闻《国外三大通讯社屏蔽反藏独信息》,据该新闻报道,千龙网记者使用路透社中文网的新闻搜索引擎,以“藏独”等热门关键词进行搜索,居然出现“该页面无法显示”,因此该记者认为,西方媒体刻意放大了“藏独”的声音,弱化、甚至屏蔽反藏独信息。

  诚然,早些时候西方部分媒体的某些不实报道令人愤怒,但是我们的媒体需要通过谎言来反击西方媒体的不实报道吗? 记者声称在路透社网站搜索“藏独”会出现“该页面无法显示”(在Firefox浏览器下会出现“连接被重置,载入页面时到服务器的连接被重置”的提示),这实际上是不懂网络知识的外行产生的一种误解,这种误解在“Google搜索南京大屠杀的谣言背后”的那篇文章之中我也有提及。

  这里面需要补一些网络技术知识,主要是关于入侵检测系统的知识,以下是我所学过的一本教材《信息安全技术教程》中的相关阐述。

  入侵检测系统(Intrusion Detection System,简称IDS)是由硬件和软件组成的,用来检测系统或者网络以发现可能的入侵或攻击的系统。入侵检测系统通过定时的检测,检查特定的攻击模式、系统配置、系统漏洞、存在缺陷的程序版本以及系统或用户的行为模式,监视与安全有关的活动。

  从系统结构上来看,入侵检测系统至少包括信息源、分析引擎和响应三个功能模块。信息源为分析引擎提供原始数据进行入侵分析;分析引擎执行实际的入侵或异常行为检测;分析引擎的结果提交给响应模块,响应模块采取必要和适当的措施,阻止进一步的入侵行为或回复受损害的系统。

  ……

  入侵检测系统的响应可以分为主动响应(Active Response)和被动响应(Passive Response)。在主动响应中,系统自动地或以用户设置的方式阻断攻击过程或以其他方式影响攻击过程;而在被动响应中,系统只报告和记录发生的事件。

  对付入侵者可以通过某种方式来进行。例如,入侵检测系统可以断开与其之间的网络会话,如向攻击方的计算机发送TCP的RESET包,或者发送目标不可达(ICMP Destination Unreachable)包,系统也可以控制一个防火墙或者网关去拦阻来自入侵发起IP地址的数据包。

  以上知识援引自中国人民公安大学出版社发行的《信息安全技术教程》(全国信息网络安全专业技术人员继续教育培训教材)第六章“网络安全”,如果知道了这些网络安全知识,我们就能很清楚的知道“到底发生了什么事”。很明显,该文的记者在搜索“非法关键字”的时候自动触发了入侵检测系统,入侵检测系统以主动响应的方式发送了RESET包,导致了网络连接被重置,所以会出现“该页面无法显示”的情况,并非是因为“国外三大通讯社屏蔽反藏独信息”的原因。在中国第一大新闻网站的头版头条竟然出现这样一个颠倒黑白、指鹿为马的新闻,实在令人汗颜。

2008年4月22日星期二

Java在Web开发语言上败给了PHP

  PHP的主要语言开发者之一、Zend公司的创始人之一Andi Gutmans最近在blog中直言不讳地批评了Java语言。他指出,目前Java厂商试图在JVM上提供动态语言实现的路子根本不对,Java已经输掉了Web开发语言的战争,PHP是事实上的标准和胜利者。

  Gutmans的这篇文章在技术界引发了强烈争议,很对人对此有不同的意见,我在这里就阐述一下我对PHP和Java两种语言的看法。

  我早先曾经在《Perl、PHP、ASP、JSP技术比较》一文中对比过PHP和Java的异同,简而言之,PHP是一种解释执行的脚本语言,语法和C语言类似,易学易用,不懂电脑的非专业人员稍经学习也能使用PHP.而Java要先编译成Class文件,然后在Java虚拟机上执行,Java开发需要熟悉Java语法以及一些核心的架构,从而实现一种可复用的、跨平台的软件,Java比PHP要难学的多。

  实际上,从技术架构来说,Java语言相比PHP有明显的优势,Java使用的是面向对象的系统设计方法,而PHP还是采用面向过程的开发方法。PHP只能实现简单的分布式两层或三层的架构,而JAVA可以实现多层架构。数据库层(持久化层)、应用(业务)逻辑层、表示逻辑层彼此分开,而且现在不同的层都已经有一些成熟的开发框架的支持。例如Struts就是利用Java的web开发技术实现了MVC的设计模式,而在业务逻辑层也有Spring框架,数据库持久化层有Hibernate等框架。这些框架可以方便开发者高效、合理、科学得架构多层的商业应用。从数学运算和数据库访问速度来讲,Java的性能也优于PHP.实际上,对于跨平台的大型的企业应用系统来讲,Java几乎已经成为唯一的选择(微软.NET不支持跨平台),但是在于Web网站应用开发来讲,Java却面临着被PHP边缘化的危险,几乎所有的虚拟主机都支持PHP+MySQL,而支持Java的却少之又少,在资源上,网上有不计其数的PHP资源,很多著名的大型网站(例如Facebook、Mediawiki等)都是基于PHP的,而成功的Java网站却寥寥无几,这又是什么原因呢?

  Java的理念是“一次编写,到处运行”,Java在应用框架底下的架构是无与伦比的,远胜过其他任何语言,Java的框架利于大型的协同编程开发,系统易维护、可复用性较好。而PHP很容易自学,让热备能快速简洁地编写代码,适合于快速开发,中小型应用系统,开发成本低。在调试、发布上,PHP也较Java简单。

  理念上的不同导致了Java和PHP在Web应用开发上显示了不同的结果,尽管Java的数学计算和数据库访问都有优势,架构也相当完美,但是PHP却可以简单轻松地支持高强度Web访问,能够快速开发应用,支持PHP的虚拟主机多如牛毛,使得用PHP开发一个网站比用Java开发一个网站要快得多,容易的多。Java所拥有的优点只适合传统的以软件项目为核心的开发模式,而PHP更适合于以客户为核心的SaaS的开发模式,因此,PHP目前在Web网站开发的优势完全是因为Web网站开发的特殊性而导致的,并非编程语言特性所决定。

  因此,PHP在Web网站开发语言的战争中已经慢慢将Java抛在了后面,Java要想在Web网站开发上奋起直追,的确应该多听听Andi Gutmans的意见,彻底改变一下思路才行,否则两者的差距只能是越来越远。

  另外,虽然在国际上LAMP(Linux+Apache+Mysql+Php)架构已经占领了统治地位,但是在中国国内还有一个怪胎,就是基于微软的Windows Server+IIS+SqlServer+ASP/ASP.NET的架构,从理论上说,微软的这一套架构也能实现不错的性能,只可惜Windows和SqlServer价格不菲,整个架构在性能上比起LAMP不仅没有什么优势,反而还有不少劣势,因此微软的这一套家伙在国际市场上吃不开。而国内使用微软盗版则可以忽略成本,而ASP的易学易用性不逊于PHP,甚至连IT外行都能够使用,因此在国内也有不小的市场。但是随着中国在保护知识产权方面的日趋完善,免费的LAMP依旧是未来的趋势。

2008年4月21日星期一

通过手机免费上传图片到Flickr

  现在的手机大多数都能拍摄出不错的照片,人们外出旅游使用手机可以方便的随时随地拍摄照片,而且很多都能拍出高质量的照片。所以通过手机将拍摄的照片上传到网络相册是一个很有用的功能。今天我要是能早点将照片上传到Flickr,也不至于被人删除掉找不到了。

  中国移动给出的上传方案通常是通过彩信(MMS)的方式上传,彩信是要收费的,上传大量照片则费用会比较高,对于已经开通了GPRS功能的中国移动用户,其实可以通过另外的方法上传图片。

  对于Flickr来说,目前有两个主要的手机上传图片的方法:

  1、通过客户端软件上传,例如ShoZu这个软件,可以支持用户通过手机上传图片到Flickr。不过这个软件支持的手机种类有限。

  2、通过Flickr的手机版上传,通过手机访问http://m.flickr.com,登录之后就可以在里面上传照片了,上传之后还可以设置照片是公开还是私密的。这种方法支持的手机较多,只要手机支持Java,都可以使用这种方法上传。不足之处是对于有的手机只能访问某几个指定目录。

  除了Flickr之外,国内的Yupoo和巴巴变都支持手机上传照片。

  最后需要注意,这种上传的方法虽然是免费的,但是GPRS包月的流量是有限制的,上传时候请注意一下流量是否足够,以免付出额外的流量费用。

2008年4月20日星期日

国外虚拟主机选购指南

  国外的虚拟主机和国内的相比有不少的优点,例如不用去备案,价格相对低廉,稳定性也好,虽然从国内访问速度稍微慢一些,但的确是一个低成本创建一个网站的好方案。国外的空间基本上是基于Linux+Apache+MySQL+Php的,由于PHP已经事实上统治了网站设计语言的标准,因此国内人也基本可以放弃继续使用ASP了。

  然而,国外的虚拟主机依然是鱼龙混杂,甚至有一些很著名的虚拟主机供应商也在搞猫腻,我购买国外虚拟主机已经有很长一段时间了,我的月光博客英文网站在使用国外虚拟主机的这段时间也遇到了种种以前没想到的问题,因此我就再次总结一些选购和识别国外优秀虚拟主机的方法,供大家参考。

  虚拟主机的原理,就是把一台真正的主机分成许多“ 虚拟”的主机,它们之间完全独立,使得多个用户共享一台真实主机的资源,节省用户的硬件费用和流量费用。通常虚拟主机的价格都是每月5至10美元左右,非常低廉,虚拟主机商为了从有限的服务器和网络资源中获得最大的利益,那么就必须要侵害了用户的利益,过度销售(Overselling)虚拟主机,因此,只有识别出过度销售(Overselling)的虚拟主机,才能选择到一个稳定而优秀的虚拟主机。

  如何识别出过度销售(Overselling)的虚拟主机,我这里总结了几个要点:

  容量与流量参数的诡计

  绝大多Overselling的虚拟主机商都在玩一个数字游戏,每月不到10美元,就可以购买超大容量和流量的主机,其容量和流量参数往往比租用一台服务器的流量还要大,举个例子,使用独立服务器的月光博客目前的月流量只有450G,而几乎所有Overselling的虚拟主机都声称能提供每月超过1000G的流量,当然这个承诺是永远无法兑现的,如果你真有一个每月1000G流量的网站,那么绝对不能考虑这些Overselling的虚拟主机,因为在你还没有使用到百分之一左右的流量时,通常这些虚拟主机商都会以使用了过多资源为由而终止你的服务,受骗的用户实际上并没有认识到巨大的空间和流量与使用的CPU和内存资源是两回事,如果你使用了很多的流量,主机商不会以使用过多流量而是以使用超额CPU和内存资源为由终止服务。

  按年支付的风险

  几乎所有的Overselling的虚拟主机的付款方式都是以按年支付为准则的。要么他们只支持按年付款,不支持按月付款,或者按月付款的价格和按年付款的价格相差巨大,迫使用户选择按年支付。为什么这些主机商要这么做呢?因为他们的限制CPU和内存的方式肯定会引起用户对购买的虚拟主机不满意,用户肯定会终止付费重新选择主机商。如果按月支付,用户发现这个主机速度很慢或者服务不好,那下个月就可以中止支付而去选择其他主机,对于个人来说风险较小而没有什么损失。如果是按年付费通常将会得不到退款,损失了一年的费用。虚拟主机商通过这种方法迫使用户多支出了一笔费用,赚取了黑心钱。而通常不搞Overselling的正规而自信的主机商都乐于提供按月支付方式,而且按月支付的价格和按年支付不会相差很大。

  推荐回扣奖励

  搞Overselling的虚拟主机为了扩大用户群,会采用回扣奖励或现金返还的形式进行促销,即用户推荐一个新的主机注册用户,推荐人可以得到金额奖励或者回扣,类似于传销的形式。搞这类活动的基本上都属于Overselling的虚拟主机。他们确实通过这种形式获得了大量用户,但其主机质量却会随着用户的增加而降低。

  可绑定的域名数量

  搞Overselling的虚拟主机提供几乎不受限制的域名绑定,一个用户可以在虚拟主机上绑定无数的网站,很多人喜欢这种功能。但是我们要知道,一台服务器的资源是有限的,绑定的网站越多,耗费的资源就越大,这样的结果是网站的响应速度和稳定性就降低,经常出现500错误,例如我购买的某个虚拟主机,上面竟然绑定了一千多个FTP用户,这样的虚拟主机能好用吗?因此,正规的虚拟主机商提供1、2个域名绑定其实就能保证大多数用户的利益了。

  以上就是我总结的一些识别出过度销售(Overselling)的虚拟主机的技巧,如果你使用的WordPress或者论坛有可能达到每天1万IP访问,那么最好不要选择Overseelling的虚拟主机,因为他们的CPU限制会导致网站访问极不稳定。当然,如果你有很多小网站,或者网站全部是HTML格式,很少使用PHP和MySQL,那也可以选择Overselling的虚拟主机,因为纯HTML的页面消耗CPU很小,不会产生很大负荷。否则的话,最好选择限制流量而非限制CPU的虚拟主机。

  我建议的非Overselling的虚拟主机,通常价格为5到10美元,限制流量为每月100G以下,绑定1-2个域名。这种参数的虚拟主机通常是不会限制CPU的,适合那些每天访问量超过1万IP的动态PHP网站的选择。

2008年4月19日星期六

Alexa更新网站排名算法

  据Alexa报道,4月17日,Alexa宣布自己的算法进行了更改,很多互联网网站的排名出现了不同程度变化,新的数据统计将不再完全依赖Alexa工具条所反馈的流量数据,而会同时参考“多个数据来源”,以提高其全球网站流量排名的权威性。

  原有的算法主要依赖Alexa工具条反馈的数据,由于Alexa工具条的安装量很小,使得Alexa的流量排名越来越不准确,特别对于中国的大部分网站来说,原有的Alexa已经渐渐失去了参考价值,因此Alexa不得不修改自己的算法,参考了“其他数据来源”。

  其他的数据来源,我觉得Google可能更有权威度一些,Google工具栏的装机量非常庞大,同时Google还有Google Analytics(分析)和FeedBurner这样的精确级流量统计工具,如果一些排名都由Google完成,其准确度可能比Alexa还要高一些。

  我的博客的Alexa为两万多,好像有所提高,据说大部分中文网站的排名也有提高,英文网站好像有降低的,例如Problogger从3xxx降低到12917,JohnChow由5xxx降低到17088,莫非这些博客大拿们以前在刷Alexa流量?

  附录:Alexa关于更新算法的说明

  原文地址:http://www.alexa.com/site/company/announcement (CNET中国翻译

  最近几个月,我们不断从ALEXA用户听到这样的反馈:研究ALEXA工具条以外的用户的互联网行为变得越来越重要。对此,我们询问,并接受!

  我们倾听您的建议,我们相信我们的新的排名系统会更加符合您的要求。我们现在从各种各样的渠道来收集数据,以便能向您展示一个反应大多数互联网用户意志的更好的排名体系。

  您们给予我们的更多的其他意见,我们将会在以后努力实现。现在我们还不能告诉你们更多秘密,但是,在未来几周,我们产品的一些新的特点将会陆续呈现在您眼前。

  下面是一些问题和我们的回答:

  问:我的网站排名变了。以前的数据错了吗?

  答:你的网站之前的数据没有错,只是变了而已。安装ALEXA工具条的用户,在上网兴趣和习惯上可能和其他的一般网民在许多方面有所不同,我们只不过是把这种“不同”,在我们的网站上表现出来了。绝大多数网站的排名都不会受到这种“不同”的影响,同时我们也会努力使我们的新的排名机制更好地反应真实。

  新的排名机制将会更好地反应绝大多数网民的上网兴趣和习惯。

  问:为什么图表当中1年和3年的选项不见了?我只能看9个月的历史数据。

  我们正在重新算数据,将会在最近几周陆续将历史数据加进来,我们很快就会把最近几年的数据恢复。对于由此造成的不便,我们深表歉意。

  问:你们还会再次改变排名吗?

  答:我们一直都在努力确保我们提供的数据是最有用的数据。我们将会继续调整我们的算法,但是我们不能预测是否会发生任何大的数据变化。如果你发现有错误,请及时通知我们。

  问:我更喜欢以前的排名。哪些排名还能看到吗?

  答:我们也喜欢以前的排名。但是,我们是根据来自像您这样的许许多多的用户的反馈,来调整和开发我们新的系统的,既然已经完成了,我们更喜欢新的排名。我们也希望你会喜欢。

  我们认为同一时间有两套排名体系会让人混淆的。所以,我们取消了旧的排名体系。

  问:你们想知道我对此事的看法吗?

  答:当然!最近几个月以来,我们一直在收集各方的意见和建议,我们还将乐意倾听更多的声音。如果您对我们的调整有任何想法或者意见的话,请与我们分享。

2008年4月18日星期五

新版Google Earth发布并提供下载

  Google发布了最新版的Google Earth 4.3,和上一个版本4.2相对比,最新的Google Earth版本具有一些新的功能,包括昼夜模式,显示本地时间和日出日落,新的街景模式,卫星地图的日期,更快的三维模式,Mac版本支持Flash等等。

  昼夜灯光

  新的昼夜模式产生特殊的灯光效果,一旦打开实时日光后就可以看到现在太阳的位置,你可以使用时间滚动条来改变太阳照射过程的一整天,你就可以看到太阳从日出到日落的样子,注意阳光会影响大气的效果,你实际看到的颜色变化是垂直的,云层也会变化,这里有一些阳光照射效果图片:

太空上看到的昼/夜效果

太空上看到的昼/夜效果

丹佛的三维建筑物上的日出效果

丹佛的三维建筑物上的日出效果

  预计在未来的日子里,Google Earth上还会出现一些非常漂亮的画面显示和一些很酷的照射效果。

  街景模式

  Google Maps早已经有了街景,现在Google Earth也有了,打开左边的街景(Street View)图层,即可看到街景,你可以变换镜头和距离,就像在街头环顾四周一样。这里有几个球状的街景画面。

Google Earth街景模式

Google Earth街景模式

  更快的三维模型

  Google优化和改进了三维建筑物的渲染性能,先加载低分辨率模型,再加载高分辨率模型,使得三维建筑加载更快了,人们可以逐步看到更为清晰的建筑物纹理细节。很多大城市具有非常真实的三维建筑物模型,这里是旧金山的三维建筑物截图。

Google Earth 4.3中的旧金山

Google Earth 4.3中的旧金山

  图像日期

  当使用鼠标进行缩放的时候,有时候你会看到状态栏底部会出现一个更新日期,就像下面一样,当像加上了更新日期后,我们就可以很方便地了解卫星地图的时效性。

图像日期

  另外一个重要的新特点是,Mac版本的Google Earth可以支持Flash了,这样Mac的用户就可以看到Google Earth上面的那些YouTube视频了。

  新版Google Earth下载地址:http://earth.google.com/download-earth.html

  英文原文:Google Earth 4.3 First Impressions and Screenshots

  中文翻译:William Long

2008年4月17日星期四

WP-PostViews的静态JavaScript版更新

  前段时间我曾经写了一个WP-PostViews的静态JavaScript版插件,用于在静态化WordPress下以JavaScript的方式提供文章计数器,当时写的比较匆忙,有不少问题,今天晚上终于抽出几个小时,将WP-PostViews的静态JavaScript版进行了一番大的修改,修正了以前的一些主要问题,最新的版本目前看来我比较满意。

  以前这个WP-PostViews的静态JavaScript插件存在的问题是效率问题,由于不是使用Ajax调用计数器,而且JavaScript代码是放在页面的中间,于是装载文章的时候会导致页面停顿一下。今天我参考了Z-Blog的一些相关技巧,使用动态调用JavaScript的方法,在页面的底部再调用计数器的JavaScript,页面终于不停顿了运行一下,效果和Ajax的几乎差不多,感觉还可以。

  这个修改版的插件优点:

  1、小巧玲珑,对于原来的插件修改量很小,只修改了一个文件,大部分修改增加到了一个独立的新增文件wp-counter.php。

  2、内存占用小,wp-counter.php这个文件代码很少,不会占用大量内存,对于虚拟主机限制PHP内存的用户来说很有用。

  3、效率高,没有建立额外的http连接,不会产生更多负荷。

  不足之处:

  1、只支持页面计数,不支持首页和目录页计数。

  2、对所有用户均计数。

  安装说明:

  1. 下载压缩包,然后解压缩文件。

  2. 将postviews目录放到wp-contentplugins目录下。

  3. 将wp-counter.php放在WordPress的根目录下。

  4. 在插件管理里面激活WP-PostViews插件。

  安装重点说明一下,wp-counter.php要放在WordPress的根目录下,不是放在插件目录下,否则会报错。以前用过我这个插件的用户建议立刻升级。

  下载:点这里下载最新的基于JavaScript版本的WP-PostViews。

2008年4月16日星期三

在Windows Server下集成Apache、Tomcat和IIS

  我在《Perl、PHP、ASP、JSP技术比较》一文中曾经对四种流行的网站设计语言进行了评测和对比,常言道鱼与熊掌皆我所欲,两者不可兼得,那么有没有一种方法,可以做到鱼与熊掌兼得,同时支持这四种语言的Web服务器呢,今天我就介绍一下基于Windows Server 2003的同时在一个80端口支持这四种语言的方法。

  我们的策略是:安装三个Web服务器,Apache负责支持perl和php,IIS负责支持asp,Tomcat负责支持jsp,通过Apache的proxy_module将三个服务器集成到一个80端口。

  安装的方法是,先安装IIS、ApacheTomcat,配置Apache使用80端口,Tomcat使用8080端口,IIS使用8081端口。

  接着在Apache中修改httpd.conf文件,启用proxy_module和proxy_http_module,修改的内容是:

    LoadModule proxy_module modules/mod_proxy.so
    LoadModule proxy_http_module modules/mod_proxy_http.so

  然后在Apache的httpd.conf文件中增加如下几行:

    ProxyPass /php !
    ProxyPass /asp/ http://localhost:8081/
    ProxyPassReverse /asp/ http://localhost:8081/
    ProxyPass /jsp/ http://localhost:8080/
    ProxyPassReverse /jsp/ http://localhost:8080/

  然后在<Directory>中设置各个服务所在网站的目录权限,这样php目录即可跑apache,支持php和perl,而asp目录则跑IIS,jsp目录跑Tomcat,全部都可共享80端口,一个端口同时支持Perl、PHP、ASP、JSP四种语言,兼容性很好,性能也不错。

  另外,将上述命令放在<VirtualHost>中,可以实现不同的虚拟主机使用不同的Web服务器,同一个端口同样可以跑多个Web Server,这对于那些出售虚拟主机的人来说很有用,如果你想在一台Windows服务器上配置不同的Web服务的话也可以尝试一下。

  以上配置在Windows Server 2003、Apache 2.2.6、Tomcat 6.0.16、IIS 6.0的环境下调试通过,运行正常。

2008年4月15日星期二

PayPal帐号的冻结和解冻

  前段时间使用国际PayPal购物的时候,我犯了一个错误,导致帐号被冻结,提交了不少资料才将帐号解冻,这里我详细说明一下PayPal帐号冻结的具体原因和过程,以便大家不要再犯我这种错误。

  我的国际PayPal是用来支付美元的,绑定了我招商银行的信用卡。注册PayPal的时候我犯了一个错误,就是用户名写的是我的英文名而不是中文名的拼音,虽然对于平时购物没有影响,但这次却发现了名字带来的麻烦。

  由于对DreamHost的失望,这次我打算购买另外一家美国的虚拟主机,由于该主机在国内无法访问,我使用了某某代理服务器软件才进行访问,填写了用户信息后,填写使用PayPal支付费用,接着进入PayPal的界面,然后我就进行了登录,这时我才发现我没有退出代理服务器软件,在使用代理的情况下登录了PayPal,为了防止出错,我退出了PayPal以及代理服务器后重新登录PayPal进行支付,将虚拟主机的费用进行了支付,支付提示成功。

  之后我就等待美国虚拟主机提供的主机帐号,没想到主机帐号没等到,等到的却是PayPal帐号的冻结邮件。

  PayPal在邮件里称:“作为我们的安全措施的一部分,我们会定期检查PayPal系统中的活动。在最近一次检查中,我们有理由相信您的账户被第三方访问过。我们限制了对敏感的PayPal账户功能的访问,以防您的账户被未经授权的第三方访问过。我们知道,限制账户访问可能会造成不便,但保护您的账户是我们最关心的问题。为了保护您,我们已经限制了对您的账户的访问,并将持续到能够完成附加安全措施为止。对此可能造成的任何不便,我们深表歉意。要查看您的账户以及PayPal用于决定限制您的账户访问的部分或全部信息,请访问调解中心。”

  这实在令我大吃一惊,我估计,我在使用代理服务器登录PayPal的时候,留下的是美国的IP地址,然后又用国内的IP地址进行了一次交易,PayPal就判断我的帐号被人黑了,于是暂停了这笔交易,同时对交易双方进行调查。

  我再次登录PayPal,发现帐号果然被冻结了,无法进行任何交易,购买虚拟主机的交易也被冻结,我只好进入PayPal的调解中心。

  在调解中心里面,PayPal要求我修改帐号密码、修改密码提示问题、同时要求我将住址的水电费的单据传真或者上传给PayPal。

  我按照要求上传水电费的单据后,PayPal又说单据上的姓名和我PayPal帐号的姓名不符合,要求我提供信用卡账单,我再次提供信用卡的账单,PayPal又要求我写一份保证书,注明“以下交易是在我的授权下完成的,交易编号XXXX”,然后签字上传或传真给PayPal.我照着写完保证书之后,终于在交易的三天之后,解除了PayPal帐号的冻结,并成功支付了金额,不过,虚拟主机商那里由于前几天迟迟没有收到我的金额,已经将我的帐号删除,我又得和虚拟主机商进行协调,PayPal这次在我们交易双方折腾这么一下,可把我给害苦了。

  我的几点体会:

  一、绝对不要通过代理服务器访问PayPal。更不要通过代理访问后再进行交易。

  二、国际PayPal中的用户名应该使用姓名的拼音,而不应该使用英文名,否则会有一些意想不到的麻烦,最终一次一次发国际传真可不是一种好感觉。

  三、国际PayPal的中国大陆用户目前由香港PayPal进行管理维护,而香港的财务制度和银行体系和中国大陆不尽相同,因此相关信息交流会有隔阂,好在香港和大陆没有时差,客户服务还算及时,要是由时差颠倒的美国那里服务可就惨了,估计时间至少要延长一倍。

  四、不得不承认的是,PayPal对于网上支付的安全非常严格,很值得国内做网上交易的银行学习,如果国内的网银也有PayPal这样严格的安全管理,那么就不会有那么网银帐号被盗的事情发生了。

  五、要是那天PayPal被电信局给封了,那才是一场灾难的,估计那时会有不少中国人使用代理服务器上PayPal,后果可想而知了。

  最后,其他PayPal冻结和解冻的经验,请参考一下这篇文章

2008年4月14日星期一

Facebook、MySpace和Twitter重度用户的区别

  Compete发布了一些统计数据,对于最流行的社会化网站Facebook、MySpace和Twitter的使用上瘾的重度用户的行为进行了一些分析,这些分析反映了这些特定用户组的一些突出的上网习惯和行为,可以帮助第三方网站分析这些重度用户是如何使用自己喜爱的社会网站。

  下面的表格显示了MySpace和Facebook的瘾君子的上网时间大大超过了平均用户的上网时间,那么这些用户究竟做了一些什么呢?

MySpace和Facebook的瘾君子

  上面的名单显示这些用户最受欢迎的20个网站,很多上瘾的用户访问那些网站完全是为了集中修改个人简介的页面。

  Myspace和Facebook已经确立了大量的访问用户,那么另一个Twitter这个成长中的致力于沟通的网站是什么情况呢?从某种意义上来讲,他和社会化网站是个对头,但他也有大量高度上瘾着,那么Twitter上瘾者都喜欢访问设么网站呢,请看下图。

Twitter的瘾君子

  这个清单中的有些网站是令人震惊的,例如twhirl这个网站,仅仅提供了一个Twitter客户端软件。

  结论:

  Myspace上瘾者喜欢干一些“废事”,他们大多数时间用于建立或者调整自己的个人档案。

  Facebook上瘾者着重于接触,他们专注于在平台上调整一些定制应用、音乐等等。

  Twitter上瘾者最感兴趣的是交流和探索,这个平台让鼓励用户积极参与交流和接触,让用户相互了解。

2008年4月13日星期日

使用Google Gears的网站应用列表

  据GOS报道,Google Gears做为2007年的一个创新产品,令人失望的是目前只有极少数的应用程序使用了Google的这项技术,Google Gears仍然是一个早期的产品,大多数文章提到Google Gears只是说其提供离线应用,甚至Google也这么说,但实际上Google Gears可以做更多的事情,这里列出了一些使用Google Gears技术的重要应用。

  Google Reader - Google提供的阅读器,2007年5月集成了Google Gears,可以让读者离线阅读最近2000篇文章。你依旧可以对文章标星或者共享。

  Remember the Milk - 任务管理中的应用 ,在Google Reader集成后的第六天就实现了集成Google Gears的第二个离线应用,在这个应用中你不仅仅可以获得列表,还能添加新的任务和注释,编辑现有的任务(完成状态,轻重缓急,标签,改变交货期,以你的核心的内容),使用自己的个人任务,创造新的智能化任务管理。

  Zoho Writer - 在线文字处理,最近编辑的一些文件可以离线查看和编辑。

  PassPack - 在线密码管理,离线版本可以将你的数据下载到本地,并在本地访问和管理,你进行修改并保存之后,下一次上线会同步本地的离线帐户信息。

  MindMeister - 在线思维脑图,离线版可以让用户离线创建思维脑图,所有的改变都会保存在本地,下一次上网后会进行同步。

  Buxfer - 个人财务经理,离线应用会保存登录认证信息,你会在离线状态先方便的登录到你的财务系统中,你的重要和敏感的财务数据会安全的在你的控制之中。

  Autodesk Labs Project Draw - 在线创建图表,应用可以运行在离线模式,当你重新连接后进行同步文件。

  Google Docs - 在线字处理应用,用户可以离线查看和编辑文档。

  Picasa Web Albums Mobile - 照片共享应用,离线模式支持Windows Mobile 6的触摸装置,可以让用户离线查看相簿。

2008年4月12日星期六

百度推出百度工具栏和个性化首页

  百度这些天低调推出了两个新产品:“百度工具栏”和“个性化首页”,这两个工具有利于提高重度搜索用户的搜索粘度,从界面和功能上看,这两个产品都有可圈可点的地方。目前百度工具栏只支持IE内核的浏览器,不支持FireFox浏览器。

  百度工具栏

  百度工具栏原名百度搜霸,因为百度搜霸以前搞“流氓插件”,并且不稳定、不易卸载,使得名声臭了,因此新版的百度搜霸改名为百度工具栏,版本也变成1.0版,以表示这是一个全新的产品。

百度工具栏

  去流氓化和个性化

  从功能上讲,百度工具栏似乎也打算摆脱“流氓软件”的阴影,在工具栏菜单中有明确的“卸载”按钮,为了便于个性化使用,工具栏也提供登录百度帐号的功能,登录后可以显示个人搜索记录、个人空间、个人搜藏的信息,和Google工具栏的功能几乎完全一样。

百度工具栏的卸载按钮

  搜索建议

  和Google工具栏一样,在百度工具栏搜索框输入关键词,可弹出搜索建议下拉框,显示一些热门的搜索关键字,如果想关闭此功能,可点击“设置”,取消勾选“开启搜索提示功能”。也可在“设置”里单独开启或取消某类搜索提示。

百度工具栏的搜索建议

  自定义按钮

  我以前介绍过Google工具栏的自定义按钮功能,利用这个自定义按钮可以将百度等其他搜索引擎也添加到Google工具栏中,令人惊讶的是,百度也提供了几乎和Google一样功能的自定义按钮和按钮库,自定义按钮的使用方法和Google的完全一样,只要打开需要创建自定义按钮的搜索网页,然后将光标放到该网站的搜索框内,右键点击鼠标以查看菜单,选择“生成自定义按钮”即可。我将Google搜索也添加到了百度工具栏,测试后Google搜索功能完全正常,这表明百度工具栏也可以继承Google搜索了。

百度工具栏的自定义按钮

  博客订阅

  自定义按钮中还可以用来订阅播客的RSS,当浏览的网页支持RSS的时候,百度工具栏的搜索框右侧便会出现RSS图标,点击后选择需要定阅的条目,便会将RSS源以按钮的形式展现在百度工具栏上。

  集成百度搜藏

  在浏览任何网页地址的时候,点击右键选择“添加到百度搜藏”或者点击“百度搜藏按钮”,即可把这个网页放到百度搜藏里,使用起来非常方便,对于习惯使用百度搜藏的用户,使用百度工具栏可以加快收藏网页的速度。

百度工具栏集成百度搜藏

  集成百度百科

  用鼠标选取网页上的文字,选择后鼠标停在文字上,便会出现百度百科对于选取文字的解释,便于用户随时查询中文百科内容。百科解释功能的开启或关闭可以在“工具栏选项”的“高级设置”标签中设置。

百度工具栏集成百度百科

  个性化首页

  点击百度工具栏最左边的图标即可计入百度个性化首页,遗憾的是,这个个性化首页还不支持加入自定义RSS,功能上还不如iGoogle个性化首页强大。

百度个性化首页

  隐私政策

  我们注意到个性化首页中会显示当前登录用户的热门浏览,说明百度工具栏会记录相应用户所有浏览过的网站地址。个人浏览过的网站地址属于个人隐私,应该受到法律的保护,虽然Google工具栏也会记录,但是在Google工具栏的首页会显示“隐私政策”,表明用户的隐私会受到Google隐私政策的保护,Google不会将用户隐私发送到第三方站点,可惜的是百度并没有类似的隐私政策说明。

  总的来说,百度工具栏对于经常使用百度产品的用户来说是非常有用的,可以提高用户的效率,增加用户粘度,不足之处是隐私政策不明确,可能会有一些不可预知的风险。

2008年4月11日星期五

Google Earth上的2008奥运会火炬接力路线图

  据Google黑板报报道,在Google制作完成英文版本的2008北京奥运会火炬接力地图后的一周之后,Google为广大中国网民推出了简体中文版的“2008全球火炬接力报道路线图”,利用Google Earth卫星地图来追踪奥运圣火传递路线,并在线观看来自CCTV的每一地的接力视频。

  英文用户可以访问这里获取一个Google Earth地标文件,中文用户则可以通过这里来访问这一路线图,同时还可以在这个页面内下载全套 134 个接力城市的地标,这个Google Earth地标可以让我们随着奥运圣火的接力路线来遍历所有的相关城市,是一个不错的长见识的资源。

  你需要首先拥有Google Earth软件才可以浏览相关地标。如果你的电脑上已经有了 Google Earth, 只要在这个“2008全球火炬接力报道路线图”页面上点击那个蓝色的大按钮,即可一次下载包括本次全部134个接力城市的地标。这是全球第一套由 Google 公司官方发布的包含多达上百个城市的中文地标,图文并茂,很值得收藏。

  下面是Google黑板报提供的在Google Earth中看到的相关截图:

Google携手CCTV.com 发布2008全球火炬接力路线图

Google携手CCTV.com 发布2008全球火炬接力路线图

Google携手CCTV.com 发布2008全球火炬接力路线图

30万新增照片从Panoramio更新到Google Earth

  据Panoramio官方博客报道,在四月七日,大约30万张最新更新的照片被更新到Google Earth的Panoramio图层,比计划中的更新日期(4月12日)提前了。

  现在,ID号在8,620,000之内的图片都更新到了Google Earth,下一次更新将会在五月二十五日进行,届时四月五日之后的照片将会被审核更新。

  Panoramio是西班牙的一个的社会化图片分享网站,允许用户上传图片并且对图片进行地理标记。在Google Earth里的默认图层列表里,Panoramio就是其中一个。在2007年5月,Google将Panoramio收购了

2008年4月10日星期四

国外虚拟主机空间的过度销售

  出于某些方面的考虑,我很早就购买过一些国外的虚拟主机,最近两年我一直都在续费DreamHost的虚拟主机,现在我很遗憾地发现,我这对这家著名虚拟主机服务商的忍耐力已经快接近极限了。

  对于DreamHost所遇到的种种问题,我觉得原因归根结底就是一个,那就是DreamHost非常夸张的过度销售(overselling)策略。购买一个DreamHost的虚拟主机,可以绑定无限多的域名,拥有500GB空间,每月流量5000GB,这么夸张的配置真的只要9.95美元吗,我们真能用得到这么多资源吗?

  举个我实际的例子,我的月光博客容量几百兆,每月流量大约450G左右,我就已经无法再使用虚拟主机了,我几乎一直都在使用独立服务器了,因为只有独立服务器才能提供这样的流量和CPU支持。同一台服务器,只有一个人使用和有数百号人使用,两者是完全不同的,虚拟主机所能提供的资源是非常有限的,而DreamHost的这种永远无法兑现的虚拟主机只是在欺诈那些网络初学者而已,虚拟主机不可能提供这么大的空间和流量。实际情况也是这样的,除非你的网站全部使用静态HTML文件,否则,你在达到其流量限制的1%前就已经要被他们要求“升级”了。

  现在,我就收到了DreamHost的邮件,他们的邮件说,在最近的九天内,我的用户的CPU使用时间上比这个主机上的平均用户多两倍,他们要求我付更多的钱去购买CPU的使用率,升级到DreamHostPS。

  实际上,我只是搭建了几个WordPress博客系统和一个Discuz论坛,为了减少CPU负荷和MySQL使用率,我还特意在WordPress上使用了静态化插件,将大部分文件都静态化了,即便如此,在流量大的时候,我还是发现网站经常出现500错误,无法连接MySQL服务器更是家常便饭,我相信WordPress和Discuz系统本身应该不会有什么问题,况且我还做了大量的优化工作,CPU使用率应该不会很高,可是为什么还是得到这样的结果呢?

  目前我在DreamHost上所有系统的总流量通常都不大,最近一段时间才达到每天800M流量,总用的使用空间不到1G,离他们的配置要求相差甚远,竟然使用的CPU就已经超过了他们的许可,我就实在不清楚这个主机上的其他用户到底是怎么使用DreamHost的了,我想,除非我全部使用静态HTML做网站,否则是不会达到他们这种苛刻的要求。

  我不知道其他人是怎么使用的虚拟主机的,不过我想我对于动态语言以及数据库的优化已经做了非常多的工作了,别人是怎么使用DreamHost的呢?难道其他用户全部都是网站流量非常小,或者全都是静态页面,也不在乎经常宕机,不在乎速度慢,我真是很困惑。

  我现在已经受够了DreamHost,我也不会为他们的overselling继续买单了,我开始寻找下一个国外虚拟主机商了,现在,我宁愿选择那种只支持一个域名,每月限制流量在100GB以下的主机,也不会再选择那种可绑定无穷域名,声称每月提供1000GB以上流量的服务商了,否则,那可能将是另外一场噩梦。

  最后提一下,我使用SSH登陆后,用下面的语句查询我使用DreamHost的这台服务器的用户数,得出结果:一共有380个Shell用户和1069个FTP用户。

grep -i /home/ /etc/passwd | grep /bin/.*sh$ | wc -l

grep -i /home/ /etc/passwd | wc -l

2008年4月9日星期三

在Picasa上添加自定义按钮

  据Google Code Blog报道,Google的一个大受欢迎的图像软件Picasa有一个开放的API,可以让用户将自己的按钮添加到Picasa的界面之中。

  这些按钮可以往你电脑的其他应用中发送文件,这个示例文件演示了如何发送文件到Adobe Photoshop CS3,当然,你也可以选择上传照片或者视频到某个网站上。

  这里还要介绍一下Google的Web Uploader API,这个API使用了几年前那种发布到Blogger图片的协议,会在上传之间进行图片的预览,使用Web Uploader API,用户可以使得界面更像发送电子邮件的样子,例如“正在上传,请等待……”,Picasa还可以在发送图片之间调整图片大小,以便节省发送时间,这里有一些PHP的演示代码供参考。

  用户添加自定义的按钮显示效果如下图所示。

在Picasa上添加自定义按钮

  正因为这些按钮可以由任何人制作,因此也意味这Picasa按钮的大小是固定的,你可以做一个你个人博客的按钮或者你的图片存储空间的按钮,类似Picasa集成Flickr的那种应用。

2008年4月8日星期二

使用Twitter进行博客推广

  Twitter是一种易于更新的微博客系统,用户可以将自己的想法以简短的文字由网站、手机短信息、IM(即时信息服务软件)等快速发送给自己的订阅者和好友,用户也可以通过手机和IM接收这些信息,目前国内也出现了很多类似Twitter的网站,比如饭否叽歪等等,支持国内移动通讯服务商和国产IM工具的绑定,由于Twitter的影响力和使用者逐步扩大,通过Twitter来推广自己的博客也成为可能的事情,这里就介绍四个使用Twitter微博客服务进行博客推广的要点。

  一、用户注册

  如果你的博客已经颇有名气,那么就用你最常用的用户名注册,自然会有人关注你。如果你的博客的知名度还不大,那就不如注册使用一个比较引人注目的ID注册,然后修改你的头像,你可以将自己的头像修改为一个帅哥或者美女的头像,这时也会有很多陌生人关注你,这在国内通常是非常有效的。

  二、增加好友

  找一些你喜欢的人,将其添加为自己的好友,多添加一些知名人物,因为你follow他们,通常他们也会follow你。如果你使用邮件很频繁的话,可以利用Twitter的邀请系统follow你的Hotmail、Yahoo、Gmail通讯录上的朋友,这样你就可以增加足够多的好友,这时你就可以开始对他们发布一些有趣的信息。

  三、内容建设

  在Twitter上发布信息,要注意内容的质量,切勿无病呻吟,多发布一些有趣的消息或者爆炸性新闻快讯,对于新闻快讯(Break News)要抢在第一时间发布。

  四、博客推广

  鼓励你Twitter上的好友访问你的博客文章,将你最新的博客文章发布到Twitter上去,因为有人在Twitter上关注你的时候,他们通常都会访问你发布的文章。

  你不必手动将文章链接更新到Twitter,通过一些第三方工具可以自动将你最新的博客文章发布上去。目前主要的第三方工具为Twitterfeed和Feedlr。

  Twitterfeed.com 可以自动将你设置的RSS Feed内容发布到Twitter,自动将URL地址转换为TinyURL短地址,需要使用OpenID登录。

  Feedlr.com 是一个类似Twitterfeed的服务,除了支持Twitter外同时还支持国内的饭否叽歪,对于国内用户来说,饭否和叽歪也是非常流行的类Twitter服务。

  最后提醒一下,如果你想成为一个Twitter好用户,请不要滥用Twitter以及类似服务进行博客推广,否则可能效果会适得其反。

2008年4月7日星期一

在Google Blogger上定期发布文章

  据Google Blogger的官方博客报道Blogger最近做了一个试验网站,里面包含了一些新版本的功能,可以将原先版本的草稿在指定的时间发布到主页上。

  如果你想要提前体验一下这个新功能,那么登录到draft.blogger.com而不是www.blogger.com,如果你看到不同的图案,那说明是找对地方了。

  Blogger最新的两个特色功能你都可以在draft.blogger.com上测试,分别是:

  1、预发布文章,你将文章写在草稿中,设置发布的时间和日期,那么在未来的指定时间,系统会自动将文章在那个时刻显示出来。

  2、侧栏的链接列表,这个侧栏链接列表是基于Google Reader的,可以显示那些最新更新的博客甚至包括更新的文章。

2008年4月6日星期日

Windows服务器下的IIS和Apache性能比较

  目前最流行的建立网站的服务工具就要属Apache与IIS了。那么他们之间到底哪个性能更好呢?到底哪个工具才是最适合我们的呢?最近我也对这方面的问题进行了一番研究。

  如果是基于Linux平台的话,那不必多说自然是Apache了,因为IIS只能在Windows环境下运行,而Linux+Apache的整体性能、安全性、通用性也都强于Windows 2003+IIS 6.0,不过如果在Windows 2003的服务器上,IIS 6.0和Apache 2.2.6到底哪个性能最好呢?

  我于是做了一个测试,在不同型号的Windows 2003服务器上安装IIS和Apache,比较两者的性能,最基本的比较是静态HTML网页读取的比较,在我的测试之中,我发现Windows 2003下的IIS 6和Apache 2.2.6在静态HTML文件的处理性能上基本是相同的。

  测试环境:三台不同的服务器,CPU分别是P4 2.8E超线程,酷睿2 E6300,至强 5110,软件分别安装的IIS6和Apache 2.2.6.三台服务器都放了一个40K的HTML文档,我使用WAS(Web Application Stress Tool),开100个线程对这三台服务器进行吞吐量处理测试,测试其每秒钟处理线程的能力(Requests per Second),测试时间为1分钟。

  对于P4 2.8E和E6300,无论对于IIS和Apache,两者的点击数都基本上是250,每秒钟处理响应的数目大约为4.17.这说明对于静态HTML文件的处理能力,IIS和Apache在Windows平台下是基本相同的。

  而Intel至强5110的测试数据就相差非常大,在IIS下点击数达到了1838,每秒钟处理响应的数目达到了30.63,几乎比前两台服务器高了7倍,这说明在同样的软件环境下,即使是入门级别的CPU,Intel至强服务器也具有远远超过普通奔腾服务器的性能。

  因此得出结论,如果一个网站的大部分页面都是静态页面,并且是假设在Windows 2003服务器上的,那么IIS和Apache两者性能基本相同,要想提高网站的整体吞吐量,需要在服务器硬件上进行升级。

2008年4月4日星期五

中文和英文维基百科可正常访问

  据读者留言报道,中文维基百科的https版本已经可以正常访问了,英文版的维基百科同样也可以正常访问了,不过普通的中文版维基百科还是不能访问。

  我估计普通版本的维基百科短时间内还是会无法访问的,加密的https版由于使用的人少,并且其访问数据通信都是经过SSL加密的,因此被关注的几率就低一些。

  维基百科是由非营利组织维基媒体基金会运作,是一个自由、免费、内容开放的百科全书协作计划,参与者来自世界各地。这个站点使用Wiki技术,这意味着任何人都可以编辑维基百科中的任何文章及条目。

  中文维基百科的热心参与者众多,很多中文条目写的比较专业,内容的质量较高,在同类的中文Wiki网站中屈指可数。

  随着奥运会的即将召开,希望能有更多的优秀网站能够正常访问。

2008年4月2日星期三

Z-Blog首页实现了静态化

  今天花了两个小时的时间将我使用的Z-Blog 1.7的首页实现了静态化,通过这个静态化处理,使得我的Blog的负荷能力大为增强。

  之所以将其静态化,是因为前几天我用Microsoft Web Application Stress Tool对我的博客进行网站性能测试的时候,我发现100个并发就可以让我的Intel双核至强5110 CPU达到100%负荷,这令我大吃一惊。仔细分析了一下,发现可能是因为default.asp中的Call System_Initialize引起的性能问题,因此我就打算使用静态化的方法跳过这条命令。

  这个静态化其实是伪静态化,修改default.asp文件,当调用default.asp的时候会自动判断default.html文件是否存在,存在的话就读取这个文件的内容,然后修改c_system_event.asp文件,在重建缓存和提交评论的时候会自动重建首页html文件,最后修改一下首页的模板,将显示评论修改为JavaScript的方式,重建一下,即可正常使用。再使用Microsoft Web Application Stress Tool测试,效果明显,CPU再也没有上30%了。

  具体修改方法是:修改c_system_event.asp,加入下面函数:

Function BlogReBuild_Index()

 Dim ArtList
 Set ArtList=New TArticleList
 ArtList.LoadCache
 ArtList.template="DEFAULT"

 If ArtList.ExportByCache("","","","","","") Then
  ArtList.Build
  Call SaveToFile(BlogPath & "default.html",ArtList.html,"utf-8",True)
 End If
 BlogReBuild_Index=True

End Function

  然后在重建缓存函数MakeBlogReBuild和提交评论函数PostComment和提交引用函数PostTrackBack的尾部加入语句BlogReBuild_Index。

  之后修改default.asp

  在其文件开头加入以下语句:

If trim(Request.QueryString.Item) = "" Then 
Server.Transfer "default.html"
Response.End
End If

If trim(Request.QueryString.Item)<>"" Then
 Call System_Initialize()
Else
 Call System_Initialize_WithOutDB()
End If

  以上修改在Z-Blog 1.7中实现,使用Z-Blog 1.8的可以忽略此文,因为Z-Blog 1.8已经完全解决了以上的所有问题,解决了System_Initialize的性能问题,并且也有首页静态化插件,不会再发生我现在这种问题了。

愚人节的Google新闻数则

  今年的愚人节好不热闹,网上是新闻不断,关注IT圈的网友们也都辛辛苦苦一年了,好容易到了放松放松的时候了,咱今天就来几个八卦新闻播报。

  1、订阅数增加

  月光博客的订阅数从四天前的40359一举增加到今天的74342,统计数据由FeedSky提供。

  2、更换网络

  由于访问数大增,网站服务器将在一个月后从广东迁移到浙江,届时教育网和网通用户将可以正常访问月光博客。

  3、Google人肉搜索

  Google推出了人肉搜索

  4、Google文档离线编辑

  Google文档今天还推出了离线编辑功能,可以离线进行文档的修改保存。

  5、Blogspot可以访问

  绑定域名的Blogspot可以访问了,大家可访问我的blogspot测试。

  6、移动3G放号

  北京、上海、天津、沈阳、广州、深圳、厦门和秦皇岛8个城市的3G网终于放号了,移动用户可以申请使用,号段为“157”开头。

  7、移动免费信箱

  中国移动推出139免费电子信箱,容量1G,送1G网络硬盘,支持SMTP和POP,每月免费发送数十条短信和彩信,注册即送10元话费。

2008年4月1日星期二

Web网站的性能测试工具

  随着Web 2.0技术的迅速发展,许多公司都开发了一些基于Web的网站服务,通常在设计开发Web应用系统的时候很难模拟出大量用户同时访问系统的实际情况,因此,当Web网站遇到访问高峰时,容易发生服务器响应速度变慢甚至服务中断。为了避免这种情况,需要一种能够真实模拟大量用户访问Web应用系统的性能测试工具进行压力测试,来测试静态HTML页面的响应时间,甚至测试动态网页(包括ASP、PHP、JSP等)的响应时间,为服务器的性能优化和调整提供数据依据。

  我推荐各位Web 2.0开发测试人员使用Microsoft 的Web Application Stress Tool这个工具软件,这个微软提供的小工具仅9.58M,很小巧且实用。虽然功能上比不了专业的LoadRunner,但LoadRunner体积庞大,价格不菲,一般的企业也不会花那么多钱去购买LoadRunner,而微软的WAS则是完全免费,并且主要的功能都有,够用就行。

  Microsoft Web Application Stress Tool能有效测试一个网站的负载性能,这个软件可以通过脚本模拟100个强并发用户的访问,并模拟实际用户的一些点击操作,WAS还可以连接上远程Windows网站服务器的性能计数器(Performance Counter),通过对服务器性能(CPU/内存等)的性能分析来找到系统的瓶颈。CPU使用百分比反映了处理器开销,CPU使用百分比持续地超过75%是性能瓶颈在于处理器的一个明显的迹象。

  每次测试运行结束后WAS会生成详细的报表,WAS报表可以从View菜单选择Reports查看。

  另外,CSDN也总结了一些其他的测试工具,包括性能测试工具和功能测试工具,前十大测试工具排名如下:

  业级自动化测试工具WinRunner

  Mercury Interactive公司的WinRunner是一种企业级的功能测试工具,用于检测应用程序是否能够达到预期的功能及正常运行。通过自动录制、检测和回放用户的应用操作,WinRunner能够有效地帮助测试人员对复杂的企业级应用的不同发布版进行测试,提高测试人员的工作效率和质量,确保跨平台的、复杂的企业级应用无故障发布及长期稳定运行。

  工业标准级负载测试工具Loadrunner

  LoadRunner 是一种预测系统行为和性能的负载测试工具。通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner 能够对整个企业架构进行测试。通过使用LoadRunner ,企业能最大限度地缩短测试时间,优化性能和加速应用系统的发布周期。

  全球测试管理系统testdirector

  TestDirector 是业界第一个基于Web的测试管理系统,它可以在您公司内部或外部进行全球范围内测试的管理。通过在一个整体的应用系统中集成了测试管理的各个部分,包括需求管理,测试计划,测试执行以及错误跟踪等功能,TestDirector极大地加速了测试过程。

  功能测试工具Rational Robot

  IBM Rational Robot 是业界最顶尖的功能测试工具,它甚至可以在测试人员学习高级脚本技术之前帮助其进行成功的测试。它集成在测试人员的桌面 IBM Rational TestManager 上,在这里测试人员可以计划、组织、执行、管理和报告所有测试活动,包括手动测试报告。这种测试和管理的双重功能是自动化测试的理想开始。

  单元测试工具xUnit系列

  目前的最流行的单元测试工具是xUnit系列框架,常用的根据语言不同分为JUnit(java),CppUnit(C++),DUnit (Delphi ),NUnit(.net),PhpUnit(Php )等等。该测试框架的第一个和最杰出的应用就是由Erich Gamma (《设计模式》的作者)和Kent Beck(XP(Extreme Programming)的创始人 )提供的开放源代码的JUnit.

  功能测试工具SilkTest

  Borland SilkTest 2006属于软件功能测试工具,是Borland公司所提出软件质量管理解决方案的套件之一。这个工具采用精灵设定与自动化执行测试,无论是程序设计新手或资深的专家都能快速建立功能测试,并分析功能错误。

  性能测试工具WAS

  Microsoft Web Application Stress Tool 是由微软的网站测试人员所开发,专门用来进行实际网站压力测试的一套工具。透过这套功能强大的压力测试工具,您可以使用少量的Client端计算机仿真大量用户上线对网站服务所可能造成的影响。

  自动化白盒测试工具Jtest

  Jtest是parasoft公司推出的一款针对java语言的自动化白盒测试工具,它通过自动实现java的单元测试和代码标准校验,来提高代码的可靠性。parasoft同时出品的还有C++ test,是一款C/C++白盒测试工具。

  功能和性能测试的工具JMeter

  JMeter是Apache组织的开放源代码项目,它是功能和性能测试的工具,100%的用java实现。

  性能测试和分析工具WEBLODE

  webload是RadView公司推出的一个性能测试和分析工具,它让web应用程序开发者自动执行压力测试;webload通过模拟真实用户的操作,生成压力负载来测试web的性能。