Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2802918
  • 博文数量: 389
  • 博客积分: 4177
  • 博客等级: 上校
  • 技术积分: 4773
  • 用 户 组: 普通用户
  • 注册时间: 2008-11-16 23:29
文章分类

全部博文(389)

分类: 服务器与存储

2013-06-19 15:08:36

                                                                                   OLTP系统容量计算方法


        了解每个业务操作在系统中会由几个事务来处理.如,某系统当用户提交一个请求的时候,系统大约会由三个不同的存储过程来处理对应的
这个请求的不同阶段,换个角度说就是从用户角度的一个请求,数据库需要处理三次事务.

         对于一个很好优化的oltp系统,不考虑其他查询类的io请求和争用的问题。对于每次事务的主要压力体现在io上,由于每次事务都要提交持久化
所以每次事务都需要一次io.因此在这个系统上每个用户的请求需要3次io来完成.如果在数据库asm做了冗余或是系统上的volume进行了冗余,那么对应的
的io次数最少为6。

        由于在存储柜上面一般会进行raid的再次冗余,磁盘的总io需要除以2,。考虑一个16块磁盘的SAS 15K的存储柜,每个盘提供的io一般为200个左右.
向操作系统提供的最大io为(200*16)/2=1600个io.

       那么整个系统能承受的吞吐量为(1600/6)=320.考虑到其他的一些开销,比如归档存放之类的,实际的能力一般在每秒200-250左右,数据
库的每秒种的事务处理600-800左右

      当业务需要吞吐量提高时,优化的几个方向:1,磁盘柜的增加;2,对存储过程的改进,比如是否可以考虑把每次的用户请求,数据库的层面由2次存储过程来完成
3,是否可以批处理操作.

阅读(4619) | 评论(2) | 转发(1) |
给主人留下些什么吧!~~