杂记
NinGoo's blog

Velocity China 2010: 技术的盛宴

这两天在北京参加Velocity China 2010,虽然时间只有短短的两天,很多主题也是关于web前端优化,听的并不是特别懂,但整个大会的技术氛围,嘉宾分享的主题,都让人感觉不虚此行。

有Steve Souders和Douglas Crockford两位大神坐镇,web优化方面自然是不需要再有过多的渲染。但是说实话,英文的演讲对于我来说听起来还是有点费力,能够理解的东西有限。倒是Facebook,这次来的两位华人科学家,蒋长浩(Changhao Jiang)和魏小亮(David Wei),带来的两个topic,以中文演讲,让我这个web优化的文外汉也听得似懂非懂,大呼过瘾。

蒋长浩的《Facebook网站的Ajax化、缓存和流水线》,魏小亮的《Facebook: 一个可持续发展的高性能网站》和《静态网页资源的管理和优化》,都是值得慢慢品尝的主题,明年估计国内很多公司都会开始尝试bigpipe了吧。

其他印象比较深的还有腾讯的两个session。以前很少听到腾讯比较深入的技术话题,这次则比较给力。谢明博士的《腾讯相册存储系统》,分享了腾讯的一个分布式文件系统,囧的是名字也是TFS,看来要抢注商标了,哈哈。QQ空间技术总监黄希彤的《另辟蹊径——腾讯web应用的优化新思路》,则讲述了流量预加载,不同ISP之间流量控制,以及无障碍用户体验的话题,引入思科。另外百度刘斌的《百度分布式数据库》对于SSD的实践,土豆吴岷对于视频网站自建CDN的分享,都是实打实的干货。唯一遗憾的是,下午的会议分为三个分会场,分身乏术,错过了一些精彩主题,只能等几天之后的ppt和视频了。

今天早上被同事临时抓壮丁为大会的新浪微博帐号做了一些业余的简短直播,以一种不同的角色参与这场技术盛宴,也算有了一种不同的体验。接下来将在北京办公室工作三天,期待idata forum和oow的到来,呼新朋唤旧友,共享技术,不亦乐乎。

1111的疯狂

1111光棍节,已经过去两天了,这疯狂的一天,只有想不到,没有做不到。

淘宝商城的广告早就开始铺天盖地,虽然所有人都知道这一天会有新高,但没有人敢说有这么高:

淘宝商城单日交易额9.36亿,每秒超过2万元交易;2家店铺超2千万;11家店铺超千万;20家店铺过500万;总共181家店铺过百万。

之前我们乐观估计,2倍的业务上涨是可能的,传递到系统,50%的余量应该就足以支撑。回顾梳理我们的系统,今年以来的几个大的改造项目完成以后,50%的余量都不成问题,并且所有的数据库系统都已经拥有超过100%的余量来应对年底的高峰。

但1111当晚0点的iPad秒杀过后,一看数据库指标还是让我心惊,平时已经是低峰时段,秒杀瞬间几个数据库的指标都直冲平时最高峰,不由得为白天和当晚流量高峰有些担心。9点上班,我们技术保障部和核心交易系统几个人临时坐到振飞办公室一起联合办公,为一整天的疯狂准备应急措施。CDN的流量在八点多就已经率先以超过80度的仰角拉升,很快就超过了我们平时的流量高峰,这一下完全超过我们的预期,我们还是低估了广大人们群众的购买力,于是迅速分析如何通过一些措施来优化,扩容以及降级部分应用,来为CDN保驾护航。其中有一些真是“艰难的决定”,所幸直到最后,这些艰难的决定并没有做出。

数据库的指标也在不断攀升,不过我们的商品库,用户库,交易库等核心交易流程相关的库在10月份之前都已经完成了水平拆分和扩容,在这波惊涛骇浪中情绪相当稳定。虽然有一个我们之前预计有100%余量的库在最后超过了100%的压力,不过我们在采取几个轻量级的降级措施之后,也是平安度过。剩下的时间,我们就一边盯着交易监控曲线快速上涨,一边盯着秒杀的整点时刻,这真是一种心惊肉跳的幸福。

七公说,淘宝的技术这次给力了。是的,我们顶住了,10倍的疯狂啊,支付宝也顶住了,旺旺也顶住了,各大银行,虽小有波折,最终也顶住了。这一天,注定将成为电子商务的一个里程碑,这一天,注定将成为淘宝技术的一个里程碑,这一天,我们有幸见证,这一天,我们有幸亲历,这一天,值得记录下来,慢慢回味。

调节VirtualBox中Ubuntu虚拟机的分辨率

准备将工作电脑环境迁移到Linux,先在虚拟机中适应,之前在x200中使用vmware,每次启动虚拟机,电脑都要假死十几分钟才能反映过来,于是改用轻量级的VirtualBox3.2.10(又一款带Oracle标的东东,Oracle越来越无处不在了),下载Ubuntu10.10,很快安装搞定。不过头疼和悲剧的是,旺旺还没有Linux版本。。。

不过进Ubuntu桌面后,屏幕分辨率只能在800×600和640×480之间切换,刷新频率也是很奇怪的61HZ。Google了下发现是需要和VMWareTool一样需要安装一个虚拟机的辅助工具。先在“设备”->“分配光驱”选中VBoxGuestAdditions.iso,然后运行其中的安装程序或者脚本:

ningoo@ningoo-VirtualBox:~$ sudo sh /media/VBOXADDITIONS_3.2.10_66523/VBoxLinuxAdditions-x86.run
[sudo] password for ningoo:
Verifying archive integrity... All good.
Uncompressing VirtualBox 3.2.10 Guest Additions for Linux........
VirtualBox Guest Additions installer
Uninstalling old VirtualBox DKMS kernel modules ...done.
Building the VirtualBox Guest Additions kernel modules
Building the main Guest Additions module ...done.
Building the shared folder support module ...done.
Doing non-kernel setup of the Guest Additions ...done.
Starting the VirtualBox Guest Additions ...done.
Installing the Window System drivers
Installing X.Org Server 1.9 modules ...done.
Setting up the Window System to use the Guest Additions ...done.
You may need to restart the hal service and the Window System (or just restart
the guest system) to enable the Guest Additions.

Installing graphics libraries and desktop services components ...done.

安装完重启,VirtualBox就能根据是否全屏以及物理主机的分辨率等情况自动支持相应的分辨率了。话说Ubuntu用起来确实太爽了,尤其是碰到需要安装一些东西到时候:

ningoo@ningoo-VirtualBox:~$ opreport
程序“opreport”尚未安装。  您可以使用以下命令安装:
sudo apt-get install oprofile
ningoo@ningoo-VirtualBox:~$ sudo apt-get install oprofile
[sudo] password for ningoo:
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
将会安装下列额外的软件包:
  libopagent1
建议安装的软件包:
  oprofile-gui
下列【新】软件包将被安装:
  libopagent1 oprofile
升级了 0 个软件包,新安装了 2 个软件包,要卸载 0 个软件包,有 101 个软件包未被升级。
需要下载 3,281kB 的软件包。
解压缩后会消耗掉 9,105kB 的额外空间。
您希望继续执行吗?[Y/n]y
获取:1 http://cn.archive.ubuntu.com/ubuntu/ maverick/universe
libopagent1 i386 0.9.6-1.1ubuntu1 [21.5kB]
获取:2 http://cn.archive.ubuntu.com/ubuntu/ maverick/universe
oprofile i386 0.9.6-1.1ubuntu1 [3,260kB]
下载 3,281kB,耗时 59秒 (54.8kB/s)
选中了曾被取消选择的软件包 libopagent1。
(正在读取数据库 ... 系统当前共安装有 122744 个文件和目录。)
正在解压缩 libopagent1 (从 .../libopagent1_0.9.6-1.1ubuntu1_i386.deb) ...
选中了曾被取消选择的软件包 oprofile。
正在解压缩 oprofile (从 .../oprofile_0.9.6-1.1ubuntu1_i386.deb) ...
正在处理用于 doc-base 的触发器...
Processing 1 added doc-base file(s)...
Registering documents with scrollkeeper...
正在处理用于 man-db 的触发器...
正在设置 libopagent1 (0.9.6-1.1ubuntu1) ...
正在设置 oprofile (0.9.6-1.1ubuntu1) ...
正在处理用于 libc-bin 的触发器...
ldconfig deferred processing now taking place

厦门outing

8.14~8.16,技术保障部厦门outing。算起来这是到到淘宝以后的第三次大部门outing,一次临安,一次安吉,这次总算是跨出了浙江省的范围,来到美丽的海边城市厦门。来回都是动车,六个小时的车程,100多人的队伍,打牌聊天,到也不觉旅途的漫长。

淘宝DBA团队有了更多的新成员,难得的在鼓浪屿留下一张合影,可惜的是还有几位没能聚齐。
淘宝DBA厦门outing

虽然鼓浪屿上的建筑各具特色,厦门大学的校园风景怡人,南普陀的放生池乌龟成群,不过厦门的大海有点让人失望。
厦门海边小男孩

当然,海水一般,海鲜还是不一般的,15号晚上去了传说中的小眼镜,生意好得出奇,在外面露天排号差不多一个小时才轮到,好在味道还是对得起传说中的大名的。路上还有个小插曲,因为人多,需要打两辆车,另外几个同事打的一辆出租车,一说去小眼镜,师傅说小眼镜没空位,就被赶下车了,囧。厦门这边的服务水平有待提高,一不小心就可能碰个钉子。