性能扩展问题要趁早

与国内的 Web 2.0 Startup 技术人员相比,国外技术人员更乐于分享。分享也是一种更好的宣传手段,如果不是看到了这篇 Scaling an early stage startup, 或许我就不会知道这位 Mark Maunder (他还有个中文名字:马孟德) 以及他的 FeedJet

一般来说,一个刚刚发布的 Web 应用,因为用户量并不多,性能问题可能并不是很明显。可一旦宣传展开,用户增长或许不是线性的而是暴增(从几十个到几万个,相比之下怎不是暴增?),这时候如果遇到性能问题,毫无疑问会影响初期用户的信任。

Maunder 文档中列举了一个扩展过程,相信这些例子也是他实际遇到的。毕竟 Startup 都是一两个人打通关,不可能所有技术都面面俱到的精通。下面记录一点。

错误的设置

数据库服务器的参数配置问题:导致 MySQL 消耗了大量资源。Apache Keepalive 的设置为不合理,修改为 off。我想这个前提应该还是要选择自己最擅长的技术路线。如果错误的选择另一条不熟悉的技术路线,那么遇到技术时解决问题的速度怕是更让用户恼火。对于 Apache 还应该知道 Httpd.Worker 比 Prefork 消耗更多内存 (httperf 来进行 Benchmark) ,内存也是蛮贵的。

尽可能的缓存动态内容

尽可能的利用数据库的 Cache,利用其他 Cache 工具,如 MemCacheD,来减轻对磁盘的 IO 压力。为了节省成本,很多站点都是用的低速大容量的磁盘,所以,充分利用 Cache 是一个网站成功的必然条件。这样的软件BerkeleyDB 的最高事务处理记录是 90000 事务/秒。

剥离图片与CSS 到单独的服务器

说白了,也是为了减轻磁盘的压力。现在很多 Web 2.0 站点都把图片放到 Amazon S3 上,省心了不少。当然,国内还没这样的服务。

阻止内容引用”窃贼”

现在连那些大站点都在阻止图片被第三方引用,小站点更要提防被大站引用,很容易耗光网站的容量。另外一个要注意的是网络爬虫的频率。

在线观看这篇 Scaling an early stage startup。顺便说一下,最近在 Scribd 上看到了不少有意思的文档。

EOF

游戏公司在招聘哪些 DBA ?

随着国内游戏公司不断上市,相关从业人员也是水涨船高。钱多、人傻、速来,以此为诱饵,猎头公司估计也大赚一票。作为控制用户数据的 DBA 肯定是颇为短缺的。

长夜漫漫,闲极无聊,收集了一下当前游戏公司都在招聘什么数据库的 DBA。未必完全准确,权做参考。

公司- 数据库
盛大- Oracle/MySQL/SQL Server
金山- Oracle/MySQL/SQL Server
网龙- MySQL
九城- Oracle
网易- Oracle

基本能看出来,Oracle DBA 还是比较多,多数公司还是会把核心的数据或应用跑在 Oracle 上。而排在第二的就是 MySQL了。至于 SQL Server 排在最后的原因,可能还是因为有些小游戏跑在 SQL Server 上,而维护基本是开发人员搞定,专门的 DBA 就不需要了。至于 DB2 ,还真不知道哪家游戏公司用。

至于核心的技能,MySQL 在 Replication 与 Cluster 架构两个方面是必须的。而针对 Oracle 来说,优化、 Data Guard / 备份恢复则是必须要求的技能。

EOF

此文作者:, 位于 Review 分类 标签: , on .
转载须以超链接形式标明文章原始出处和作者信息及版权声明.

EMC CLARiiON 的 Alignment offset

今天参加了 EMC 组织的存储技术培训。因为频繁被电话打扰,导致听课效果并不是那么好。很多内容似曾相识,只是都断断续续的,几乎每次培训都是这样的,总有”断点”。

上午是 CLARiiON 的简单介绍,在模拟操作的时候我发现了以前漏掉的一个盲点:Binding LUN 的时候,那个 Alignment Offset 的选项到底是干啥的? 讲师简单说了一下,感觉不太对路子。刚才闲下来,查找了一下这个信息,大致搞明白了这个 ”Alignment offset“。

用 ”Alignment offset EMC“ 作关键字搜索到的第一篇文档是 Dell 工程师写的。这里面用了一个词 “signature block” , 莫名的一个词,我相信是 Dell 工程师自己发明的(用 Metadata 不就得了)。另外两个关键词是 “Windows” 和 “31.5KB” ,为啥是 31.5KB ,不知道。接下来在 EMC 的 Powerlink 网站上找到了比较详细的说明。

首先确定一下,这个问题更多是影响 Windows 系统

老的 BIOS 代码,使用 ”柱面、磁头、扇区数“这一套机制而不是 LBA (Logical block addressing )的模式来寻址。Linux 的 fdisk 工具还是 Windows 磁盘管理器,在每个格式化的设备上都放置一份 MBR 。这个 MBR 占用 63 个隐含扇区 (63*512=31.5KB, Bingo!)。这个问题在 Windows 上存在,在 VMware 上也存在,offset 同样是 63。 在有些 Linux 上,因为 Boot Loader 的不同,也会有类似的问题。

无视 Alignment offset 会导致的问题:

alignment_offset.png

如图所示,一个 IO 会分裂到两个 Disk(Device/LUN) 上去,后果很严重。和我以前描述过的 4k Offset 问题本质上是一样的。只是这个是针对文件系统的。

那么,如何校正这个 ”对齐偏移量” 呢?

存储厂商的推荐是如果用 Snap View / SAN Copy 等存储级别的操作的话,不要折腾,用系统默认的就成,否则,用主机端的解决方案。

主机端的解决方案分为 Windows 32位、Windows 64 位、Linux、VMware 几种。

1) 对于 32 位的 Windows ,使用 Windows 系统资源包的 diskpar.exe 来设定 offset ( 据说 Windows 2003 SP1 上的 diskpart.exe 已经具备了 diskpar.exe 的功能。refer)

2)对于 64 位的 Windows ,GPT(GUID Partition Table)类型的分区默认有 32M 保留区,MBR 类型的分区自动校准。不存在这个问题。这就是 64位 的 Windows 众多优点之一啊。

3) 对于 Linux ,fdisk /dev/{devicename} 然后进入 expert 模式, 然后输入 b …

4) 对于 VMware,分为两种情况。虚拟机层(用虚拟机下操作系统的方案) 以及 ESX 服务器层 (fdisk).

上面几个步骤描述不详细,更详细的介绍你需要寻找一份白皮书: EMC CLARiion Best Practices for Fibre Channel Storage ,这个白皮书有针对 Flare 不同版本的,Flare 2.6 对这个问题有了比较好的改进。

是的,有的时候白皮书就在那里,只是没有人注意,没有看而已。

EOF

Oracle 安全 PPT 及本站其他文档资源

很早就答应了 Oracle 的 Jack Han 一件事情:为 OTN 中文技术网录制一份视频的讲座。因为种种原因,一拖再拖,搞到最后实在不想做了,自己感觉还挺惭愧,好在 Jack 也没怎么催促我。PPT 倒是修改了好几次,干脆放到网上来吧。

内容是关于 Oracle 安全的,其实最初的版本中的一些案例和示例倒是有些用途的,修改了之后觉得好像公关稿。

顺便整理了一下以前的一些技术文档:

最后,附送一个《丽塔·海华丝和肖申克的救赎》. 这部小说最早出现在 D 版《肖申克的救赎》碟片中。非常佩服翻译这部小说的人,我最近买了那本《肖申克的救赎》(四季奇谭),那个翻译版本似乎就是照抄这个网上的这个版本。

EOF