- 论坛徽章:
- 0
|
最初由 orian 发布\r\n[B]Disk Busy% KBPS TPS KB-Read KB-Writ\r\nhdisk109 23.9 439.4 54.4 387.4 51.9\r\nhdisk53 22.4 399.4 49.9 351.5 47.9\r\nhdisk149 22.4 479.3 59.9 363.5 115.8\r\nhdisk59 21.9 411.4 50.9 323.5 87.9\r\nhdisk13 21.4 411.4 52.4 323.5 87.9\r\nhdisk154 21.4 395.4 49.9 359.5 35.9\r\nhdisk12 21.4 399.4 49.9 307.6 91.9\r\nhdisk151 21.4 399.4 49.9 355.5 43.9\r\n\r\n我们先看看这一点数据,read/write 大概7-8 : 1 而且通常只要数据量不是非常大,我们不需要考虑些操作。那对于读来说,我不知道总计有多少个LUN,按照现在看到的数据,假设对这个系统有160个hdisk, ,4条通路,假设40个LUN,如果每个hdisk平均400KB/s的读,那一秒钟对这个系统大概只有48MB/s,这实在是个小数目。看来问题最主要的还在于:每次io块比较小,数据非常离散,可以说不可能cache命中,必须磁盘读。TPS一个hdisk 50,160个总计8000,你有3个系统,大概一个8000也差不多。\r\n\r\n如果这种情况,降低数据的离散读,使数据更可能从一块连续的空间拿到,效果会更好。这也就是确保每次磁盘读,所有的数据都在失效前被访问。如果磁盘数据过于分散,相邻的数据一定不是自己要用的,因为都可能是另外一个系统的,所以HDS提出的适当集中分布,对于他们的存储特性以及你们的这种环境,可能还真是一个最好的方案。\r\n\r\n另一种办法就是看看能否加大Oracle直接磁盘读的io size,当然,数据库已经在跑,没有办法改变了,但在新的系统、测试的时候,可以考虑一下。例如达到64K甚至更大。不过这样也会因此影响到数据库的性能。到底会不会有效果,可以参考一下filemon, trace的输出,看看其中平均seek是多大,如果平均seek已经超过磁盘总计的LBA/10,随机性就太大了,如果数据能集中一点,磁头少走几道,也是几十ms啊!\r\n\r\n如你们讨论过,critical系统动动危险太大,现在这个情况,这个系统当然不建议有什么大改动了,下次测试或者规划的时候再参考吧。 [/B] \r\n\r\n\r\nsorry ,这是我这边看到的一套系统,不是piner的,他的压力高多了。 我看到的这个io 在10几 ms 呢。 |
|