February 2012
M T W T F S S
« Aug    
 12345
6789101112
13141516171819
20212223242526
272829  

Exadata V2 架构分析 (2)

Kaya 发表于 os2ora.com

既然提到了Flash Cache,如果不提下对OLTP的提速好象会缺少点什么。对OLTP系统而言,缓存是一个极其重要的设计,不管是数据库节点上的内存上的Buffer Cache,还是存贮节点上的Flash Cache(Exadata),还有数据库节点上的Flash Cache(某些平台,如Linux)。

前几天在Eygle的性能调优课程上听过他提过的一句话,缓存为王(致敬,呵呵),深以为然,这应该是他极其重要的实践总结,对于OLTP系统而言,这真是一点不为过。

下面的表格列出了一个实际场景,分别测试了不同的buffer 命中率和引入Flash Cache之后的性能变化。

Cache Executions Buffer Hit % CPU Time (s) user IO time (s) Elapsed Time total Elapsed Time (s) CPU % response time SpeedUp Factor
Buffer Cache 30000 85 70 4082 00:02:20 4138 3 0.138 1
Flash Cache 30000 85 69 265 00:00:12 323 36 0.011 13
Buffer Cache 30000 100 19 0 00:00:02 26 61 0.001 158

上面的三行对应的OLTP负载是相同的,但总的执行时间却是大大不同的,从2分多钟到10几秒到2秒。唯一的区别就在于Cell Flash Cache, Buffer Cache 的介入。

上面这些数据起码可以得出几个结论:

1. Buffer Cache会减少CPU Time,但Cell Flash Cache不会。这从另一个方面说明,IO调度是需要CPU的。

2. Cell Flash Cache和Buffer Cache都大大减少了User IO Time。最终的结果就是大大提升了响应时间,例如上面我们得到了从13倍到158倍的性能提升。

3. Cell Flash Cache和Buffer Cache都提高了DB节点的CPU利用率。例如上面我们的CPU利用率从3%提高到36%和61%。

Exadata V2宣传的一个令人惊诧的数字之一是每秒钟一百万个8K的随机IO。很恐怖吧,1,000,000 IO/s.

其实,如果只是进行读操作而没有写操作的话,这个数字会更令人恐怖。下面是一个截图。把里面的峰值(300k)除以3乘以14,就得到整个机器14个cell可以达到的一个IOPS: 1.4 million IO/s.

iops

1 comment to Exadata V2 架构分析 (2)

Leave a Reply

 

 

 

You can use these HTML tags

<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">

您也可以使用微博账号登陆