Entries tagged with “Colinux” from DBA notes

其实淘宝的社区已经比较 Web 2.0 了,但是非常奇怪的是在主站点这边一直比较谨慎。前一段时间淘宝的收藏功能上线,经过一段时间的考验,据说效果非常好。

 聚宝盆 = Del.icio.us + Digg + BI 

del.icio.us 和 digg 的模式如果模仿起来并不难,但是淘宝很巧妙的和 BI 结合起来,这个产品的核心价值还在与 BI 的运用:智能推荐产品,“婴幼儿智力开发用品关联到丰胸露和产后塑身”,我开始看到还以为是搞笑,仔细一想还是比较惊讶的,几乎可以和著名的"尿布与啤酒"的 BI 案例相比了。

灵活的运用已有的应用模式,其实也是很好的创新。

--EOF--

| | Comments (6) |

今天参加 AIX 的技术培训,听了一些关于 CPU 调度的算法,倒也都是些基本知识,回想讲课内容的时候倒让我想起 Linux Kernel 的 I/O Scheduler 来。

这篇 Choosing an I/O Scheduler for Red Hat Enterprise Linux 4 and the 2.6 Kernel 是必须的参考资料。相比 Linux 2.4 Kernel 的一种 IO 调度器,2.6 做了很多改进,共有四种 IO 调度器。

Deadline scheduler

Deadline scheduler 用 deadline 算法保证对于既定的 IO 请求以最小的延迟时间,从这一点理解,对于 DSS 应用应该会是很适合的。

Anticipatory scheduler

Anticipatory scheduler(as) 曾经一度是 Linux 2.6 Kernel 的 IO scheduler 。Anticipatory 的中文含义是"预料的, 预想的", 这个词的确揭示了这个算法的特点,简单的说,有个 IO 发生的时候,如果又有进程请求 IO 操作,则将产生一个默认的 6 毫秒猜测时间,猜测下一个 进程请求 IO 是要干什么的。这对于随即读取会造成比较大的延时,对数据库应用很糟糕,而对于 Web Server 等则会表现的不错。这个算法也可以简单理解为面向低速磁盘的,因为那个"猜测"实际上的目的是为了减少磁头移动时间。

Completely Fair Queuing

虽然这世界上没有完全公平的事情,但是并不妨碍开源爱好者们设计一个完全公平的 IO 调度算法。Completely Fair Queuing (cfq, 完全公平队列) 在 2.6.18 取代了 Anticipatory scheduler 成为 Linux Kernel 默认的 IO scheduler 。cfq 对每个进程维护一个 IO 队列,各个进程发来的 IO 请求会被 cfq 以轮循方式处理。也就是对每一个 IO 请求都是公平的。这使得 cfq 很适合离散读的应用(eg: OLTP DB)。我所知道的企业级 Linux 发行版中,SuSE Linux 好像是最先默认用 cfq 的.

NOOP

Noop 对于 IO 不那么操心,对所有的 IO请求都用 FIFO 队列形式处理,默认认为 IO 不会存在性能问题。这也使得 CPU 也不用那么操心。当然,对于复杂一点的应用类型,使用这个调度器,用户自己就会非常操心。

那么如果跑数据库应用,那个更好一些呢? 我们看Choosing an I/O Scheduler for Red Hat Enterprise Linux 4 and the 2.6 Kernel一文中的测试结果:

scheduler.jpg

对于数据库应用, Anticipatory scheduler 的表现是最差的。Deadline 在 DSS 环境表现比 cfq 更好一点,而 cfq 综合来看表现更好一些。这也难怪 RHEL 4 默认的 IO 调度器设置为 cfq. 而 RHEL 4 比 RHEL 3,整体 IO 改进还是不小的。

哪一种方式更好? 很难说,每一种方式都有特定的应用对它是最适合的。就像上面的 as 好像表现比较差,如果是 CPU 密集型的应用呢?

Tip:
Q:如何确认当前用什么 IO 调度器?
A: 过滤 /var/log/boot.msg 文件, 查找 "io scheduler", 看到了么?

在 操作系统上可以查到的相关文档:
/usr/src/linux/Documentation/block/as-iosched.txt
/usr/src/linux/Documentation/block/deadline-iosched.txt

这篇文章应该只是一篇草稿...

--EOF--

| | Comments (1) |

根据 NewsForge 消息, 继 EMC 旗下的 Vmware 公司发布免费的 Vmware Player 之后,最近又将发布一款入门级的 VMware Server,面向 x86 与 x86-64 服务器, 用以吸引潜在的客户。Vmware Player 相对 Vmware Workstation 只具有有限的功能,而即将发布的 Beta 版本的 VMware Server 功能上不打折扣的:包括监控特性 与 Intel 的 Virtualization Technology (VT) 以及虚拟 SMP 技术.但是不会包含 VMware ESX Server 具有的高级管理工具.

Vmware 此举恐怕也是不得已而为之:竞争对手太多了.

开源的有 XEN. 已经得到 SuSE 这样的 Linux 厂商明确支持.新版本的 OpenSuSE 已经捆绑了 XEN. OpenVZ (SWsoft 企业级产品的 Virtuozzo 开源版本) 最近也逐渐得到一些厂商的支持,比如 RedHat 和同样支持 XEN 的 Novell.

非开源软件,Vmware 要面对微软的 Virtual PC以及 SWsoft 的 VSWsoft irtuozzo . 在 Windows 平台也有实现.(最近发现 SWsoft 已经杀入中国市场.并且发展的有声有色)

| | Comments (4) |

DBA notes 的订阅数量,点击则可进行订阅
Feed 订阅数量,点击即可订阅最新内容

订阅更新

如果喜欢用 RSS reader 获取信息,可以订阅这个 Feed 以便获取 “Colinux” 将来的更新内容.

Subscribe to feed 点击订阅

标签