11g Nouvelles fonctionnalités de l'IO d'étalonnage (IO étalonnage)

11g Nouvelles fonctionnalités de l'IO d'étalonnage (IO étalonnage)

IO fonction d'étalonnage (IO calibration) peut nous aider à comprendre la véritable performance du système de stockage, afin de déterminer davantage le problème de performances d' E / S est causée par un système de base de données ou de stockage lui - même. E / S caractéristiques d' étalonnage (IO calibration) fichier de données Oracle aléatoire moyen de stockage d'accès E / S, qui sont conformes à la valeur réelle conclusion performances IO de la base de données.
Avant d' utiliser cette fonctionnalité, nous voulons nous assurer que les conditions suivantes sont réunies:

  • Appelez la procédure stockée aura besoin des privilèges SYSDBA
  • paramètre time_statistics est vrai:

SQL> montrer paramètres TIMED_STATISTICS;

VALEUR NOM TYPE
------------ ---- ----------
TIMED_STATISTICS booléenne VRAI

  • Vous devez ouvrir IO asynchrone; Notez l'utilisation du système de fichiers, FILESYSTEMIO_OPTIONS doivent SETALL ou ASYNC, sinon Oracle ne permettra pas IO asynchrone.
  • Vérifiez la requête suivante peut être activée asynchrone IO:
SQL> SELECT NOM, ASYNCH_IO 
2 à partir de V $ DATAFILE F, V $ IOSTAT_FILE I 
3 OÙ F.FILE # = I.FILE_NO 
4 ET FILETYPE_NAME = 'Fichier de données'; 

NOM ASYNCH_IO 
------------------------------------------------ -------------------------------- --------- 
D: \ tools \ ADMINSTRATORG \ ORADATA \ PROD \ DATAFILE \ O1_MF_SYSTEM_65DN8HXT_.DBF ASYNC_ON 
D: \ TOOLS \ ADMINSTRATORG \ ORADATA \ PROD \ DATAFILE \ O1_MF_SYSAUX_65DN8J18_.DBF ASYNC_ON 
D: \ TOOLS \ ADMINSTRATORG \ ORADATA \ PROD \ DATAFILE \ O1_MF_UNDOTBS1_65DN8J1S_.DBF ASYNC_ON 
D: \ TOOLS \ ADMINSTRATORG \ ORADATA \ PROD \ DATAFILE \ O1_MF_USERS_65DN8J2X_.DBF ASYNC_ON

Calibration caractéristiques IO procédure stockée peuvent être invoquées par DBMS_RESOURCE_MANAGER.CALIBRATE_IO; Oracle le processus va déclencher une série de fichiers de données IO en lecture seule charges sensibles (1 Mo dans la taille de la composition IO aléatoire), le système de stockage peut être poursuivi pour déterminer les IOPS maximales ( IO maximal de demandes par seconde) et MBPS (IO par seconde vitesse de transfert). Afin de rendre les résultats plus représentatifs, il faut garder le processus de test IO calibration, la base de données est une zone sans, il n'y a pas d'autre perte de charge IO.

Le regard de déposons sur la méthode spécifique CALIBRATE_IO appeler une procédure stockée:

- initier un rapport I / O calibration 
 - 
 - arguments d' entrée: 
 - - num_physical_disks Nombre approximatif de disques physiques 
 - le stockage de base de données 
 - max_latency - latence maximale supportable en millisecondes pour 
 - base de données en blocs de taille demandes IO 
 - - 
 - arguments de sortie: 
 - max_iops - nombre maximal de requêtes d' E / S par seconde qui peut être 
 - soutenue. Les demandes d' E / S sont disposés au hasard, 
 - base de données de blocs de taille lit. 
 - max_mbps - débit d'E / S maximum qui peut être soutenue,
 - exprimé en méga - octets par seconde. Les demandes d' E / S 
 - sont disposés au hasard, 1 méga - octet lit. 
 - actual_latency - latence moyenne de base de données de blocs de taille E / S 
 - demandes au taux de « max_iops », exprimées en millisecondes. 
 - 
  PROCEDURE calibrate_io ( 
   num_physical_disks IN PLS_INTEGER DEFAULT 1, 
   max_latency IN PLS_INTEGER DEFAULT 20, 
   max_iops OUT PLS_INTEGER, 
   max_mbps OUT PLS_INTEGER, 
   actual_latency OUT PLS_INTEGER 
   );

Dans lequel le paramètre d'entrée pour spécifier les num_physical_disks de stockage de base de données le nombre approximatif de disques physiques utilisés, max_latency spécifie les clients maximum IO peuvent tolérer le temps de retard en ms, en général, nous pensons à 10ms moyenne attente IO est une bonne performance, ce chiffre est souvent beaucoup plus grande que l'explication charge IO est trop élevée, nous supposons ici 15ms est notre date limite.

SQL> set SERVEROUTPUT sur; 
SQL> DECLARE 
  2 lat Integer; 
  3 IOPS INTEGER; 
  4 Mbps Integer; 
  5 BEGIN 
  6 - DBMS_RESOURCE_MANAGER.CALIBRATE_IO (disk_count, max_latency, OIP, Mbps, lat); 
  7 DBMS_RESOURCE_MANAGER.CALIBRATE_IO (2, 15, IOPS, Mbps, lat); 
  8 
  9 DBMS_OUTPUT.PUT_LINE ( 'max_iops =' || OIP); 
 10 DBMS_OUTPUT.PUT_LINE ( 'temps de latence =' || lat); 
 11 dbms_output.put_line ( '=' || max_mbps Mbps); 
 12 fin; 
 13 / 

max_iops = 127 
latence = 15 
max_mbps = 38 

procédure PL / SQL terminée avec succès 
/ *平均延迟为15ms时,最大IOPS为127, mbps为38 * /

/ * Exécution du processus peut voir vos progrès * / IO_CALIBRATION_STATUS $ par V 
SQL> SELECT * de V IO_CALIBRATION_STATUS $, 

le STATUT CALIBRATION_TIME 
------------- ---------- -------------------------------------------------- -------------------- 
. IN 8 daté du PROGRES 11- PM -10 12.02.35.121 

SQL> ALTER NLS_TIMESTAMP_FORMAT la session SET = 'HH24: MI', 

la session Altered 
SQL> COL A10 pour start_time, 
SQL> COL end_time pour A10, 
SQL> SELECT * à partir DBA_RSRC_IO_CALIBRATE; 

START_TIME END_TIME MAX_IOPS MAX_MBPS MAX_PMBPS LATENCE NUM_PHYSICAL_DISKS 
---------- ---------- ----- ----- ---------- ---------- ---------- --------------- --- 
12h55 12h59 1273814152
/ * Dossiers de vue DBA_RSRC_IO_CALIBRATE des informations historiques IO * CALIBRATION /

Je suppose que tu aimes

Origine www.cnblogs.com/yaoyangding/p/12602614.html
conseillé
Classement