VPS上的cpu load average

本文原创,转载请注明来源:http://www.1or9.com/post/227.html

我经常为这个问题困惑,所以研究了一段时间。

首先:cpu load average 不是cpu负载。那个数字表示的意思是:cpu任务队列的长度。以下讨论基于1个核,如果是N核,情况完全一样。只是放大N倍。

如果cpu load average 比1小,则说明:CPU队列里面没有任务排队,也就是CPU非常闲。问题是如果这个数字比1大,就说明负责太高,CPU承受不了吗?不是的!如果这个数字稳定在一个数值不持续变大,恰恰说明CPU可以承受这个负载。就像超市排队check out,如果顾客的队伍一直保持在5个人或者10个人而不持续增长,说明这个柜台的营业员还是能够来得及处理的。唯一的问题就是每个用户可能要花一点时间排队。那到底要排队多少时间呢?如果CPU平均处理一个任务的时间是1毫秒,如果队列是10,也就是说每个任务的处理时间从1毫秒变成11毫秒(10毫秒的等待时间+1毫秒的真正处理时间)。从用户角度来说,1毫秒和11毫秒是区别不出来的。但是如果我们假设CPU平均处理一个任务的时间是1秒,如果队列是10,也就是说每个任务的处理时间从1秒变成11秒(10秒的等待时间+1秒的真正处理时间)。从用户角度来说,1秒和11秒的区别是非常大的。

Continue reading “VPS上的cpu load average”

Google Sitemap Generator 安装笔记

本文原创,转载请注明来源:http://www.1or9.com/post/223.html

Google Sitemap Generator的下载和安装在 http://code.google.com/p/googlesitemapgenerator/ 上面其实已经说的非常详细了。完全按照上面的步骤一步一步走下来,结果还是碰到了问题。上面和我有一样问题的同学也不少。但是只有提问的,没有回答。

所谓的问题,其实就是远程访问配置的问题。如果安装好以后,只本地访问(localhost),什么问题都碰不到。我开始也想通过本地访问来配置,绕过这个问题,但是由于用的是linux,又没有装X window,不知道怎么本地访问,好像必须远程访问。

Continue reading “Google Sitemap Generator 安装笔记”

如何对付网络爬虫

是一篇非常有用的文章,原文地址是:
http://robbin.javaeye.com/blog/441071
http://robbin.javaeye.com/blog/441116
我本来bookmark了这2个地址,可是非常奇怪,再次访问的时候,文章居然删除了。不知道作者为什么删除这么好的文章。幸好还有备份,贴在这里给需要的同学学习参考。
=====================================================
由于搜索引擎的泛滥,网络爬虫如今已经成为全球互联网的一大公害。除了专门做搜索的Google,Yahoo,微软,百度以外,几乎每个大型门户网站都有自己的搜索引擎,搜狐,腾讯,网易。再加上十分流氓的社区搜索奇虎等等,国内大大小小叫得出来名字得就几十家,还有各种不知名的几千几万家,另外还有国外各种奇奇怪怪的搜索引擎。只要你做的网站是内容丰富的网站,就避免不了被几千几万个爬虫每天爬来爬去。 Continue reading “如何对付网络爬虫”

Google开始显示“笑话幽默百分百”的Sitelinks

经过近2年的努力,Google与2009年6月29日,开始显示小站“笑话幽默百分百”的sitelinks。只要在谷歌用关键词“笑话幽默”查询,就能看到下面图片显示的样子。

Google Sitelinks 一直被认为是高质量网站的一种表现,它意味着能够产生sitelinks的站点在搜索引擎上具有很高的权重。只有在某个有一定搜索量的关键词的排名中,一直排在第1一段时间后,才会自动产生sitelinks。从这个角度上说,希望将来能在更多的关键词搜索上,出现“笑话幽默百分百”的sitelinks,毕竟关键词“笑话幽默”不算是1个非常热的关键词。

另外,小站最近在百度中的排名也上升很快。总的而言,相同关键词,相同排名,百度过来的流量要高于google过来的流量,看来国内搜索引擎的老大还是百度。

jQuery学习笔记

最近打算研究研究JavaScript。现在写JS比以前要好很多,因为有很多非常牛B的JS库。打算有时间一个个研究,第一步打算先研究jQuery。把觉得有点用的内容和心得记录在这个post内,供以后忘记的时候查询。

1) jQuery的核心函数是jQuery(),通常只用其简写形式$()。(所有又叫美元函数)

2) 获取原文件DOM对象的方法有以下几种:
a) 根据id寻找:$(“#id”) //#id为某DOM对象的id
b) 根据元素名字寻找:$(“element”) //element为某特定元素名称,如”div”,”a”,”p”
c) 根据.class寻找:$(“.classname”) //classname为某具体的classname
d) 找某#id下面所有元素:$(“*”, $(“#id”)) //*表示通配符
e) 找某元素下特定的name:$(“element[@name=aaa]”) //比如$(“div[@name=mybtn]”),表示name是mybtn的div元素

3) 和jQuery无关,纯JS。开新窗口用window.open(“new url”),老窗口打开用window.location=”new url”。一个是函数,一个是属性。

如何产生既随机又不随机的数据

标题没有写错,的确有这样的需要,至少我碰到了。

首先描述一下我碰到的情况,我的笑话站(xiaohuayoumo.com)使用的是MySQL数据库。其中有一个表alljokes,记录了所有的笑话。我现在想实现的功能是,每天随机的选择出一部分笑话(比如说50个)。要做到这一点是非常容易的,最简单的方法就是“SELECT * from alljokes ORDER BY rand() LIMIT 50”。当然如果alljokes中的数据非常多的话,“ORDER BY rand()”的效率会比较低,网上有很多文章将到如何用其他方法来替代“ORDER BY rand()”。 Continue reading “如何产生既随机又不随机的数据”