Tag Archives: Google

TCP Fast Open by Google 浅析

Google 将在今年 12 月的 ACM CoNEXT 会议上发表他们在改善 Web 应用响应时延方面的一个工作,通过修改 TCP 协议利用三次握手时进行数据交换的“TCP Fast Open”。虽然 paper 是两天前才释出,但相关的 RFC 草案则早在 2011 年 3 月份就提交到了 IETF,并且在两周前进行了一次 UPDATE,这里是 DIFF

对于 TCP Fast Open 方案的内容,淘宝的一个朋友已经根据 RFC 草案进行了解读。我就不再赘述,感兴趣的朋友可以去看 paper 或者 RFC。我这里只是想讨论一下这个东西的应用前景。

由于对背景并没有做深入了解,我相信已经有很多人尝试去做过类似的工作,但我想类似的工作应该没有得到过大规模的应用。对于已经成型很久很久的 TCP 协议,让人很难有修改它的欲望,因为改那么底层的东西意味着很多很多的麻烦。

但是是否愿意付出代价,有一个前提是有没有足够的好处。TFO 给出的好处是:在 RTT (Round Trip Time) 比较低时,客户端页面加载时间优化大约在 4%~5%;RTT 越长,好处越大,平均大约在 25%。

Google TCP Fast Open Evaluation

Google TCP Fast Open Evaluation

除了页面加载变快改善了用户体验之外,TFO 给服务器端也带来了一些好处。由于每个请求都节省了一个 RTT,相应地也减少了服务器端的 CPU 消耗。paper 中给出的数据是每秒事务数由 2876.4 上升到 3548.7。

虽然 paper 中大部分时间在强调 TFO 对 web 页面加载的显著加速作用,但我认为即使 TFO 能成为互联网标准,它目前的状态离成为标准还有很长一段距离,因而在短期内它是无法影响到主流互联网世界的。但这并不意味着它没有机会,依小弟的愚见,目前它的推广应用可能有两个方向:

1. 移动互联网。移动互联网的 RTT 目前远大于传统互联网(常理推测,需数据支撑),因而一个 RTT 节省的效果无法被忽视;另外移动互联网终端操作系统多样化,不像桌面终端系统那么单一。 Google 自己就掌握着其中一个很重要的 android,百度也计划推出自己的“易平台”。这些互联网公司有动力去改善移动用户访问自身网站的用户体验。

2. 互联网企业数据中心。虽然数据中心内部访问时延很低,但对于典型的请求/响应的服务而言,减少一次 RTT 带来的好处还是有吸引力的,最起码能减少计算能力浪费和增加吞吐吧。再加上很多企业内部使用的都是定制的开源操作系统和定制的网络库,升级的代价并不是那么高。如果我是企业基础设施的负责人,我想我会很慎重地考虑这个方案的。

技术人员的眼界

意识到眼界的重要性,最初是在大学时学长的交流会上。南大数学系有一个传统,每年总有那么两三次组织高年级的同学开经验交流会。这些交流会可能有明确主题,例如留学或是找工作,也可能没有明确主题。幼稚如我,在大一阶段拒绝参加任何形式的社团或者活动,认为踏踏实实做好眼前的事情足矣,闲暇时间基本花费在小说上。后来的种种经验证明,这是多么傻的一种做法!

我在数学方面是一个资质一般的学生,是几位师长和朋友打开了我在计算机行业的眼界,得以投身到信息技术的洪流中。写到这里忽然觉得有变成回忆长文的迹象,就此打住,几位是谁就不介绍了。唯一值得一提的是,李开复先生也是其中之一,这也是我从不参于对他的争议和讽刺话题的原因。在帮助和启发中国学生方面,我觉得他是一个值得尊敬的人。

但是在进研究生院之后,我自己闭塞了眼界的发展。一方面有当时身处的环境使然的原因,另一方面有成绩羞见江东父老的自闭自卑成分。非常后悔的有两点,一是虽然在某个研究专题方面有所收获,但在计算机科学系统性知识方面的进展不够大;二是身处远离实业的象牙塔,虽然亲身经历了一次严重的经济危机,却没能趁机深入地去学习和观察隐藏在这场危机之后的经济和科技发展规律。

我用来勉励自己,有时候也用来鼓励他人的一句话是:“只要你读的是自己不知道的东西,那就是在进步。”因而我经常不择食地去读一些书,了解一些知识。但渐渐地认识到了一点,当你着手去学习时,眼界决定了你汲取知识的效率和效果。具体到计算机科学,眼界可能决定了你读的书是经典还是垃圾,花时间在过时的还是新兴的技术上。

这个周末在家看吴军先生的《浪潮之巅》,爱不释手。作为一个曾经拜读过 Google 中国黑板报上“浪潮之巅”系列连载的读者,我本以为这会是本信息企业史,但阅读后发现新增的三分之一内容更精彩。我不曾想过一个技术人员的眼界会如此之广,能够从各个角度去观察和分析身处的这个行业、这个时代。我不否认对于书中的一些观点我并不完全赞同,但作者的眼界和思考能力着实让我佩服。

现在我已经初步开始自己的职业生涯,未来该何去何从,心中有一些惶恐。该打造哪方面的能力,亦不知该如何着手。有一些短期的规划,但并无具体的长远目标,我知道自己又到了一个眼界的瓶颈期。都说中国的年青人被房子票子绑架了,我希望自己能在忧愁这些之外,分些时间来读读好书,交交优秀的朋友,想想深刻的问题,聊以自勉。

注册 Google Voice 的曲折经历

昨天 iron-feet 同学给我讲了不少 Google Voice 的好处,搞得我也心痒痒的(技术男的通病),想去注册一个。但后来发现只有收到邀请才能注册,Google 官方的邀请可能要等很长时间,于是我就在 Twitter 上发推求邀请,非常感谢好心的 @liyong3 同学(blog),马上就给我发了邀请。

前面是好运,下面就是悲剧的开始。在注册之前我也知道注册 Google Voice 的麻烦之处:不允许中国网络访问,要有出国代理或VPN;激活时不允许绑定非美国号码,要申请到一个虚拟的美国号码,并转发电话到自己的聊天软件。我就是在激活上出了问题。

在目前网上流传的几个可以申请美国号码的服务里:ipkall 注册时无论如何都会出现密码错误;Gizmo 已经被 Google 收购,目前不提供注册;Freedigits 早就不提供注册了。所以从我的体验来看,能用的就只剩下:http://www.virtualphoneline.comhttp://www.groovytel.com 了。其实这两家网站的页面风格一模一样,很可能是一个公司的产品。

http://www.virtualphoneline.com 之所以流行跟谷奥那篇介绍注册 Google Voice 的文章有关,但是 virtualphoneline 注册的免费虚拟号码只能试用 24 天,不过能以更多的形式(10 种)转发来电;至少从声明上来看,http://www.groovytel.com 要好一些,免费号码能试用 3 年,但是转发形式少了(6种)些。不过还好他们都支持转发到 Gtalk。

我一开始就注册了这两个服务的号码,也设置了转发到 Gtalk。但在 Google Voice 里尝试打了几十次激活电话,也没收到一个来电。于是我就对网上流传的各种方案进行尝试,包括网上没有的方案。整整尝试了一下午,才收到了那么几次 virtualphoneline+nonoh 的电话,但是很悲剧,nonoh 的拨号盘不能配合 virtualphoneline 输入认证码。于是我只好无奈放弃了。

到了晚上 11 点多我看 Google Reader 的时候,心仍有些不甘。看了一个视频,发现别人 Gtalk 有个联系人叫做 service@gtalk2voip.com,我顺手也加上了。然后将 groovytel 改回转发到 Gtalk,看文章的时候一会儿过去打一下,一会儿过去打一下,没想到还真给我打通了。按照网上的方法,先输一个数字,回车,再输一个数字,回车,就通过了验证。

总结一下下午激活失败的可能原因:

1. 没有加 service@gtalk2voip.com 机器人为联系人。其实我不确定这个有没有用,反正加个机器人也不麻烦。

2. 可能在通话的高峰期打电话。从我看 groovytel 和 virtualphoneline 的通话记录,发现很多通话没应答只持续 5 秒钟。我不知道是不是意味着如果 5 秒钟没有接通 Gtalk 他们就放弃了连接。按说北京的下午在美国是凌晨呀,不应该是高峰的。

反正不管怎样,结果表明还是多尝试好,要有耐心,反正 Google Voice 貌似也没有限制可以尝试多少次,多次尝试打不通就换个时间打。我在 Twitter 上也碰到和我一样没能激活的好友,也许大家可以借鉴一下这里的经验。

解决 GAppProxy Set-Cookie 和 HTTPS Cert Bugs

我自己写了一个类似 GAppProxy 的工具,支持 Python 和 PHP,有兴趣可以看这里。 研究 GAppProxy … Continue reading

Linux 下 Firefox 变身 Google Chrome

几乎可以达到以假乱真的效果,屏幕截图请看: 要求: 1. KDE 4 ---> Gnome 的窗口无法隐藏标题栏,影响变身效果(这也是目前我觉得 … Continue reading

Google 拼音词库转 Vimim 词库脚本

我写了一个将 Google 拼音输入法词库转换为 Vimim 词库的脚本,贴在这里,希望对大家有用。 #!/bin/bash iconv -f … Continue reading

Google 音乐搜索

/* 这不是一篇商业软文——虽然我希望可以有钱赚 :) */ 今天无意中溜到和菜头的博客,看到他对谷歌音乐搜索的评论。然后试了一把,您还别说,真不错。 虽然这个音乐搜索并不像一个搜索网站而更像一个常见的音乐站,但是界面足够清爽,而且链接不会失效。我平时访问某些音乐站时最讨厌的就是页面上一堆链接,而且很多音乐是从别的网站盗链过来,经常失效。 最赞的是那个音乐播放器,列表功能很强大,而且还可以同步显示歌词。而且经过测试发现网速足够快,一首歌缓冲个两三秒就下载完了,完全可以在线听。我觉得以后没有必要在电脑中保存音乐了,这样一来,使用 Linux … Continue reading

Patch for Libjingle with GCC 4.2.4 on Ubuntu

It is a svn diff result, not a … Continue reading

Google Friend Connect 挺好玩的

经常来我博客转转的朋友会发现,我最近挺享受右下角的 Google Friend Connect,尤其是那个留言板。 目前来讲我没有发现 Google Friend Connect … Continue reading

Ibus 输入法

Ibus 输入法 由于种种历史遗留问题,本人惯用的汉字输入习惯和大多数人不一样:双拼输入法,并且是智能 ABC 风格的。这也就决定了我选择输入法的时候首先看它是不是支持我习惯的风格。以前 Google 推出中文输入法的时候,我的反应就很慢,因为不确定它是否支持双拼,后来发现它对智能 ABC … Continue reading

Page 1 of 3123