Google的公共DNS服务

Google提供了公共的DNS服务,三金和老黄马上就想到了对CDN厂商的冲击。我看了下Google的Performance Benefits,记一笔。

发生在解析服务器和其它DNS服务器的传输时间,有三个原因。

……
2009-12-04    
记一笔keep-alive和cache-control

以前看的时候大多走马观花,补补课,记一笔吧。

  • 对于静态内容在HTTP Header中设置过期时间和最大时间,可以有效的使浏览器避免下载已经下载过的文件。
  • js,css,图片什么的都是静态内容,都应该考虑cache,但是html不是静态内容。
  • Expires和Cache-Control: max-age是资源终身鲜活的Cache控制。浏览器在过期之前不进行资源的鲜活检查。
  • Last-Modified 和ETag则是对资源的一种描述,属于启发式的Cache控制,浏览器在检查之后再决定使用Cache与否。
  • Expires 和Cache-Control: max-age,作用相同,设置其中一个即可,Last-Modified 和Etag也是冗余的设置,设置其中一个即可。
  • 设置Expires,Cache-Control支持率不及Expires。这个值通常设置1个月,不要超过1年。如果不知道过期时间,就设长一点,当发生变化的时候使用URL的指纹。
  • 要考虑到代理服务器的Cache情况,使用Cache-Control的public还是private。通常来说要set-cookie的地方就不要让代理Cache,所以设置为Private。
  • 代理Cache的情况还有压缩与否的问题,有两种方法,一种是把Cache-Control设置为Private,使代理服务器不Cache这些内容。另一种是设置Vary: Accept-Encoding的Header,这可以使代理Cache两种内容,压缩的与不压缩的。
  • 避免Firefox的URL哈希冲突,Firefox的URL哈希算法有8个字符的冲突边界。所以两个资源的URL差异应该在8个字符以上。
  • 设置正确的Vary Header,IE对于设置了Vary头的资源是不Cache的,有例外,Vary头的值是Accept-Encoding和User-Agent的时候可以被IE给Cache,所以要么不设Vary头,要么就对Vary头进行裁剪。

HTTP Keep-alive呢,重点看以下几个文档:

……
2009-12-02    
卧底经济学的小记(1)

还价能力来自于稀缺性。

稀缺有两种,一种是自然稀缺,另一种是人为稀缺。人为的通过政策和法律限制”边际”资源,造成资源的稀缺,进而提高了还价的能力。

……
2009-12-01    
内存是新的硬盘

High Scalability有篇基于内存构建云的展望。顺手做一下笔记:

  • Google的一个查询能够在200ms之内完成,其性能主要来源就是索引信息完全在内存里。数以千记的服务器处理每一个查询,以使搜索结果能立刻返回。
  • Linkedin和digg都把自己的社会关系网络给塞到内存里了。
  • Facebook使用了800个memcached,存储了25T的数据,并且保持了99%的cache命中率。
  • 在基于内存的结构中,内存将是一套存储系统。与基于缓存的结构不同之处是,内存中的数据即是最终数据。
  • 缓存系统是以最小化磁盘读取数据的瓶颈为目的,而内存系统则可以定址整个应用的栈。 数据存储在内存里比之传统方式将获得更高的可用性。
  • 内存=高带宽和低传输时间。
  • 内存的带宽是5GB/s,硬盘是100MB/s。内存比硬盘快数百倍。
  • 硬盘的读传输时间大约在几秒的范围之内,内存则在5纳秒之内。内存比硬盘快了2000倍。
  • 内存是新的硬盘
  • 通过网络在内存中提交一个事务要比写在硬盘上快。同样的读内存也要比读硬盘快。
  • 所以思想就是要跳过硬盘。
  • 硬盘是新内存,内存是新缓存。50个硬盘的集群可以达到与内存相同的带宽。但是传输时间上的问题就要靠组织数据结构和优化算法实现了。

记的比较乱,大概留个映像吧。要让数据靠CPU足够近。

……
2009-11-27    
Wave和科技创新

周末参加了豆瓣举办的Python聚会,直播使用了Google的新产品:Wave,发现Wave真的可以把会议室给解放出来。

刚刚接触到Wave的人,大多都有些失望,发现Wave和一个即时通信工具没有什么两样,只不过组的成员是不固定的。同样也没有带来想象中的信息爆炸。

……
2009-11-16    
爬出那个坑

在Practice of System and Network Administration中有一章是Climb out of the Hole。这个洞就是:

一个家伙掉到了深到他不可能出来的坑里。听到有人路过,他成功的引起了注意。路人听完了他的遭遇,想了一会儿,也跳进了那个坑。

……
2009-11-02    
MacBook电池问题的解决方法

在公司班车上闲来无事就翻了翻《Mac OS X Snow Leopard – Pocket Guide》这本书。看了其中关于电池问题的一些解决方法就随手翻译出来了。下面是译文:

MacBook的用户要面对一个桌面电脑用户所没有的问题,电池。大多数苹果电池的目标就是在300次完全充电周期之后还能提供原电池容量80%的电力(新的MacBook上是1000次)。想查看你的电池情况,第一个地方就是System Profiler->Power。

……
2009-09-29    
繁体还是简体

昨天看了Cathayan写的繁体的优越感一文,又和几个朋友聊了会儿,恰好又看到了Snow Leopard的新中文字體一文。其实cathayan的那篇是针对这一篇的一个义气回应文。

事情的起因是因为Apple在Snow Leopard里把繁体中文界面的字体换成了Heiti TC,然后呢,很多台湾使用者都不适应了。纷纷站出来说苹果和这个字体的不是,比如zonble的这一篇和前面的那一篇。

……
2009-09-08    
人和机制

上卫生间洗手,边上有一个自动出洗手液的机器。机器的下方常常有洗手液滴下来,滴在台子上,有些浪费。

公司最早使用的是手压式容器,每用一段时间就坏了,洗手液滴了一台子。现在自动了,但有人把手伸过去后,接了一点洗手液后就开始洗手了,剩下的洗水液自然就滴到台子上了。

……
2009-08-14    
在Python里拿周序号

早晨有同事问为什么Python里的datetime模块使用strftime("%W")取出来的Week number不对呢,好象差一周。使用date "+%W"得出的结果与Python的结果是一致的。

……
2009-08-05