详细讲解Oracle I/O子系统的配置和设计
2008-09-02 12:46:47 来源:WEB开发网是32KB,这时候Oracle server process发出一个1MB的I/O请求,那么每个磁盘都会返回8次I/O请求。为了尽量避免这种情况,平均I/O请求的大小应该小于stripe width×stripe depth,在这里是32KB×4,否则就会在一个磁盘发生第二次I/O。
这是完全理想化的设计。
■在高并发的系统中,要确保单一的I/O请求会被分散到多个物理I/O中完成,如果不行,则会严重的影响系统响应时间。
并发的I/O
在OLTP系统中,特点是高并发和低I/O需求,这时最好Stripe depth大于一个单独I/O的大小,这种被称为粗颗粒stripe。
在高并发的系统中,一般stripe depth设计为n×DB_BLOCK_SIZE,n>1.
粗颗粒stripe设计使得磁盘可以以队列的方式同时执行多个I/O,这样就可以以最小的成本处理大量的并发I/O。不过,一旦系统不具备并发足够并发,就会导致磁盘热点。
粗颗粒stripe设计也同样有益于DSS系统,但它应该设计得小一点,同样它大小也为n×DB_BLOCK_SIZE,但n应该小于DB_FILE_MULTIBLOCK_READ_count。
而细颗粒设计能够获得最好的响应时间。
Alignment of Physical Stripe Boundaries with Block Size Boundaries
如果物理stripe颗粒和块大小一致的化,就可能会导致一个单独I/O分散到两个物理IO中。这不是最优化的OLTP环境,所以stripe最好是两倍BLOCK的大小。下面是关于大小的建议:
Random reads and writes 两倍BLOCK大小
Sequential reads 两倍DB_FILE_MULTIBLOCK_READ_count×DB_BLOCK_SIZE
Manageability of the Proposed System
使用LVM可以更加容易配置所有可用磁盘的stripe,在大多数环境下,单卷就可以提供良好的性能。不过单卷只在使用RAID技术的时候可用,如RAID 1,不过丢失一个卷卷意味着丢失所有卷。
- ››详细说明Nginx配置文件
- ››oracle 中 UPDATE nowait 的使用方法
- ››Oracle ORA-12560解决方法
- ››Oracle 10g RAC 常用维护命令
- ››Oracle如何在ASM中定位文件的分布
- ››Oracle的DBMS_RANDOM.STRING 的用法
- ››oracle 外部表导入时间日期类型数据,多字段导入
- ››Oracle中查找重复记录
- ››oracle修改用户登录密码
- ››Oracle创建删除用户、角色、表空间、导入导出等命...
- ››Oracle中登陆时报ORA-28000: the account is lock...
- ››Oracle数据库在配置文件中更改最大连接数
赞助商链接