데이터 베이스 MySQL 튜토리얼 Oracle capability i/o(压力测试数据库服务器i/o性能)

Oracle capability i/o(压力测试数据库服务器i/o性能)

Jun 07, 2016 pm 04:48 PM
오라클 데이터베이스

简单说明一下怎么影响重做数据的一个因素,那就是i/o吞吐量,oracle的介质恢复依赖于i/o,如果i/o存在瓶颈,那么势必会影响备库的

简单说明一下怎么影响重做数据的一个因素,那就是i/o吞吐量,Oracle的介质恢复依赖于i/o,如果i/o存在瓶颈,那么势必会影响备库的介质恢复。
 
那么i/o stack包含hbas,存储相关的交换机、存储物理磁盘。那么oracle建议在应用程序部署的时候,建议去验证i/o避免存在问题。但是之前有一个很刺手的问题,那就是如何去验证i/o侧吞吐量,换句话说怎么去验证i/o吞吐量更符合真实的生产环境。
 
  In Oracle Database 11g, the Real Application Testing feature (Capture/Replay) was introduced to inject real (captured) workload into the system. However, another new 11g feature is available to help assess the I/O capability of the database's storage system, and gauge maximum IOPS and Mbytes/s.

  capability i/o feature 是依据一个数据库内部的函数(dbms_resource_manager.calibrateio()),该函数是oracle database内部集成的,更能满足测试i/o问题,且在最后将输出相关报告信息。
 
  那么执行这个包需要注意什么呢?
 
1、权限,,必须具有sysdba执行该过程的权限,另外需要打开timed_statistics。
 
2、确定异步i/o在数据库的所有数据文件和临时文件都已经得到应用启动,我们可以通过v$datafile 和v$iostat_file视图关联进行、确认。
 
eg:
 
col name format a50
 select name,asynch_io from v$datafile f,v$iostat_file i
 where f.file#=i.file_no
 and (filetype_name='Data File' or filetype_name='Temp File');
 
如果异步i/o没有启动,设置disk_asynch_io=true启动该功能,但默认是开启的,如果在linux中最大slots使用完毕,那么将自动关闭噶 功能,这也就是为什么虽然设置了disk_asynch_io=true了却依然没有达到效果。最大的slots可以查看/proc/sys/fs/aio-max-nr  当前使用的可以查看/proc/sys/fs/aio-nr去分别确认。
 
3、确保服务器只有需要测试的数据库开启,避免 其他应用软件的影响。
 
4、对于RAC,需要确保所有的实例都开启,因为 将会对所有节点做全面的校对,执行该过程只需在一个实例即可。
 
5、确保只有一个用户执行一个校对i/o的操作。可以通过v$io_calibration_status查看当前鉴定状态。
 
另外查看资料了解到有这么几个过程:
 
The calibration will run in different phases. In the first phase, small block random I/O
 workload is performed on each node and then concurrently on all nodes. The second
 phase will generate large block sequential I/O on each node. Note, that the Calibrate
 I/O is expecting that a datafile is spread across all disks specified in NUM_DISKS
 variable. Furthermore, offline files are not considered for file I/O.
 
一旦执行完毕,其结果将存在于dba_rsrc_io_calibrate表中。
 
 
 
好了。
 
了解到这些,下面开始去实验操作。让实践得真知。
 
语法如下:
 
SET SERVEROUTPUT ON
 DECLARE
  lat  INTEGER;
  iops INTEGER;
  mbps INTEGER;
 BEGIN
 -- DBMS_RESOURCE_MANAGER.CALIBRATE_IO (, , iops, mbps, lat);
    DBMS_RESOURCE_MANAGER.CALIBRATE_IO (2, 10, iops, mbps, lat);
 
  DBMS_OUTPUT.PUT_LINE ('max_iops = ' || iops);
  DBMS_OUTPUT.PUT_LINE ('latency  = ' || lat);
  DBMS_OUTPUT.PUT_LINE ('max_mbps = ' || mbps);
 end;
 /
 参数介绍如下:
 
Parameter Description
num_physical_disks
  Approximate number of physical disks in the database storage(物理磁盘个数 input)
 
 max_latency
  Maximum tolerable latency in milliseconds for database-block-sized IO requests(最大可用容忍延迟的毫秒数 input)
 
 max_iops
  Maximum number of I/O requests per second that can be sustained. The I/O requests are randomly-distributed, database-block-sized reads.(持续中每秒请求最大i/o的数量 output)
 
 max_mbps
  Maximum throughput of I/O that can be sustained, expressed in megabytes per second. The I/O requests are randomly-distributed, 1 megabyte reads.(持续中最大的吞吐量M为单位)
 
 actual_latency
  Average latency of database-block-sized I/O requests at max_iops rate, expressed in milliseconds(平均延迟)

更多详情见请继续阅读下一页的精彩内容:

linux

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Oracle에서 테이블이 속한 테이블스페이스를 확인하는 방법 Oracle에서 테이블이 속한 테이블스페이스를 확인하는 방법 Jul 06, 2023 pm 01:31 PM

Oracle에서 테이블이 속한 테이블스페이스를 확인하는 방법

PDO를 사용하여 Oracle 데이터베이스에 연결하는 방법 PDO를 사용하여 Oracle 데이터베이스에 연결하는 방법 Jul 28, 2023 pm 12:48 PM

PDO를 사용하여 Oracle 데이터베이스에 연결하는 방법

오라클에서 중복 데이터 하나만 검색하는 방법 오라클에서 중복 데이터 하나만 검색하는 방법 Jul 06, 2023 am 11:45 AM

오라클에서 중복 데이터 하나만 검색하는 방법

PHP 및 Oracle 데이터베이스로 데이터 가져오기 구현 PHP 및 Oracle 데이터베이스로 데이터 가져오기 구현 Jul 12, 2023 pm 06:46 PM

PHP 및 Oracle 데이터베이스로 데이터 가져오기 구현

Oracle 데이터베이스에는 jdk가 필요합니까? Oracle 데이터베이스에는 jdk가 필요합니까? Jun 05, 2023 pm 05:06 PM

Oracle 데이터베이스에는 jdk가 필요합니까?

Oracle이 저장 프로시저에 테이블이 존재하는지 확인하는 방법 Oracle이 저장 프로시저에 테이블이 존재하는지 확인하는 방법 Jul 06, 2023 pm 01:20 PM

Oracle이 저장 프로시저에 테이블이 존재하는지 확인하는 방법

PHP 및 Oracle 데이터베이스 연결 풀을 효율적으로 사용하는 방법 PHP 및 Oracle 데이터베이스 연결 풀을 효율적으로 사용하는 방법 Jul 12, 2023 am 10:07 AM

PHP 및 Oracle 데이터베이스 연결 풀을 효율적으로 사용하는 방법

PHP를 사용하여 PDO를 확장하여 Oracle 데이터베이스에 연결하는 방법 PHP를 사용하여 PDO를 확장하여 Oracle 데이터베이스에 연결하는 방법 Jul 29, 2023 pm 07:21 PM

PHP를 사용하여 PDO를 확장하여 Oracle 데이터베이스에 연결하는 방법

See all articles