Sie sind auf Seite 1von 78

Informatica PowerCenter

(Verso 9.5.1 HotFix 4)

Guia de Ajuste de
Desempenho
Informatica PowerCenter Guia de Ajuste de Desempenho

Verso 9.5.1 HotFix 4


Fevereiro 2014

Copyright (c) 1998-2014 Informatica Corporation. Todos os direitos reservados.

Este software e a respectiva documentao contm informaes de propriedade da Informatica Corporation. Eles so fornecidos sob um contrato de licena que
contm restries quanto a seu uso e divulgao, e so protegidos por leis de copyright. A engenharia reversa do software proibida. No est permitida de forma
alguma a reproduo ou a transmisso de qualquer parte deste documento (seja por meio eletrnico, fotocpia, gravao ou quaisquer outros) sem o consentimento
prvio da Informatica Corporation. Este Software pode estar protegido por patentes dos EUA e/ou internacionais e outras patentes pendentes.
O uso, duplicao ou divulgao do Software pelo Governo dos Estados Unidos esto sujeitos s restries estipuladas no contrato de licena de software aplicvel e
como estabelecido em DFARS 227.7202-1(a) e 227.7702-3(a) (1995), DFARS 252.227-7013(1)(ii) (OCT 1988), FAR 12.212(a) (1995), FAR 52.227-19 ou FAR
52.227-14 (ALT III), conforme aplicvel.

As informaes contidas neste produto ou documentao esto sujeitas a alterao sem aviso prvio. Informe-nos por escrito caso encontre quaisquer problemas
neste produto ou documentao.

Informatica, Informatica Platform, Informatica Data Services, PowerCenter, PowerCenterRT, PowerCenter Connect, PowerCenter Data Analyzer, PowerExchange,
PowerMart, Metadata Manager, Informatica Data Quality, Informatica Data Explorer, Informatica B2B Data Transformation, Informatica B2B Data Exchange Informatica
On Demand, Informatica Identity Resolution, Informatica Application Information Lifecycle Management, Informatica Complex Event Processing, Ultra Messaging and
Informatica Master Data Management so marcas comerciais ou marcas registradas da Informatica Corporation nos Estados Unidos e em jurisdisdies pelo mundo.
Todos os outros nomes de outras companhias e produtos podem ser nomes ou marcas comerciais de seus respectivos proprietrios.

Partes desta documentao e/ou software esto sujeitas a direitos autorais de terceiros, incluindo sem limitao: Copyright DataDirect Technologies. Todos os direitos
reservados. Copyright Sun Microsystems. Todos os direitos reservados. Copyright RSA Security Inc. Todos os direitos reservados. Copyright Ordinal Technology
Corp. Todos os direitos reservados. Copyright Aandacht c.v. Todos os direitos reservados. Copyright Genivia, Inc. Todos os direitos reservados. Copyright
Isomorphic Software. Todos os direitos reservados. Copyright Meta Integration Technology, Inc. Todos os direitos reservados. Copyright Intalio. Todos os direitos
reservados. Copyright Oracle. Todos os direitos reservados. Copyright Adobe Systems Incorporated. Todos os direitos reservados. Copyright DataArt, Inc.
Todos os direitos reservados. Copyright ComponentSource. Todos os direitos reservados. Copyright Microsoft Corporation. Todos os direitos reservados.
Copyright Rogue Wave Software, Inc. Todos os direitos reservados. Copyright Teradata Corporation. Todos os direitos reservados. Copyright Yahoo! Inc. Todos
os direitos reservados. Copyright Glyph & Cog, LLC. Todos os direitos reservados. Copyright Thinkmap, Inc. Todos os direitos reservados. Copyright Clearpace
Software Limited. Todos os direitos reservados. Copyright Information Builders, Inc. Todos os direitos reservados. Copyright OSS Nokalva, Inc. Todos os direitos
reservados. Copyright Edifecs, Inc. Todos os direitos reservados. Copyright Cleo Communications, Inc. Todos os direitos reservados. Copyright International
Organization for Standardization 1986. Todos os direitos reservados. Copyright ej-technologies GmbH. Todos os direitos reservados. Copyright Jaspersoft
Corporation. Todos os direitos reservados. Copyright International Business Machines Corporation. Todos os direitos reservados. Copyright yWorks GmbH.
Todos os direitos reservados. Copyright Lucent Technologies. Todos os direitos reservados. Copyright (C) University of Toronto. Todos os direitos reservados.
Copyright Daniel Veillard. Todos os direitos reservados. Copyright Unicode, Inc. Copyright IBM Corp. Todos os direitos reservados. Copyright MicroQuill
Software Publishing, Inc. Todos os direitos reservados. Copyright PassMark Software Pty Ltd. Todos os direitos reservados. Copyright LogiXML, Inc. Todos os
direitos reservados. Copyright 2003-2010 Lorenzi Davide, todos os direitos reservados. Copyright Red Hat, Inc. Todos os direitos reservados. Copyright The
Board of Trustees of the Leland Stanford Junior University. Todos os direitos reservados. Copyright EMC Corporation. Todos os direitos reservados. Copyright
Flexera Software. Todos os direitos reservados. Copyright Jinfonet Software. Todos os direitos reservados. Copyright Apple Inc. Todos os direitos reservados.
Copyright Telerik Inc. Todos os direitos reservados. Copyright BEA Systems. Todos os direitos reservados. Copyright PDFlib GmbH. Todos os direitos
reservados. Copyright Orientation in Objects GmbH. Todos os direitos reservados. Copyright Tanuki Software, Ltd. All rights reserved. Copyright Ricebridge.
Todos os direitos reservados. Copyright Sencha, Inc. All rights reserved.

Este produto inclui software desenvolvido pela Apache Software Foundation (http://www.apache.org/) e/ou outros softwares licenciados nas vrias verses da Licena
Apache (a "Licena"). Voc pode obter uma cpia dessas Licenas em http://www.apache.org/licenses/. A menos que exigido pela legislao aplicvel ou concordado
por escrito, o software distribudo em conformidade com estas Licenas fornecido "NO ESTADO EM QUE SE ENCONTRA", SEM GARANTIA OU CONDIO DE
QUALQUER TIPO, seja expressa ou implcita. Consulte as Licenas para conhecer as limitaes e as permisses que regulam o idioma especfico de acordo com as
Licenas.

Este produto inclui software desenvolvido pela Mozilla (http://www.mozilla.org/), direitos autorais de software de The JBoss Group, LLC; todos os direitos reservados;
direitos autorais de software 1999-2006 de Bruno Lowagie e Paulo Soares e outros produtos de software licenciados sob a Licena Pblica GNU Lesser General
Public License Agreement, que pode ser encontrada em http://www.gnu.org/licenses/lgpl.html. Os materiais so fornecidos gratuitamente pela Informatica, no estado
em que se encontram, sem garantia de qualquer tipo, explcita nem implcita, incluindo, mas no limitando-se, as garantias implicadas de comerciabilidade e
adequao a um determinado propsito.

O produto inclui software ACE(TM) e TAO(TM) com copyright de Douglas C. Schmidt e seu grupo de pesquisa na Washington University, University of California, Irvine
e Vanderbilt University, Copyright () 1993-2006, todos os direitos reservados.

Este produto inclui o software desenvolvido pelo OpenSSL Project para ser usado no kit de ferramentas OpenSSL (copyright The OpenSSL Project. Todos os direitos
reservados) e a redistribuio deste software est sujeita aos termos disponveis em http://www.openssl.org e http://www.openssl.org/source/license.html.

Este produto inclui o software Curl com o Copyright 1996-2013, Daniel Stenberg, <daniel@haxx.se>. Todos os direitos reservados. Permisses e limitaes relativas a
este software esto sujeitas aos termos disponveis em http://curl.haxx.se/docs/copyright.html. permitido usar, copiar, modificar e distribuir este software com
qualquer objetivo, com ou sem taxa, desde que a nota de direitos autorais acima e esta nota de permisso apaream em todas as cpias.

O produto inclui direitos autorais de software 2001-2005 () MetaStuff, Ltd. Todos os direitos reservados. Permisses e limitaes relativas a este software esto
sujeitas aos termos disponveis em http://www.dom4j.org/license.html.

O produto inclui o copyright de software 2004-2007, The Dojo Foundation. Todos os direitos reservados. Permisses e limitaes relativas a este software esto
sujeitas aos termos disponveis em http://dojotoolkit.org/license.

Este produto inclui o software ICU com o copyright International Business Machines Corporation e outros. Todos os direitos reservados. Permisses e limitaes
relativas a este software esto sujeitas aos termos disponveis em http://source.icu-project.org/repos/icu/icu/trunk/license.html.

Este produto inclui o copyright de software 1996-2006 Per Bothner. Todos os direitos reservados. O direito de usar tais materiais estabelecido na licena que pode
ser encontrada em http://www.gnu.org/software/kawa/Software-License.html.

Este produto inclui o software OSSP UUID com Copyright 2002 Ralf S. Engelschall, Copyright 2002 e OSSP Project Copyright 2002 Cable & Wireless
Deutschland. Permisses e limitaes relativas a este software esto sujeitas aos termos disponveis em http://www.opensource.org/licenses/mit-license.php.

Este produto inclui software desenvolvido pela Boost (http://www.boost.org/) ou sob a licena de software Boost. Permisses e limitaes relativas a este software
esto sujeitas aos termos disponveis em http://www.boost.org/LICENSE_1_0.txt.

Este produto inclui direitos autorais de software 1997-2007 University of Cambridge. Permisses e limitaes relativas a este software esto sujeitas aos termos
disponveis em http://www.pcre.org/license.txt.
Este produto inclui o copyright de software 2007 The Eclipse Foundation. Todos os direitos reservados. As permisses e limitaes relativas a este software esto
sujeitas aos termos disponveis em http://www.eclipse.org/org/documents/epl-v10.php e em http://www.eclipse.org/org/documents/edl-v10.php.

Este produto inclui softwares licenciados de acordo com os termos disponveis em http://www.tcl.tk/software/tcltk/license.html, http://www.bosrup.com/web/overlib/?
License, http://www.stlport.org/doc/ license.html, http:// asm.ow2.org/license.html, http://www.cryptix.org/LICENSE.TXT, http://hsqldb.org/web/hsqlLicense.html, http://
httpunit.sourceforge.net/doc/ license.html, http://jung.sourceforge.net/license.txt , http://www.gzip.org/zlib/zlib_license.html, http://www.openldap.org/software/release/
license.html, http://www.libssh2.org, http://slf4j.org/license.html, http://www.sente.ch/software/OpenSourceLicense.html, http://fusesource.com/downloads/license-
agreements/fuse-message-broker-v-5-3- license-agreement; http://antlr.org/license.html; http://aopalliance.sourceforge.net/; http://www.bouncycastle.org/licence.html;
http://www.jgraph.com/jgraphdownload.html; http://www.jcraft.com/jsch/LICENSE.txt; http://jotm.objectweb.org/bsd_license.html; . http://www.w3.org/Consortium/Legal/
2002/copyright-software-20021231; http://www.slf4j.org/license.html; http://nanoxml.sourceforge.net/orig/copyright.html; http://www.json.org/license.html; http://
forge.ow2.org/projects/javaservice/, http://www.postgresql.org/about/licence.html, http://www.sqlite.org/copyright.html, http://www.tcl.tk/software/tcltk/license.html, http://
www.jaxen.org/faq.html, http://www.jdom.org/docs/faq.html, http://www.slf4j.org/license.html; http://www.iodbc.org/dataspace/iodbc/wiki/iODBC/License; http://
www.keplerproject.org/md5/license.html; http://www.toedter.com/en/jcalendar/license.html; http://www.edankert.com/bounce/index.html; http://www.net-snmp.org/about/
license.html; http://www.openmdx.org/#FAQ; http://www.php.net/license/3_01.txt; http://srp.stanford.edu/license.txt; http://www.schneier.com/blowfish.html; http://
www.jmock.org/license.html; http://xsom.java.net; http://benalman.com/about/license/; https://github.com/CreateJS/EaselJS/blob/master/src/easeljs/display/Bitmap.js;
http://www.h2database.com/html/license.html#summary; http://jsoncpp.sourceforge.net/LICENSE; http://jdbc.postgresql.org/license.html; http://
protobuf.googlecode.com/svn/trunk/src/google/protobuf/descriptor.proto; https://github.com/rantav/hector/blob/master/LICENSE; http://web.mit.edu/Kerberos/krb5-
current/doc/mitK5license.html. e http://jibx.sourceforge.net/jibx-license.html.

Este produto inclui software licenciado de acordo com a Academic Free License (http://www.opensource.org/licenses/afl-3.0.php), a Common Development and
Distribution License (http://www.opensource.org/licenses/cddl1.php), a Common Public License (http://www.opensource.org/licenses/cpl1.0.php), a Sun Binary Code
License Agreement Supplemental License Terms, a BSD License (http://www.opensource.org/licenses/bsd-license.php), a nova BSD License (http://opensource.org/
licenses/BSD-3-Clause), a MIT License (http://www.opensource.org/licenses/mit-license.php), a Artistic License (http://www.opensource.org/licenses/artistic-
license-1.0) e a Initial Developers Public License Version 1.0 (http://www.firebirdsql.org/en/initial-developer-s-public-license-version-1-0/).

Este produto inclui copyright do software 2003-2006 Joe WaInes, 2006-2007 XStream Committers. Todos os direitos reservados. Permisses e limitaes relativas a
este software esto sujeitas aos termos disponveis em http://xstream.codehaus.org/license.html. Este produto inclui software desenvolvido pelo Indiana University
Extreme! Lab. Para obter mais informaes, visite http://www.extreme.indiana.edu/.

Este produto inclui software Copyright 2013 Frank Balluffi e Markus Moeller. Todos os direitos reservados. As permisses e limitaes relativas a este software esto
sujeitas aos termos da licena MIT.

Este Software protegido pelos Nmeros de Patentes dos EUA 5,794,246; 6,014,670; 6,016,501; 6,029,178; 6,032,158; 6,035,307; 6,044,374; 6,092,086; 6,208,990;
6,339,775; 6,640,226; 6,789,096; 6,823,373; 6,850,947; 6,895,471; 7,117,215; 7,162,643; 7,243,110; 7,254,590; 7,281,001; 7,421,458; 7,496,588; 7,523,121;
7,584,422; 7,676,516; 7,720,842; 7,721,270; 7,774,791; 8,065,266; 8,150,803; 8,166,048; 8,166,071; 8,200,622; 8,224,873; 8,271,477; 8,327,419; 8,386,435;
8,392,460; 8,453,159; 8,458,230; e RE44,478, Patentes internacionais e outras Patentes Pendentes.

ISENO DE RESPONSABILIDADE: a Informatica Corporation fornece esta documentao no estado em que se encontra, sem garantia de qualquer tipo, expressa
ou implcita, incluindo, mas no limitando-se, as garantias implcitas de no infrao, comercializao ou uso para um determinado propsito. A Informatica
Corporation no garante que este software ou documentao esteja sem erros. As informaes fornecidas neste software ou documentao podem incluir imprecises
tcnicas ou erros tipogrficos. As informaes deste software e documentao esto sujeitas a alteraes a qualquer momento sem aviso prvio.

AVISOS

Este produto da Informatica (o "Software") traz determinados drivers (os "drivers da DataDirect") da DataDirect Technologies, uma empresa em funcionamento da
Progress Software Corporation ("DataDirect"), que esto sujeitos aos seguintes termos e condies:

1. OS DRIVERS DA DATADIRECT SO FORNECIDOS NO ESTADO EM QUE SE ENCONTRAM, SEM GARANTIA DE QUALQUER TIPO, EXPRESSA OU
IMPLCITA, INCLUINDO, MAS NO LIMITANDO-SE, AS GARANTIAS IMPLCITAS DE COMERCIALIZAO, ADEQUAO A UMA FINALIDADE
ESPECFICA E NO INFRAO.
2. EM NENHUM CASO, A DATADIRECT OU SEUS FORNECEDORES TERCEIRIZADOS SERO RESPONSVEIS, EM RELAO AO CLIENTE FINAL, POR
QUAISQUER DANOS DIRETOS, INDIRETOS, INCIDENTAIS, ESPECIAIS, CONSEQUENCIAIS OU DEMAIS QUE POSSAM ADVIR DO USO DE DRIVERS
ODBC, SENDO OU NO ANTERIORMENTE INFORMADOS DAS POSSIBILIDADES DE TAIS DANOS. ESTAS LIMITAES SE APLICAM A TODAS AS
CAUSAS DE AO, INCLUINDO, SEM LIMITAES, QUEBRA DE CONTRATO, QUEBRA DE GARANTIA, NEGLIGNCIA, RESPONSABILIDADE
RIGOROSA, DETURPAO E OUTROS ATOS ILCITOS.

Parte Nmero: PC-PTG-95100-HF4-0001


Contedo
Prefcio. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vi
Recursos da Informatica. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vi
Portal My Support da Informatica. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vi
Documentao da Informatica. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vi
Site da Informatica. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vi
Biblioteca de Recursos da Informatica. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii
Base de Dados de Conhecimento da Informatica. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii
Canal de Suporte da Informatica no YouTube. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii
Informatica Marketplace. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii
Informatica Velocity. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii
Suporte Global a Clientes da Informatica. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . vii

Captulo 1: Viso geral de Ajuste de desempenho. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1


Viso geral de Ajuste de desempenho. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

Captulo 2: Afunilamentos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Viso geral do captulo Afunilamentos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Usando estatsticas de segmento. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Eliminando afunilamentos com base em estatsticas de segmento. . . . . . . . . . . . . . . . . . . . 3
Exemplo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Afunilamentos de destino. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Identificando afunilamentos de destino. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Eliminando afunilamentos no destino. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Afunilamentos de origem. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Identificando afunilamentos de origem. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
Eliminando afunilamentos na origem. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Afunilamentos de mapeamento. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Identificando afunilamentos de mapeamento. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
Eliminando afunilamentos de mapeamento. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Afunilamentos de sesso. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Identificando afunilamentos de sesso. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Eliminando afunilamentos de sesso. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Afunilamentos do sistema. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Identificando afunilamentos do sistema. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
Eliminando afunilamentos de sistema. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

Captulo 3: Otimizando o destino. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10


Otimizando destinos de arquivo simples. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Descartando restries de ndices e chave. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
Aumentando os intervalos do ponto de verificao do banco de dados. . . . . . . . . . . . . . . . . . . 11

Sumrio i
Usando cargas em massa. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Usando carregadores externos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Minimizando deadlocks. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Aumentando o tamanho do pacote de rede do banco de dados. . . . . . . . . . . . . . . . . . . . . . . . 12
Otimizando os bancos de dados de destino Oracle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

Captulo 4: Otimizando a origem. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14


Otimizando a consulta. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
Usando filtros condicionais. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Aumentando o tamanho do pacote de rede do banco de dados. . . . . . . . . . . . . . . . . . . . . . . . 15
Conectando-se s origens de banco de dados Oracle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Usando o Teradata FastExport. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
Usando o tempdb para associar o Sybase ou as tabelas do Microsoft SQL Server. . . . . . . . . . . . 16

Captulo 5: Otimizando mapeamentos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17


Viso geral de Otimizando mapeamentos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Otimizando origens de arquivos simples. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
Otimizando o comprimento do buffer sequencial em linha. . . . . . . . . . . . . . . . . . . . . . . . . 17
Otimizando origens de arquivos simples delimitados. . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Otimizando origens de arquivos XML e simples. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Configurando a leitura de passagem nica. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
Otimizando mapeamentos de passagem. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Otimizando filtros. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Otimizando converses de tipos de dados. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
Otimizando expresses. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Fatoramento de lgica comum. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Minimizando chamadas de funo de agregao. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Substituindo expresses comuns por variveis locais. . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Escolhendo operaes numricas versus de string. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Otimizando comparaes Char-Char e Char-Varchar. . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
Escolhendo DECODE versus LOOKUP. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Usando operadores em vez de funes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Otimizando funes IIF. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
Avaliando expresses. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
Otimizando procedimentos externos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

Captulo 6: Otimizando transformaes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23


Otimizando transformaes de Agregador. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Agrupando por colunas simples. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
Usando entrada classificada. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Usando agregao incremental. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Filtrando dados antes de agregar. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Limitando conexes de porta. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

ii Sumrio
Otimizando transformaes personalizadas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Otimizando transformaes de unificador. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Otimizando transformaes de pesquisa. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
Usando drivers de banco de dados ideais. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Armazenando tabelas de pesquisa em cache. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
Otimizando a condio de pesquisa. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Filtrando linhas de pesquisa. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Indexao da tabela de pesquisa. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Otimizando vrias pesquisas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Criando uma transformao pesquisa de pipeline. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Otimizando Transformaes de Normalizador. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Otimizando transformaes de Gerador de Sequncia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Otimizando transformaes de classificador. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Alocando memria. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Diretrios de trabalho para parties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Modo Unicode. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
Otimizando transformaes de Qualificador de Origem. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Otimizando transformaes de SQL. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Otimizando Transformaes de XML. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
Eliminando erros de transformao. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

Captulo 7: Otimizando sesses. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33


Grade. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
Otimizao de empilhamento. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Sesses e fluxos de trabalho simultneos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Memria de buffer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
Aumentando o tamanho do buffer DTM. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Otimizando o tamanho do bloco de buffer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
Caches. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Limitando o nmero de portas conectadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Localizao do diretrio de cache. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
Aumentando os tamanhos de cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Usando a verso de 64 bits do PowerCenter. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Confirmao baseada no destino. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
Processamento em tempo real. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Latncia de liberao. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Confirmaes baseadas na origem. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
reas de preparao. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Arquivos de log. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Rastreamento de erros. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
Emails ps-sesso. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

Sumrio iii
Captulo 8: Otimizando implantaes de grade. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Viso geral do captulo Otimizando a implantao de grades. . . . . . . . . . . . . . . . . . . . . . . . . 40
Armazenando arquivos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
Arquivos do sistema de arquivos compartilhado de alta largura de banda. . . . . . . . . . . . . . 41
Arquivos do sistema de arquivos compartilhado de baixa largura de banda. . . . . . . . . . . . . 41
Arquivos de armazenamento local. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
Usando um sistema de arquivos compartilhado. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Configurando um sistema de arquivos compartilhado. . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Equilibrando o uso da CPU e da memria. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Configurando mapeamentos e sesses do PowerCenter. . . . . . . . . . . . . . . . . . . . . . . . . 43
Distribuindo arquivos pelos sistemas de arquivos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Configurando sesses para distribuir arquivos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
Otimizando transformaes de Gerador de Sequncia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

Captulo 9: Otimizando componentes do PowerCenter. . . . . . . . . . . . . . . . . . . . . . . . . 47


Viso geral do captulo Otimizando componentes do PowerCenter. . . . . . . . . . . . . . . . . . . . . . 47
Otimizando o desempenho do repositrio do PowerCenter. . . . . . . . . . . . . . . . . . . . . . . . . . . 47
Localizao do repositrio e do processo do Servio de Repositrio. . . . . . . . . . . . . . . . . . 48
Condies de ordem em consultas de objeto. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Usando um espao de tabela do banco de dados DB2 de n nico. . . . . . . . . . . . . . . . . . . 48
Otimizando o esquema do banco de dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
Cache de Objeto para o Servio de Repositrio. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
Otimizao da resilincia. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Otimizando o desempenho do Servio de Integrao. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Usando drivers ODBC e nativo. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
Executando o Servio de Integrao no modo de movimentao de dados ASCII. . . . . . . . . 50
Criando cache no PowerCenter Metadata para o Servio de Repositrio . . . . . . . . . . . . . . . 51

Captulo 10: Otimizando o sistema. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52


Viso geral do captulo Otimizao do sistema. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Aprimorando a velocidade da rede. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Usando vrias CPUs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Reduzindo a paginao. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Usando a associao de processador. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54

Captulo 11: Usando parties de pipeline. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55


Viso geral de Usando parties de pipeline. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Aumentando o nmero de parties. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55
Selecionando os tipos de partio de melhor desempenho. . . . . . . . . . . . . . . . . . . . . . . . 56
Usando vrias CPUs. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
Otimizando o banco de dados de origem para particionamento. . . . . . . . . . . . . . . . . . . . . . . . 57
Ajustando o banco de dados. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

iv Sumrio
Agrupando dados classificados. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Otimizando consultas de classificao nica. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
Otimizando o banco de dados de destino para particionamento. . . . . . . . . . . . . . . . . . . . . . . . 59

Apndice A: Contadores de desempenho. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60


Viso geral do captulo Contadores de desempenho. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Contador Errorrows. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
Contadores Readfromcache e Writetocache. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Contadores Readfromdisk e Writetodisk. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
Contador Rowsinlookupcache. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

ndice. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63

Sumrio v
Prefcio
O Guia de Ajuste de Desempenho do PowerCenter foi escrito para desenvolvedores e administradores do
PowerCenter, administradores de rede e de banco de dados que esto interessados em aprimorar o
desempenho do PowerCenter. Esse guia pressupe que voc tenha conhecimento em sistemas
operacionais, redes, PowerCenter, conceitos de banco de dados relacional e arquivos simples no seu
ambiente. Para obter mais informaes sobre o ajuste de desempenho de banco de dados que no foi
abordado nesse guia, consulte a documentao dos seus produtos de banco de dados.

Recursos da Informatica

Portal My Support da Informatica


Como cliente da Informatica, voc pode acessar o Portal My Support da Informatica em
http://mysupport.informatica.com.

O site contm informaes sobre produtos, informaes sobre grupos de usurios, boletins informativos,
acesso ao sistema de gerenciamento de casos de suporte a clientes da Informatica (ATLAS), Biblioteca de
Recursos da Informatica, Base de Dados de Conhecimento da Informatica, Documentao de Produtos
da Informatica e comunidade de usurios da Informatica.

Documentao da Informatica
A equipe de Documentao da Informatica se esfora ao mximo para criar documentaes precisas e
utilizveis. Se voc tiver dvidas, comentrios ou ideias sobre esta documentao, entre em contato com a
equipe de Documentao da Informatica pelo e-mail infa_documentation@informatica.com. Ns usaremos
seu feedback para melhorar a documentao. Por favor, avise-nos se pudermos entrar em contato com voc
em relao aos comentrios.

A equipe de Documentao atualiza a documentao conforme o necessrio. Para obter a documentao


mais recente do seu produto, navegue para Documentao do Produto no endereo
http://mysupport.informatica.com.

Site da Informatica
Voc pode acessar o site corporativo da Informatica no endereohttp://www.informatica.com. O site contm
informaes sobre a Informatica, seu histrico, eventos futuros e escritrios de vendas. Voc tambm vai
encontrar informaes sobre parceiros e produtos. A rea de servios do site inclui informaes importantes
sobre suporte tcnico, treinamento e educao, bem como servios de implementao.

vi
Biblioteca de Recursos da Informatica
Na qualidade de cliente da Informatica, voc pode acessar a Biblioteca de Recursos da Informatica no
endereo http://mysupport.informatica.com. A Biblioteca de Recursos uma coletnea de recursos que o
ajuda a aprender mais sobre os produtos e recursos da Informatica. Ela inclui artigos e demonstraes
interativas que apresentam solues a problemas comuns, comparam recursos e comportamentos e o
orienta na execuo de tarefas especficas no mundo real.

Base de Dados de Conhecimento da Informatica


Na qualidade de cliente da Informatica, voc pode acessar a Base de Dados de Conhecimento da
Informatica no endereo http://mysupport.informatica.com. Use a Base de Dados de Conhecimento para
pesquisar solues documentadas a problemas tcnicos conhecidos sobre produtos da Informatica. Voc
tambm pode encontrar respostas a perguntas frequentes, white papers e dicas tcnicas. Se voc tiver
dvidas, comentrios ou ideias sobre a Base de Dados de Conhecimento, entre em contato com a equipe da
Base de Dados de Conhecimento da Informatica pelo e-mail KB_Feedback@informatica.com.

Canal de Suporte da Informatica no YouTube


Voc pode acessar o canal de Suporte da Informatica no YouTube
http://www.youtube.com/user/INFASupport. O canal de Suporte da Informatica no YouTube inclui vdeos
sobre solues que orientam voc na execuo de tarefas especficas. Em caso de dvidas, comentrios ou
ideias sobre o canal de Suporte da Informatica no YouTube, entre em contato com a equipe de Suporte do
YouTube por email em supportvideos@informatica.com ou envie um tweet para @INFASupport.

Informatica Marketplace
O Informatica Marketplace um frum em que desenvolvedores e parceiros podem compartilhar solues
para aumentar, ampliar ou aprimorar implementaes da integrao de dados. Ao tirar proveito de qualquer
uma das centenas de solues disponveis no Marketplace, voc pode melhorar sua produtividade e agilizar
o tempo de implementao em seu projeto. Voc pode acessar o Informatica Marketplace atravs do link
http://www.informaticamarketplace.com.

Informatica Velocity
Voc pode acessar o Informatica Velocity em http://mysupport.informatica.com. Desenvolvido a partir da
experincias reais em centenas de projetos de gerenciamento de dados, o Informatica Velocity representa o
conhecimento coletivo de nossos consultores que trabalharam com organizaes no mundo inteiro para
planejar, desenvolver, implantar e manter solues bem-sucedidas de Gerenciamento de Dados. Se voc
tiver dvidas, comentrios ou ideias sobre o Informatica Velocity, entre em contato com o Informatica
Professional Services em ips@informatica.com.

Suporte Global a Clientes da Informatica


Voc pode entrar em contato com o Centro de Suporte a Clientes por telefone ou pelo Suporte Online.

O Suporte Online requer um nome de usurio e uma senha. Voc pode solicitar um nome de usurio e uma
senha no endereo http://mysupport.informatica.com.

Os nmeros de telefone para o Suporte Global a Clientes da Informatica esto disponveis no site da
Informatica em http://www.informatica.com/us/services-and-training/support-services/global-support-centers/.

Prefcio vii
viii
CAPTULO 1

Viso geral de Ajuste de


desempenho
Este captulo inclui os seguintes tpico:

Viso geral de Ajuste de desempenho, 1

Viso geral de Ajuste de desempenho


O objetivo do ajuste do desempenho otimizar o desempenho da sesso eliminando os afunilamentos de
desempenho. Para ajustar o desempenho da sesso, primeiro identifique o afunilamento do desempenho,
elimine-o e identifique o prximo afunilamento de desempenho at que esteja satisfeito com o desempenho
da sesso. Voc pode usar a opo de carregamento de teste para executar sesses quando ajustar o
desempenho das sesses.

Se voc ajustar todos os afunilamentos, ser possvel otimizar o desempenho da sesso aumentando o
nmero de parties de pipeline na sesso. A adio de parties pode aprimorar o desempenho por meio
da utilizao maior de hardware do sistema ao processar a sesso.

Como determinar a melhor maneira de melhorar o desempenho pode ser complexo, altere uma varivel de
cada vez, e limite a sesso tanto antes quanto depois da alterao. Se o desempenho da sesso no
melhorar, convm retornar configurao original.

Execute as seguintes tarefas para melhorar o desempenho da sesso:

1. Otimize o destino. Habilita o Servio de Integrao para gravar nos destinos eficientemente.
2. Otimize a origem. Habilita o Servio de Integrao para ler os dados da origem eficientemente.
3. Otimize o mapeamento. Habilita o Servio de Integrao para transformar e mover os dados
eficientemente.
4. Otimize a transformao. Habilita o Servio de Integrao para processar as transformaes em um
mapeamento eficientemente.
5. Otimize a sesso. Habilita o Servio de Integrao para executar a sesso mais rapidamente.
6. Otimize as implantaes de grade. Habilita o Servio de Integrao para executar em uma grade com
o desempenho ideal.
7. Otimize os componentes do PowerCenter. Habilita o Servio de Integrao e o Servio de
Repositrio para funcionarem da forma ideal.
8. Otimize o sistema. Habilita os processos do servio do PowerCenter para execuo mais rpida.

1
CAPTULO 2

Afunilamentos
Este captulo inclui os seguintes tpicos:

Viso geral do captulo Afunilamentos, 2


Usando estatsticas de segmento, 3
Afunilamentos de destino, 4
Afunilamentos de origem, 5
Afunilamentos de mapeamento, 6
Afunilamentos de sesso, 7
Afunilamentos do sistema, 7

Viso geral do captulo Afunilamentos


A primeira etapa no ajuste do desempenho identificar afunilamentos de desempenho. Os afunilamentos de
desempenho podem ocorrer nos bancos de dados de origem e destino, no mapeamento, na sesso e no
sistema. A estratgia identificar um afunilamento de desempenho, elimin-lo e, em seguida identificar o
prximo afunilamento de desempenho at que voc fique satisfeito com o desempenho.

Pesquise os afunilamentos de desempenho na seguinte ordem:

1. Destino
2. Origem
3. Mapeamento
4. Sesso
5. Sistema
Use os seguintes mtodos para identificar os afunilamentos de desempenho:

Execute sesses de teste. Voc pode configurar uma sesso de teste para ler dados de uma origem de
arquivo simples ou gravar em um destino de arquivo simples para identificar afunilamentos de origem e
destino.
Analise os detalhes do desempenho. Analise os detalhes do desempenho, como contadores de
desempenho, para determinar onde o desempenho da sesso diminui.
Analise as estatsticas do segmento. Analise as estatsticas do segmento para determinar o nmero
ideal de pontos de partio.

2
Monitore o desempenho do sistema. Voc pode usar as ferramentas de monitoramento do sistema
para visualizar a porcentagem de uso da CPU, esperas de E/S e paginao para identificar os
afunilamentos do sistema. possvel tambm usar o Workflow Monitor para visualizar o uso do recursos
do sistema.

Usando estatsticas de segmento


Voc pode usar as estatsticas do segmento no log da sesso para identificar afunilamentos de origem, de
destino e de transformao. Por padro, o Servio de Integrao usa um segmento de leitor, um de
transformao e um de gravador para processar a sesso. O segmento com a porcentagem de ocupao
mais alta identifica o afunilamento na sesso.

O log da sesso fornece as seguintes estatsticas do segmento:

Tempo de execuo. A quantidade de tempo que o segmento est em execuo.


Tempo ocioso. A quantidade de tempo que o segmento est ocioso. Ele inclui o tempo que o segmento
aguarda o processamento de outro segmento no aplicativo. O tempo ocioso inclui o tempo em que o
segmento est bloqueado pelo Servio de Integrao, mas no o tempo em que ele est bloqueado pelo
sistema operacional.
Tempo de ocupao. A porcentagem do tempo de execuo do segmento est de acordo com a
seguinte frmula:
(run time - idle time) / run time X 100
possvel ignorar as altas porcentagens de ocupao quando o tempo de execuo total baixo, como
menos de 60 segundos. Isso no indica necessariamente um afunilamento.
Tempo de trabalho do segmento. A porcentagem de tempo que o Servio de Integrao leva para
processar cada transformao em um segmento. O log da sesso exibe as seguintes informaes do
tempo de trabalho do segmento de transformao:
Thread work time breakdown:
<transformation name>: <number> percent
<transformation name>: <number> percent
<transformation name>: <number> percent
Se a transformao levar uma quantidade de tempo pequena, o log da sesso no incluir isso. Se o
segmento no tiver estatsticas precisas porque a sesso executada por um perodo curto de tempo, o
log da sesso reportar que as estatsticas no so precisas.

Eliminando afunilamentos com base em estatsticas de segmento


Conclua as seguintes tarefas para eliminar afunilamentos com base nas estatsticas do segmento:

Se o segmento do leitor ou do gravador est 100% ocupado, tente usar tipos de dados de string nas
portas de origem e destino. As portas que no so de string exigem mais processamento.
Se um segmento de transformao est 100% ocupado, tente adicionar um ponto de partio no
segmento. Ao adicionar pontos de partio ao mapeamento, o Servio de Integrao aumenta o nmero
de segmentos de transformao que ele usa na sesso. No entanto, se a mquina j est em execuo
prxima ou na capacidade total, no adicione mais segmentos.
Se uma transformao requer mais tempo de processamento que as outras, tente adicionar um ponto de
partio de passagem para a transformao.

Usando estatsticas de segmento 3


Exemplo
Quando voc executa uma sesso, o log da sesso lista as informaes de execuo e as estatsticas do
segmento da seguinte forma:
***** RUN INFO FOR TGT LOAD ORDER GROUP [1], CONCURRENT SET [1] *****
Thread [READER_1_1_1] created for [the read stage] of partition point
[SQ_two_gig_file_32B_rows] has completed.
Total Run Time = [505.871140] secs
Total Idle Time = [457.038313] secs
Busy Percentage = [9.653215]
Thread [TRANSF_1_1_1] created for [the transformation stage] of partition point
[SQ_two_gig_file_32B_rows] has completed.
Total Run Time = [506.230461] secs
Total Idle Time = [1.390318] secs
Busy Percentage = [99.725359]
Thread work time breakdown:
LKP_ADDRESS: 25.000000 percent
SRT_ADDRESS: 21.551724 percent
RTR_ZIP_CODE: 53.448276 percent
Thread [WRITER_1_*_1] created for [the write stage] of partition point
[scratch_out_32B] has completed.
Total Run Time = [507.027212] secs
Total Idle Time = [384.632435] secs
Busy Percentage = [24.139686]

Nesse log da sesso, o tempo de execuo total do segmento de transformao de 506 segundos e a
porcentagem de ocupao de 99.7%. Isso significa que o segmento de transformao nunca esteve ocioso
por 506 segundos. As porcentagens de ocupao do leitor e do gravador foram bastante menores,
aproximadamente 9.6% e 24%. Nesta sesso, o segmento de transformao o afunilamento no
mapeamento.

Para determinar qual transformao no segmento de transformao o afunilamento, visualize a


porcentagem de ocupao de cada transformao na diviso de tempo de trabalho do segmento. Neste log
da sesso, a transformao RTR_ZIP_CODE teve uma porcentagem de ocupao de 53%.

Afunilamentos de destino
O afunilamento de desempenho mais comum ocorre quando o Servio de Integrao grava em um banco de
dados de destino. Os intervalos de ponto de verificao curtos, tamanhos pequenos do pacote de rede de
banco de dados ou problemas durante operaes de carregamentos pesadas podem causar afunilamentos
de destino.

Identificando afunilamentos de destino


Para identificar um afunilamento de destino, conclua as seguintes tarefas:

Configure uma cpia da sesso para gravar dados em um destino de arquivo simples. Se o desempenho
da sesso aumentar significativamente, voc ter um afunilamento de destino. Se a sesso j grava
dados em um destino de arquivo simples, provavelmente voc no tem um afunilamento de destino.
Leia as estatsticas do segmento no log da sesso. Quando o Servio de Integrao gasta mais tempo no
segmento do gravador do que nos segmentos do leitor ou de transformao, voc tem um afunilamento
de destino.

4 Captulo 2: Afunilamentos
Eliminando afunilamentos no destino
Conclua as seguintes tarefas para eliminar os afunilamentos de destino:

Permita que o administrador do banco de dados aprimore o desempenho otimizando a consulta.


Aumente o tamanho do pacote de rede do banco de dados.
Configure restries de ndice e chave.

TPICOS RELACIONADOS:
Otimizando o destino na pgina 10

Afunilamentos de origem
Os afunilamentos de desempenho ocorrem quando o Servio de Integrao l os dados do banco de dados
de origem. A consulta ineficiente ou os tamanhos do pacote de rede do banco de dados podem causar
afunilamentos de origem.

Identificando afunilamentos de origem


Voc pode ler as estatsticas do segmento no log da sesso para determinar se a origem o afunilamento.
Quando o Servio de Integrao gasta mais tempo no segmento do leitor do que nos segmentos do gravador
ou de transformao, voc tem um afunilamento de origem.

Se a sesso l dados de uma origem relacional, use os seguintes mtodos para identificar afunilamentos de
origem:

Transformao de Filtro
Mapeamento de teste de leitura
Consulta de banco de dados
Se a sesso l dados de uma origem de arquivo simples, provavelmente voc no tem um afunilamento de
origem.

Usando uma transformao de filtro


Voc pode usar uma transformao de Filtro no mapeamento para medir o tempo que ela leva para ler os
dados de origem.

Adicione uma transformao de Filtro aps cada qualificador de origem. Defina a condio do filtro como
falso para que nenhum dado seja processado aps a transformao do Filtro. Se o tempo decorrido para
executar a nova sesso continuar praticamente o mesmo, voc tem um afunilamento de origem.

Usando um mapeamento de teste de leitura


Voc pode criar um mapeamento de teste de leitura para identificar afunilamentos de origem. Um
mapeamento de teste de leitura isola a consulta de leitura removendo a transformao no mapeamento.

Para criar um mapeamento de teste de leitura, conclua as seguintes etapas:

1. Faa uma cpia do mapeamento original.

Afunilamentos de origem 5
2. No mapeamento copiado, mantenha somente as origens, os qualificadores de origem e quaisquer
associaes ou consultas.
3. Remova todas as transformaes.
4. Conecte os qualificadores de origem a um destino de arquivo.
Execute uma sesso no mapeamento de teste de leitura. Se o desempenho do sesso similar ao original,
voc tem um afunilamento de origem.

Usando uma consulta de banco de dados


Para identificar afunilamentos de origem, execute a pesquisa de leitura diretamente no banco de dados de
origem.

Copie a consulta de leitura diretamente do log da sesso. Execute a consulta no banco de dados de origem
com uma ferramenta, como o isql. No Windows, possvel carregar o resultado da consulta em um arquivo.
No UNIX, possvel carregar o resultado da consulta em /dev/null.

Mea o tempo de execuo da consulta e o tempo que ela leva para retornar a primeira linha.

Eliminando afunilamentos na origem


Conclua as seguintes tarefas para eliminar os afunilamentos de origem:

Defina o nmero de bytes que o Servio de Integrao l por linha se ele ler de uma origem de arquivo
simples.
Permita que o administrador do banco de dados aprimore o desempenho otimizando a consulta.
Aumente o tamanho do pacote de rede do banco de dados.
Configure restries de ndice e chave.
Se houver um longo atraso entre as duas medidas de tempo em uma consulta do banco de dados, voc
poder usar uma dica do otimizador.

TPICOS RELACIONADOS:
Otimizando a origem na pgina 14

Afunilamentos de mapeamento
Se voc determinar que no tem um afunilamento de origem ou de destino, ser possvel que tenha um
afunilamento de mapeamento.

Identificando afunilamentos de mapeamento


Para identificar afunilamentos de mapeamento, conclua as seguintes tarefas:

Leia as estatsticas do segmento e as do tempo de trabalho no log da sesso. Quando o Servio de


Integrao gasta mais tempo no segmento de transformao do que nos segmentos do leitor ou o
gravador, voc tem um afunilamento de transformao. Quando o Servio de Integrao gasta mais
tempo em uma transformao, existe um afunilamento no segmento de transformao.
Analise os contadores de desempenho. Os contadores errorrows e rowsinlookupcache altos indicam um
afunilamento de mapeamento.

6 Captulo 2: Afunilamentos
Adicione uma transformao de Filtro antes de cada definio de destino. Defina a condio do filtro
como falso para que nenhum dado seja carregado nas tabelas de destino. Se o tempo decorrido para
executar a nova sesso continuar igual ao original, voc tem um afunilamento de mapeamento.

Eliminando afunilamentos de mapeamento


Para eliminar afunilamentos de mapeamento, otimize as configuraes de transformao nos mapeamentos.

TPICOS RELACIONADOS:
Otimizando mapeamentos na pgina 17

Afunilamentos de sesso
Se voc no tiver um afunilamento de origem, de destino ou de mapeamento, ser possvel que tenha um
afunilamento de sesso. O tamanho pequeno de cache, a memria baixa de buffer e os pequenos intervalos
de confirmao podem causar afunilamentos de sesso.

Identificando afunilamentos de sesso


Para identificar um afunilamento de sesso, analise os detalhes do desempenho. Os detalhes do
desempenho exibem informaes sobre cada transformao, como o nmero de linhas de entrada, linhas de
sada e linhas de erro.

Eliminando afunilamentos de sesso


Para eliminar afunilamentos de sesso, otimize a sesso.

TPICOS RELACIONADOS:
Otimizando sesses na pgina 33

Afunilamentos do sistema
Aps ajustar a origem, o destino, o mapeamento e a sesso, tente ajustar o sistema para evitar
afunilamentos do sistema. O Servio de Integrao usa os recursos do sistema para processar
transformaes, executar sesses, ler e gravar dados. O Servio de Integrao tambm usa a memria do
sistema para criar arquivos de cache files para transformaes, como Agregador, Associador, Pesquisa,
Classificador, XML e Classificao.

Identificando afunilamentos do sistema


Voc pode visualizar o uso dos recursos do sistema no Workflow Monitor. possvel usar as ferramentas
dos sistema para monitorar os sistemas Windows e UNIX .

Afunilamentos de sesso 7
Usando o Workflow Monitor para identificar afunilamentos do sistema
Voc pode visualizar as propriedades do Servio de Integrao no Workflow Monitor o uso da CPU, da
memria e de permuta do sistema quando estiver executando processos de tarefa no Servio de Integrao.
Use as seguintes propriedades do Servio de Integrao para identificar problemas de desempenho:

CPU%. A porcentagem do uso da CPU inclui outras tarefas externas em execuo no sistema.
Uso da memria. A porcentagem do uso da memria inclui outras tarefas externas em execuo no
sistema. Se o uso da memria est prximo de 95%, verifique se as tarefas em execuo mo sistema
esto usando a quantidade indicada no Workflow Monitor ou se h uma perda de memria. Para
solucionar o problema, use as ferramentas do sistema para verificar o uso da memria antes e depois da
execuo da tarefa e, em seguida, compare os resultados do uso da memria ao executar a sesso.
Uso de permuta. O uso de permuta um resultado da paginao devido as possveis perdas de
memria ou um nmero alto de tarefas simultneas.

Identificando afunilamentos do sistema no Windows


Voc pode visualizar a guia Desempenho e processos no Gerenciador de Tarefas para obter informaes do
sistema. A guia Desempenho no Gerenciador de Tarefas oferece uma viso geral do uso da CPU e do total
de memria usada. Use o Monitor de Desempenho para visualizar mais informaes detalhadas.

A tabela a seguir descreve as informaes de sistema que voc pode usar no Monitor de Desempenho do
Windows para criar um grfico:

Propriedade Descrio

Tempo do processador em Se voc tiver mais de uma CPU, monitore cada uma delas para tempo do
percentual processador em percentual.

Pginas/segundo Se as pginas/segundo for maior do que cinco, talvez voc tenha presso de
memria excessiva conhecido como sobrecarga.

Tempo em percentual dos O percentual de tempo que o disco fsico est ocupado executando
discos fsicos solicitaes de leitura e gravao.

Comprimento da fila dos discos O nmero de usurios aguardando para acessar o mesmo dispositivo de
fsicos disco.

Total de bytes do servidor por O servidor enviou e recebeu da rede.


segundo

Identificando afunilamentos do sistema no UNIX


Use as seguintes ferramentas para identificar afunilamentos do sistema no UNIX:

superior. Visualize o desempenho geral do sistema. Esta ferramenta exibe o uso da CPU, da memria e
de permuta do sistema e de processos individuais em execuo no sistema.
iostat. Monitore a operao de carregamento para cada disco anexado ao servidor do banco de dados. O
Iostat exibe a porcentagem de tempo que o disco est fisicamente ativo. Se voc utiliza matrizes de
disco, use os utilitrios fornecidos com as matrizes em vez do iostat.
vmstat. Monitore as aes de permuta do disco.

8 Captulo 2: Afunilamentos
sar. Visualize relatrios detalhados das atividades de sistema da CPU, da memria e do uso do disco.
Voc pode usar esta ferramenta para monitorar o carregamento da CPU. Ela oferece o uso em percentual
com base no tempo de espera, no tempo ocioso, no sistema e no usurio. Alm disso, use esta
ferramenta para monitorar as aes de permuta do disco.

Eliminando afunilamentos de sistema


Conclua as seguintes tarefas para eliminar os afunilamentos do sistema:

Se o uso da CPU maior que 80%, verifique o nmero de tarefas simultneas em execuo. Tente
alterar o carregamento ou usar uma grade para distribuir tarefas para diferentes ns. Se no for possvel
diminuir a carga, tente adicionar mais processadores.
Se a permuta ocorrer, aumente a memria fsica ou reduza o nmero de aplicativos com utilizao
intensa da memria no disco.
Se voc tiver presso de memria excessiva (sobrecarga), tente adicionar mais memria fsica.
Se a porcentagem de tempo alta, ajuste o cache para que o PowerCenter use o cache de memria
interna em vez de gravar no disco. Se voc ajustar o cache, as solicitaes continuarem na fila e a
porcentagem de ocupao do disco for de pelo menos 50%, adicione outro dispositivo de disco ou faa
um upgrade para um dispositivo de disco mais rpido. Voc tambm pode usar um disco separado para
cada partio na sesso.
Se o comprimento da fila do disco fsico maior que dois, tente adicionar outro dispositivo de disco ou
fazer um upgrade no dispositivo de disco. Alm disso, possvel usar discos separados para os
segmentos do leitor, do gravador e de transformao.
Tente aprimorar a largura de banda da rede.
Ao ajustar os sistemas UNIX, ajuste o servidor para um sistema principal de banco de dados.
Se o tempo em percentual gasto aguardando no E/S (%wio) for alto, tente usar outros discos pouco
utilizados. Por exemplo, se os arquivos de cache dos dados de origem, de destino, de pesquisa, de
classificao e agregado esto no mesmo disco, tente coloc-los em discos diferentes.

TPICOS RELACIONADOS:
Reduzindo a paginao na pgina 53
Otimizando o sistema na pgina 52

Afunilamentos do sistema 9
CAPTULO 3

Otimizando o destino
Este captulo inclui os seguintes tpicos:

Otimizando destinos de arquivo simples, 10


Descartando restries de ndices e chave, 10
Aumentando os intervalos do ponto de verificao do banco de dados, 11
Usando cargas em massa, 11
Usando carregadores externos, 11
Minimizando deadlocks, 12
Aumentando o tamanho do pacote de rede do banco de dados, 12
Otimizando os bancos de dados de destino Oracle, 12

Otimizando destinos de arquivo simples


Se voc usa um diretrio de armazenamento compartilhado para destinos de arquivo simples, possvel
otimizar o desempenho da sesso garantindo que o diretrio de armazenamento compartilhado esteja em
uma mquina dedicada para o armazenamento e gerenciamento de arquivos, em vez de executar outras
tarefas.

Se o Servio de Integrao executado em um nico n e a sesso grava em um destino de arquivo


simples, voc pode otimizar o desempenho da sesso gravando em um destino de arquivo simples que
local para o n do processo do Servio de Integrao.

Descartando restries de ndices e chave


Ao definir restries de chave ou ndices em tabelas de destino, o carregamento de dados se torna lento
nessas tabelas. Para aprimorar o desempenho, descarte as restries de chave e ndices antes de executar
a sesso. possvel criar novamente essas restries de chave e ndices depois que a sesso for
concluda.

Se voc desejar descartar e recriar as restries de chave e ndices regularmente, use os seguintes
mtodos para fazer estas operaes sempre que executar a sesso:

Use procedimentos armazenados pr e ps-carregados.


Use comandos SQL pr e ps-sesso.

10
Nota: Para otimizar o desempenho, use o carregamento com base na restrio somente se necessrio.

Aumentando os intervalos do ponto de verificao do


banco de dados
O desempenho do Servio de Integrao fica lento sempre que aguarda enquanto o banco de dados execute
um ponto de verificao. Para diminuir o nmero de pontos de verificao e aprimorar o desempenho,
aumente o intervalo de ponto de verificao no banco de dados.

Nota: Embora voc obtenha desempenho ao reduzir o nmero de pontos de verificao, voc tambm
aumente o tempo de recuperao se o banco de dados for encerrado inesperadamente.

Usando cargas em massa


possvel usar o carregamento em massa para aprimorar o desempenho de uma sesso que insere uma
grande quantidade de dados em um banco de dados DB2, Sybase ASE, Oracle ou Microsoft SQL Server.
Configure o carregamento em massa nas propriedades da sesso.

Ao executar o carregamento em massa, o Servio de Integrao ignora o log do banco de dados, o que
aumenta o desempenho. Entretanto, sem a gravao no log do banco de dados, o banco de dados de
destino no pode realizar a reverso. Como resultado, voc talvez no possa realizar uma recuperao. Ao
usar o carregamento em massa, avalie a importncia do desempenho de sesso aprimorado em relao
capacidade de recuperar uma sesso incompleta.

Quando voc carregar em massa nos destinos do Microsoft SQL Server ou Oracle, defina um grande
intervalo de confirmao para aprimorar o desempenho. O Microsoft SQL Server e o Oracle comeam uma
nova transao de carregamento em massa aps cada confirmao. Aumentar o intervalo de confirmao
reduz o nmero de transaes de carregamento em massa, o que aumenta o desempenho.

TPICOS RELACIONADOS:
Confirmao baseada no destino na pgina 37

Usando carregadores externos


Para aprimorar o desempenho da sesso, configure o PowerCenter para usar um carregador externo para os
seguintes tipos de bancos de dados de destino:

IBM DB2 EE ou EEE


Oracle
Quando voc carrega dados para um banco de dados Oracle usando um pipeline com diversas parties,
possvel aprimorar o desempenho ao criar uma tabela de destino Oracle com o mesmo nmero de
parties usado no pipeline.
Sybase IQ

Aumentando os intervalos do ponto de verificao do banco de dados 11


Se o banco de dados Sybase IQ local ao processo do Servio de Integrao no sistema UNIX, voc
pode aprimorar o desempenho carregando os dados para tabelas de destino diretamente dos pipes
nomeados. Se voc executar o Servio de Integrao em uma grade, configure o Balanceador de Carga
para verificar os recursos, tornar o Sybase IQ um recurso e tornar disponveis os recursos em todos os
ns da grade. Em seguida, no Workflow Manager, atribua o recurso Sybase IQ s sesses aplicveis.
Teradata

Minimizando deadlocks
Se o Servio de Integrao encontrar um deadlock quando tentar gravar em um destino, o deadlock somente
afetar os destinos no mesmo grupo de conexo de destino. O Servio de Integrao ainda grava em
destinos em outros grupos de conexo de destino.

A descoberta de deadlocks pode retardar o desempenho da sesso. Para melhorar o desempenho da


sesso, voc pode aumentar o nmero de grupos de conexo de destino que o Servio de Integrao usa
para gravar os destinos em uma sesso. Para usar um grupo de conexo de destino diferente para cada
destino em uma sesso, use um nome da conexo de banco de dados diferente para cada instncia de
destino. Voc pode especificar as mesmas informaes de conexo para cada nome da conexo.

Aumentando o tamanho do pacote de rede do banco


de dados
Se voc grava dados em destinos Oracle, Sybase ASE ou Microsoft SQL Server, possvel aprimorar o
desempenho aumentando o tamanho do pacote de rede. Aumente o tamanho do pacote de rede para
permitir que pacotes maiores de dados cruzem a rede de uma vez. Aumente o tamanho do pacote de rede
baseado no banco de dados que voc est gravando:

Oracle. Aumente o tamanho do pacote de rede do servidor de banco de dados no listener.ora e


tnsnames.ora. Consulte a documentao do banco de dados para obter mais informaes sobre o
aumento do tamanho do pacote, se necessrio.
Sybase ASE e Microsoft SQL Server. Consulte a documentao do banco de dados para obter
informaes sobre como aumentar o tamanho do pacote.
Para o Sybase ASE ou o Microsoft SQL Server, necessrio alterar o tamanho do pacote no objeto de
conexo relacional no Workflow Manager para refletir o tamanho do pacote do servidor de banco de dados.

Otimizando os bancos de dados de destino Oracle


Se o banco de dados de destino Oracle, possvel otimizar o banco de dados de destino verificando a
clusula de armazenamento, a alocao de espao e os segmentos de reverso e de desfazer.

Ao gravar em um banco de dados Oracle, verifique a clusula de armazenamento dos objetos do banco de
dados. Certifique-se de que as tabelas esto usando valores iniciais e prximos grandes. Alm disso, o

12 Captulo 3: Otimizando o destino


banco de dados deve armazenar dados de ndice e tabela em espaos de tabela separados,
preferencialmente em discos diferentes.

Ao gravar em banco de dados Oracle, ele usa os segmentos de reverso e de desfazer durante os
carregamentos. Consulte o administrador do banco de dados Oracle para saber se o banco de dados
armazena segmentos de reverso e de desfazer em espaos de tabela adequados, preferencialmente em
discos diferentes. Os segmentos de reverso e de desfazer devem tambm ter clusulas de armazenamento
apropriadas.

Para otimizar o banco de dados Oracle, ajuste o log de refazer Oracle. O banco de dados Oracle utiliza o log
de refazer para registrar as operaes de carregamento. Certifique-se de que o tamanho do log de refazer e
o tamanho do buffer so ideais. Voc pode visualizar as propriedades do log de refazer no arquivo init.ora.

Se o Servio de Integrao executado em um nico n e a instncia Oracle local ao n do processo do


Servio de Integrao, possvel otimizar o desempenho usando o protocolo IPC para se conectar ao banco
de dados Oracle. Voc pode configurar a conexo do banco de dados Oracle no listener.ora e tnsnames.ora.

Para obter mais informaes sobre a otimizao dos bancos de dados Oracle, consulte a documentao do
Oracle.

Otimizando os bancos de dados de destino Oracle 13


CAPTULO 4

Otimizando a origem
Este captulo inclui os seguintes tpicos:

Otimizando a consulta, 14
Usando filtros condicionais, 15
Aumentando o tamanho do pacote de rede do banco de dados, 15
Conectando-se s origens de banco de dados Oracle, 15
Usando o Teradata FastExport, 15
Usando o tempdb para associar o Sybase ou as tabelas do Microsoft SQL Server, 16

Otimizando a consulta
Se uma sesso associar diversas tabelas de origem em um Qualificador de Origem, voc poder aprimorar o
desempenho ao otimizar a consulta com dicas de otimizao. Alm disso, as instrues de seleo da tabela
nica com uma clusula ORDER BY ou GROUP BY podem se beneficiar da otimizao, como a adio de
ndices.

Em geral, o otimizador de banco de dados determina a maneira mais eficiente de processar os dados da
origem. No entanto, possvel aprender sobre as tabelas de origem que o otimizador de banco de dados
no processa. O administrador de banco de dados pode criar dicas do otimizador para dizer ao banco de
dados como executar a consulta para um conjunto particular de tabelas de origem.

A consulta usada pelo Servio de Integrao para ler os dados exibida no log da sesso. Alm disso, voc
pode encontrar a consulta na transformao do Qualificador de Origem. Permita que o administrador do
banco de dados analise a consulta e, em seguida, crie ndices e dicas do otimizador para as tabelas de
origem.

Use as dicas de otimizao se houver um longo atraso entre o momento no qual a consulta comea a ser
executada e o momento no qual o PowerCenter recebe a primeira linha de dados. Configure as dicas do
otimizador para comear a retornar linhas o mais rpido possvel, ao invs de retornar todas de uma vez.
Isso permite que o Servio de Integrao processe as linhas paralelas com a execuo da consulta.

As consultas que contm as clusulas ORDER BY ou GROUP BY pode se beneficiar da criao de um


ndice nas colunas ORDER BY ou GROUP BY. Aps a otimizao da consulta, use a opo de substituio
SQL para aproveitar completamente estas modificaes.

Voc tambm pode configurar o banco de dados de origem para executar consultas paralelas para aprimorar
o desempenho. Para obter mais informaes sobre a configurao de consultas paralelas, consulte a
documentao do banco de dados.

14
Usando filtros condicionais
s vezes, um filtro de origem simples no banco de dados de origem pode influenciar de maneira negativa o
desempenho falta de ndices. Voc pode usar o filtro condicional do PowerCenter no Qualificador de Origem
para aprimorar o desempenho.

A utilizao do filtro condicional do PowerCenter para aprimorar o desempenho depender da sesso. Por
exemplo, se diversas sesses so lidas da mesma origem simultaneamente, o filtro condicional do
PowerCenter pode aprimorar o desempenho.

No entanto, algumas sesses podero ser executadas com mais rapidez se os dados de origem forem
filtrados no banco de dados de origem. Voc pode testar a sesso com o filtro do banco de dados e o filtro
do PowerCenter para determinar qual mtodo aprimora o desempenho.

Aumentando o tamanho do pacote de rede do banco


de dados
Se voc l das origens Oracle, Sybase ASE ou Microsoft SQL Servers, possvel aprimorar o desempenho
aumentando o tamanho do pacote de rede. Aumente o tamanho do pacote de rede para permitir que pacotes
maiores de dados cruzem a rede de uma vez. Aumente o tamanho do pacote de rede com base no banco de
dados lido do:

Oracle. Aumente o tamanho do pacote de rede do servidor de banco de dados no listener.ora e


tnsnames.ora. Consulte a documentao do banco de dados para obter mais informaes sobre o
aumento do tamanho do pacote, se necessrio.
Sybase ASE e Microsoft SQL Server. Consulte a documentao do banco de dados para obter
informaes sobre como aumentar o tamanho do pacote.
Para o Sybase ASE ou o Microsoft SQL Server, necessrio alterar o tamanho do pacote no objeto de
conexo relacional no Workflow Manager para refletir o tamanho do pacote do servidor de banco de dados.

Conectando-se s origens de banco de dados Oracle


Se estiver executando o Servio de Integrao em um nico n e a instncia Oracle for local para o n de
processo do Servio de Integrao, voc poder otimizar o desempenho usando o protocolo IPC para se
conectar ao banco de dados Oracle. possvel configurar a conexo de um banco de dados Oracle no
listener.ora e no tnsnames.ora.

Usando o Teradata FastExport


O FastExport um utilitrio que usa diversas sesses do Teradata para exportar, rapidamente, grandes
quantidades de dados de um banco de dados Teradata. possvel criar uma sesso do PowerCenter que
usa o FastExport para ler origens Teradata rapidamente. Para usar o FastExport, crie um mapeamento com
um banco de dados de origem Teradata. Na sesso, use o leitor FastExport em vez do leitor Relacional. Use
uma conexo FastExport com as tabelas Teradata que voc deseja exportar em uma sesso.

Usando filtros condicionais 15


Usando o tempdb para associar o Sybase ou as
tabelas do Microsoft SQL Server
Ao associar tabelas grandes em um banco de dados Sybase ou Microsoft SQL Server, possvel aprimorar
o desempenho criando o tempdb como um banco de dados na memria para alocar memria suficiente. Para
obter mais informaes, consulte a documentao do Sybase ou do Microsoft SQL Server.

16 Captulo 4: Otimizando a origem


CAPTULO 5

Otimizando mapeamentos
Este captulo inclui os seguintes tpicos:

Viso geral de Otimizando mapeamentos, 17


Otimizando origens de arquivos simples, 17
Configurando a leitura de passagem nica, 18
Otimizando mapeamentos de passagem, 19
Otimizando filtros, 19
Otimizando converses de tipos de dados, 19
Otimizando expresses, 20
Otimizando procedimentos externos, 22

Viso geral de Otimizando mapeamentos


A otimizao em nvel de mapeamento pode demorar para ser implementada, mas ela pode aprimorar
significativamente o desempenho da sesso. Enfatize a otimizao em nvel de mapeamento depois de
otimizar os destinos e origens.

Em geral, voc reduz o nmero de transformaes no mapeamento e exclui os links desnecessrios entre as
transformaes para otimizar o mapeamento. Configure o mapeamento de forma que o mnimo de
transformaes e expresses faa a maior quantidade de trabalho possvel. Exclua os links desnecessrios
entre as transformaes para minimizar a quantidade de dados movidos.

Otimizando origens de arquivos simples


Execute as seguintes etapas para otimizar as origens de arquivos simples:

Otimize o comprimento do buffer sequencial em linha.


Otimize as origens de arquivo simples delimitado.
Otimize origens de arquivos XML e simples.

Otimizando o comprimento do buffer sequencial em linha


Se a sesso for lida a partir de um arquivo de origem, voc poder melhorar o desempenho da sesso
configurando o nmero de bytes que o Servio de Integrao l por linha. Por padro, o Servio de

17
Integrao l 1024 bytes por linha. Se cada linha no arquivo de origem for menor do que a configurao
padro, ser possvel reduzir o comprimento de buffer sequencial nas propriedades da sesso.

Otimizando origens de arquivos simples delimitados


Se uma origem for um arquivo simples delimitado, necessrio especificar o caractere delimitador de
separao de colunas de dados no arquivo de origem. necessrio tambm especificar o caractere de
escape. O Servio de Integrao ler o caractere delimitador como um caractere normal se voc incluir o
caractere de escape antes do caractere delimitador. Voc pode aprimorar o desempenho da sesso se o
arquivo simples de origem no contiver aspas ou caracteres de escape.

Otimizando origens de arquivos XML e simples


Os arquivos XML so geralmente maiores que os arquivos simples devido s informaes de marca. O
tamanho do arquivo XML depender do nvel de marcao do arquivo XML. Quanto mais marcas, maior o
arquivo. Consequentemente, o Servio de Integrao pode levar mais tempo para ler e armazenar em cache
as origens XML.

Configurando a leitura de passagem nica


A leitura de passagem nica permite que voc preencha vrios destinos com um qualificador de origem.
Considere usar a leitura de passagem nica se muitas sesses utilizarem as mesmas origens. Voc pode
combinar a lgica de transformao de cada mapeamento em um mapeamento e usar um qualificador de
origem para cada origem. O Servio de Integrao ler cada origem e enviar os dados em pipelines
separados. Uma linha especfica pode ser usada por todos os pipelines, por qualquer combinao de
pipelines ou por nenhum pipeline.

Por exemplo, voc tem a tabela de origem Compras e usa essa origem diariamente para executar uma
agregao e uma classificao. Se voc inserir as transformaes de Agregador e de Classificao em
mapeamentos e sesses diferentes, voc forar o Servio de Integrao a ler a mesma tabela de origem
duas vezes. No entanto, se voc incluir a lgica de agregao e de classificao em um mapeamento com
um qualificador de origem, o Servio de Integrao ler a tabela de origem Compras uma vez e enviar os
dados adequados aos pipelines separados.

Quando voc altera mapeamentos para aproveitar a leitura de passagem nica, possvel otimizar esse
recurso fatorando as funes comuns dos mapeamentos. Por exemplo, se voc precisar subtrair uma
porcentagem das portas de Preo tanto para as transformaes de Agregador quanto de Classificao,
possvel minimizar o trabalho subtraindo a porcentagem antes de dividir o pipeline. Voc pode usar uma
transformao de Expresso para subtrair a porcentagem e dividir o mapeamento aps a transformao.

A figura a seguir mostra a leitura de passagem nica, onde o mapeamento dividido aps a transformao
de Expresso:

18 Captulo 5: Otimizando mapeamentos


Otimizando mapeamentos de passagem
Voc pode otimizar o desempenho dos mapeamentos de passagem. Para passar diretamente da origem
para o destino sem outras transformaes, conecte a transformao de Qualificador de Origem diretamente
ao destino. Se voc usar o Assistente do Guia Rpido para criar um mapeamento de passagem, o assistente
criar uma transformao de Expresso entre a transformao de Qualificador de Origem e o destino.

Otimizando filtros
Use uma das seguintes transformaes para filtrar dados:

Transformao Qualificador de Origem. As linhas de filtros da transformao de Qualificador de


Origem das origens relacionais.
Transformao de Filtro. A transformao de Filtro filtra os dados contidos no mapeamento. A
transformao de Filtro filtra linhas de qualquer tipo de origem.
Se voc filtrar as linhas do mapeamento, possvel aprimorar a eficincia filtrando o incio do fluxo de
dados. Use um filtro na transformao de Qualificador de Origem para remover as linhas na origem. A
transformao de Qualificador de Origem limita o conjunto de linhas extrado de uma origem relacional.

Se voc no puder usar um filtro na transformao de Qualificador de Origem, use uma transformao de
Filtro e mova-a o mais prximo possvel para a transformao de Qualificador de Origem para remover os
dados desnecessrios no incio do fluxo de dados. A transformao de Filtro limita o conjunto de linhas
enviado ao destino.

Evite usar expresses complexas em condies de filtro. Para otimizar as transformaes de Filtro, use um
inteiro simples ou expresses de verdadeiro/falso na condio do filtro.

Nota: Voc tambm pode usar uma transformao de Filtro ou Roteador para descartar linhas rejeitadas de
uma transformao de Estratgia de Atualizao caso no precise mant-las.

Otimizando converses de tipos de dados


Voc pode melhorar o desempenho eliminando converses de tipos de dados desnecessrias. Por exemplo,
se um mapeamento mover dados de uma coluna Inteiro para uma coluna Decimal e retornar para uma
coluna Inteiro, a converso de tipos de dados desnecessria reduzir o desempenho. Onde possvel, elimine
as converses de tipos de dados desnecessrias dos mapeamentos.

Use as seguintes converses de tipos de dados para melhorar o desempenho:

Use valores inteiros em vez de outros tipos de dados ao realizar comparaes usando as
transformaes de Pesquisa e de Filtro. Por exemplo, muitos bancos de dados armazenam
informaes de CEP dos EUA, como o tipo de dados Char ou Varchar. Se voc converter os dados de
CEP para um tipo de dados de Inteiro, o banco de dados de pesquisa armazenar o CEP 94303-1234
como 943031234. Isso ajudar a aumentar a velocidade das comparaes de pesquisa com base no
CEP.
Converta as datas de origem por meio de converses porta-a-porta para melhorar o desempenho
da sesso. Voc pode manter as portas em destinos como strings ou alter-las para portas de Data/
Hora.

Otimizando mapeamentos de passagem 19


Otimizando expresses
Voc tambm pode otimizar as expresses usadas nas transformaes. Quando possvel, isole expresses
lentas e simplifique-as.

Execute as seguintes tarefas para isolar as expresses lentas:

1. Remova as expresses uma a uma do mapeamento.


2. Execute o mapeamento para determinar o tempo que ele leva para executar o mapeamento se a
transformao.
Se houver uma diferena significativa no tempo de execuo da sesso, procure maneiras de otimizar a
expresso lenta.

Fatoramento de lgica comum


Se o mapeamento realizar a mesma tarefa em vrios locais, reduza o nmero de vezes que ele realiza a
tarefa movendo-a para um local anterior no mapeamento. Por exemplo, voc tem um mapeamento com
cinco tabelas de destino. Cada destino requer uma pesquisa de nmero de CPF. Em vez de realizar a
pesquisa cinco vezes, insira a transformao de Pesquisa no mapeamento antes das divises de fluxo de
dados. Em seguida, passe os resultados da pesquisa para todos os cinco destinos.

Minimizando chamadas de funo de agregao


Quando voc escrever expresses, fatore o mximo de chamadas de funo de agregao possvel. Cada
vez que voc usar uma chamada de funo de agregao, o Servio de Integrao precisar pesquisar e
agrupar os dados. Por exemplo, na expresso a seguir, o Servio de Integrao l COLUMN_A, localiza a
soma, l COLUMN_B, localiza a soma e, por fim, localiza a soma das duas somas:
SUM(COLUMN_A) + SUM(COLUMN_B)

Se voc fatorar a chamada de funo de agregao, conforme abaixo, o Servio de Integrao adicionar
COLUMN_A COLUMN_B e, em seguida, localizar a soma de ambos.
SUM(COLUMN_A + COLUMN_B)

Substituindo expresses comuns por variveis locais


Se voc usar a mesma expresso vrias vezes em uma transformao, possvel tornar essa expresso
uma varivel local. Voc pode usar variveis locais somente dentro da transformao. No entanto, se voc
calcular a varivel somente uma vez, o desempenho melhorar.

Escolhendo operaes numricas versus de string


O Servio de Integrao processa as operaes numricas mais rapidamente do que as operaes de string.
Por exemplo, se voc pesquisar grandes quantidades de dados em duas colunas, EMPLOYEE_NAME e
EMPLOYEE_ID, a configurao da pesquisa em EMPLOYEE_ID resultar no aumento do desempenho.

Otimizando comparaes Char-Char e Char-Varchar


Quando o Servio de Integrao executa comparaes entre as colunas CHAR e VARCHAR, ele fica mais
lento toda vez que encontra espaos em branco direita/esquerda na linha. Voc ode usar a opo
TreatCHARasCHARonRead quando configurar o Servio de Integrao no Console de Administrao para
que o Servio de Integrao no ajuste os espaos em branco direita/esquerda da extremidade dos
campos de origem Char.

20 Captulo 5: Otimizando mapeamentos


Escolhendo DECODE versus LOOKUP
Quando voc usa a funo LOOKUP, o Servio de Integrao precisa pesquisar uma tabela em um banco de
dados. Quando voc usa uma funo DECODE, voc incorpora os valores de pesquisa expresso para
que o Servio de Integrao no precise pesquisar outra tabela separada. Sendo assim, quando voc quiser
pesquisar um conjunto pequeno de valores permanentes inalterados, use DECODE para melhorar o
desempenho.

Usando operadores em vez de funes


O Servio de Integrao l expresses gravadas com operadores mais rapidamente que expresses com
funes. Onde possvel, use operadores para gravar expresses. Por exemplo, voc tem a seguinte funo
que contm funes CONCAT aninhadas:
CONCAT( CONCAT( CUSTOMERS.FIRST_NAME, ) CUSTOMERS.LAST_NAME)

Voc pode regravar essa expresso com o operador || desta forma:


CUSTOMERS.FIRST_NAME || || CUSTOMERS.LAST_NAME

Otimizando funes IIF


As funes IIF podem retornar um valor e uma ao, o que permite expresses mais compactas. Por
exemplo, voc tem uma origem com os sinalizadores S/N: FLG_A, FLG_B, FLG_C. Voc deseja retornar os
valores com base nos valores de cada sinalizador.

Use a seguinte expresso:


IIF( FLG_A = 'Y' and FLG_B = 'Y' AND FLG_C = 'Y',

VAL_A + VAL_B + VAL_C,

IIF( FLG_A = 'Y' and FLG_B = 'Y' AND FLG_C = 'N',

VAL_A + VAL_B ,

IIF( FLG_A = 'Y' and FLG_B = 'N' AND FLG_C = 'Y',

VAL_A + VAL_C,

IIF( FLG_A = 'Y' and FLG_B = 'N' AND FLG_C = 'N',

VAL_A ,

IIF( FLG_A = 'N' and FLG_B = 'Y' AND FLG_C = 'Y',

VAL_B + VAL_C,

IIF( FLG_A = 'N' and FLG_B = 'Y' AND FLG_C = 'N',

VAL_B ,

IIF( FLG_A = 'N' and FLG_B = 'N' AND FLG_C = 'Y',

VAL_C,

IIF( FLG_A = 'N' and FLG_B = 'N' AND FLG_C = 'N',

0.0,

))))))))

Essa expresso requer 8 IIFs, 16 ANDs e pelos menos 24 comparaes.

Otimizando expresses 21
Se voc aproveitar a funo IIF, possvel regravar a expresso como:
IIF(FLG_A='Y', VAL_A, 0.0)+ IIF(FLG_B='Y', VAL_B, 0.0)+ IIF(FLG_C='Y', VAL_C, 0.0)

Isso resultar em trs IIFs, duas comparaes, duas adies e uma sesso mais rpida.

Avaliando expresses
Se voc no tiver certeza quais expresses esto reduzindo o desempenho, avalie o desempenho da
expresso para isolar o problema.

Execute as seguintes etapas para avaliar o desempenho da expresso:

1. Cronograme a sesso com as expresses originais.


2. Copie o mapeamento e substitua metade das expresses complexas por uma constante.
3. Execute e cronograme a sesso editada.
4. Faa outra cpia do mapeamento e substitua a outra metade das expresses complexas por uma
constante.
5. Execute e cronograme a sesso editada.

Otimizando procedimentos externos


Convm bloquear os dados de entrada se o procedimento externo precisar alternar a leitura de grupos de
entrada. Sem a funcionalidade de bloqueio, voc precisaria gravar o cdigo do procedimento para
armazenar os dados de entrada no buffer. Voc pode bloquear os dados de entrada, em vez de armazen-
los no buffer, o que normalmente melhora o desempenho da sesso.

Por exemplo, voc precisa criar um procedimento externo com dois grupos de entrada. O procedimento
externo l uma linha do primeiro grupo de entrada e, em seguida, l uma linha do segundo grupo de entrada.
Se voc usar o bloqueio, ser possvel gravar o cdigo do procedimento externo para bloquear o fluxo de
dados de um grupo de entrada enquanto ele processa os dados do outro grupo de entrada. Quando voc
grava o cdigo do procedimento externo para bloquear dados, o desempenho melhora porque o
procedimento no precisa copiar os dados de origem em um buffer. No entanto, voc poderia gravar o
procedimento externo para alocar um buffer e copiar os dados de um grupo de entrada no buffer at que ele
esteja pronto para processar os dados. A cpia de dados de origem em um buffer prejudica o desempenho.

22 Captulo 5: Otimizando mapeamentos


CAPTULO 6

Otimizando transformaes
Este captulo inclui os seguintes tpicos:

Otimizando transformaes de Agregador, 23


Otimizando transformaes personalizadas, 24
Otimizando transformaes de unificador, 25
Otimizando transformaes de pesquisa, 25
Otimizando Transformaes de Normalizador, 29
Otimizando transformaes de Gerador de Sequncia, 29
Otimizando transformaes de classificador, 29
Otimizando transformaes de Qualificador de Origem, 31
Otimizando transformaes de SQL, 31
Otimizando Transformaes de XML, 31
Eliminando erros de transformao, 32

Otimizando transformaes de Agregador


As transformaes de Agregador sempre reduzem o desempenho porque elas precisam agrupar os dados
para process-los. As transformaes precisam de memria adicional para manter os resultados de grupos
intermedirios.

Use as diretrizes a seguir para otimizar o desempenho de uma transformao de Agregador:

Agrupe por colunas simples.


Use entradas classificadas.
Use agregao incremental.
Filtre os dados antes de agreg-los.
Limite as conexes de porta.

Agrupando por colunas simples


Voc pode otimizar as transformaes de Agregador quando agrupar por colunas simples. Quando possvel,
use nmero em vez de string e datas nas colunas usadas para GROUP BY. Evite expresses complexas nas
expresses de Agregador.

23
Usando entrada classificada
Para melhorar o desempenho da sesso, classifique os dados da transformao de Agregador. Use a opo
de Entrada Classificada para classificar dados.

A opo Entrada Classificada diminui o uso de caches agregados. Quando voc usa a opo Entrada
Classificada, o Servio de Integrao considera que todos os dados esto filtrados por grupo. Ao passo que
o Servio de Integrao l as linhas de um grupo, ele executa os clculos de agregao. Quando
necessrio, ele armazena as informaes do grupo na memria.

A opo Entrada Classificada reduz a quantidade de dados armazenados no cache durante a sesso e
melhora o desempenho. Use essa opo com a opo Nmero de Portas Classificadas do Qualificador de
Origem ou uma transformao Classificador para transferir os dados classificados para a transformao de
Agregador.

Voc pode melhorar o desempenho ao usar a opo Entrada Classificada em sesses com vrias parties.

Usando agregao incremental


Se voc puder capturar as alteraes da origem que afetem menos da metade do destino, ser possvel usar
a agregao incremental para otimizar o desempenho das transformaes de Agregador.

Quando voc usa a agregao incremental, voc aplica as alteraes capturadas na origem para agregar
clculos em uma sesso. O Servio de Integrao atualiza o destino incrementalmente em vez de processar
a origem inteira e fazer novamente os mesmos clculos todas as vezes que voc executar a sesso.

Voc pode aumentar o tamanho do cache do ndice e dos dados para armazenamento de todos os dados na
memria sem paginao no disco.

TPICOS RELACIONADOS:
Aumentando os tamanhos de cache na pgina 37

Filtrando dados antes de agregar


Filtre os dados antes de agreg-los. Se voc utilizar uma transformao de Filtro no mapeamento, insira-a
antes da transformao de Agregador, a fim de reduzir uma agregao desnecessria.

Limitando conexes de porta


Limite o nmero de portas de entrada/sada ou de sada conectadas para reduzir o volume de dados que a
transformao de Agregador armazena no cache de dados.

Otimizando transformaes personalizadas


O Servio de Integrao pode transferir uma nica linha ao procedimento de transformao personalizada ou
um bloco de linhas em uma matriz. Voc pode gravar o cdigo do procedimento de forma a especificar se o
procedimento receber uma linha ou um bloco de linhas.

24 Captulo 6: Otimizando transformaes


Voc pode melhorar o desempenho quando o procedimento receber blocos de linhas:

Voc pode diminuir o nmero de chamadas de funo feitas pelo Servio de Integrao e pelo
procedimento. O Servio de Integrao chama a funo de notificao de linha de entrada menos vezes
e o procedimento chama a funo de notificao de sada menos vezes tambm.
Voc pode aumentar a localidade do espao de acesso memria para os dados.
Voc pode gravar o cdigo do procedimento para executar algoritmos em blocos de dados, e no em
cada linha de dados.

Otimizando transformaes de unificador


As transformaes de unificador podem reduzir o desempenho porque elas precisam de espao adicional no
tempo de execuo para manter resultados intermedirios. Voc pode exibir as informaes de contador de
desempenho de Unificador para determinar se necessrio otimizar as transformaes de Unificador.

Use as dicas a seguir para aprimorar o desempenho da sesso com a transformao de Unificador:

Identifique a origem mestre como a origem com menos valores de chave duplicados. Quando o
Servio de Integrao processa uma transformao de Unificador classificada, ele armazena as linhas no
cache, cem chaves exclusivas por vez. Se a origem mestre contiver muitas linhas com o mesmo valor de
chave, o Servio de Integrao dever armazenar mais linhas no cache. Com isso, o desempenho ficar
mais lento.
Identifique a origem mestre como a origem com menos linhas. Durante a sesso, a transformao de
Unificador compara cada linha da origem de detalhes a origem mestre. Quanto menos linhas na origem
mestre, menor o nmero de iteraes da comparao das associaes que ocorrero. Isso acelera o
processo de associao.
Quando possvel, faa associaes em um banco de dados. mais rpido fazer uma associao em
um banco de dados do que na sesso. O tipo de associao de banco de dados usado pode afetar o
desempenho. As associaes normais so mais rpidas que as associaes externas e geram menos
linhas. Em alguns casos, no possvel fazer associaes no banco de dados, como unir tabelas de dois
bancos de dados diferentes ou de sistemas de arquivos simples.
Para realizar uma associao em um banco de dados, utilize as seguintes opes:
- Crie um procedimento armazenado de pr-sesso para unir as tabelas em um banco de dados.

- Use a transformao de Qualificador de Origem para fazer a associao.


Quando possvel, associe dados classificados. Para melhorar o desempenho da sesso, configure a
transformao de Unificador para usar a entrada classificada. Quando voc configura a transformao de
Unificador para utilizar dados classificados, o Servio de Integrao melhora o desempenho, minimizando
a entrada e a sada de disco. Voc percebe um melhor aprimoramento do desempenho quando trabalha
com grandes conjuntos de dados. No caso de uma transformao de Unificao no classificada, indique
a origem com um nmero menor de linhas que a origem mestre.

Otimizando transformaes de pesquisa


Se a tabela de consulta estiver no mesmo banco de dados que a tabela de origem no seu mapeamento e o
cache no for vivel, una as tabelas no banco de dados de origem em vez de usar uma transformao
Pesquisa.

Otimizando transformaes de unificador 25


Se voc usar uma transformao de Pesquisa, execute as seguintes tarefas para melhorar o desempenho:

Use o driver de banco de dados ideal.


Armazene as tabelas de pesquisa no cache.
Otimize a condio de pesquisa.
Filtre as linhas de pesquisa.
Indexe a tabela de pesquisa.
Otimize vrias pesquisas.
Crie uma transformao de Pesquisa de pipeline e configure parties no pipeline que criem a origem de
pesquisa.

Usando drivers de banco de dados ideais


O Servio de Integrao consegue se conectar a uma tabela de pesquisa com um driver de banco de dados
original ou um driver ODBC. Os drivers de banco de dados originais oferecem um melhor desempenho de
sesso que os drivers ODBC.

Armazenando tabelas de pesquisa em cache


Se um mapeamento contiver transformaes de Pesquisa, convm habilitar o armazenamento em cache da
pesquisa. Quando voc habilita o armazenamento em cache, o Servio de Integrao armazena em cache a
tabela de pesquisa e consulta o cache de pesquisa durante a sesso. Quando a opo no habilitada, o
Servio de Integrao consulta a tabela de pesquisa linha por linha.

O resultado do processamento e da consulta de Pesquisa o mesmo, independentemente se voc


armazenar a tabela de pesquisa no cache ou no. No entanto, o uso de um cache de pesquisa pode
aumentar o desempenho da sesso em tabelas de pesquisa menores. Em geral, convm armazenar em
cache as tabelas de pesquisa que precisam de menos de 300 MB.

Execute as seguintes tarefas para melhorar ainda mais o desempenho das transformaes de Pesquisa:

Use o tipo de cache adequado.


Habilite caches simultneos.
Otimize a correspondncia de condio de pesquisa.
Reduza o nmero de linhas armazenadas em cache.
Substitua a instruo ORDER BY.
Use uma mquina com mais memria.

TPICOS RELACIONADOS:
Caches na pgina 36

Tipos de caches
Use os seguintes tipos de caches para melhorar o desempenho:

Cache compartilhado. Voc pode compartilhar o cache de pesquisa entre vrias transformaes. Voc
pode compartilhar um cache no nomeado entre transformaes no mesmo mapeamento. Voc pode
compartilhar um cache nomeado entre transformaes no mesmo mapeamento ou em mapeamentos
diferentes.

26 Captulo 6: Otimizando transformaes


Cache persistente. Para salvar e reutilizar os arquivos de cache, configure a transformao para usar
um cache persistente. Use esse recurso quando souber que a tabela de pesquisa no se altera entre as
execues de sesso. O uso de um cache persistente melhora o desempenho porque o Servio de
Integrao cria o cache de memria a partir dos arquivos de cache, e no a partir do banco de dados.

Habilitando caches simultneos


Quando o Servio de Integrao processa sesses que contm transformaes de pesquisa, o Servio de
Integrao cria um cache na memria ao processar a primeira linha de dados em uma transformao de
pesquisa armazenada em cache. Se houver vrias transformaes de Pesquisa no mapeamento, o Servio
de Integrao criar os caches sequencialmente quando a primeira linha de dados for processada pela
transformao de Pesquisa. Isso deixar o processamento de transformao de Pesquisa mais lento.

Voc pode habilitar caches simultneos para melhorar o desempenho. Quando o nmero de pipelines
simultneos adicionais definido como um ou mais, o Servio de Integrao cria caches simultaneamente, e
no sequencialmente. O desempenho melhora significativamente quando as sesses contm um nmero de
transformaes ativas que podem demorar para ser concludas, como transformaes de Agregador,
Unificador ou Classificador. Quando voc habilita vrios pipelines simultneos, o Servio de Integrao no
aguarda mais as sesses ativas serem concludas para criar o cache. Outras transformaes de Pesquisa
no pipeline tambm criam caches simultaneamente.

Otimizando a correspondncia de condio de pesquisa


Quando a transformao de Pesquisa corresponde aos dados de cache de pesquisa com a condio de
pesquisa, ela classifica e organiza os dados para determinar o primeiro e o ;ultimo valor de correspondncia.
possvel configurar a transformao para retornar todos os valores que correspondam condio da
pesquisa. Ao configurar a transformao de Pesquisa para retornar qualquer valor de correspondncia, a
transformao retorna o primeiro valor que combine com a condio de pesquisa. Ele no indexa todas as
portas como faz quando voc configura a transformao para retornar o primeiro ou o ltimo valor de
correspondncia. Quando voc usa um valor de correspondncia, o desempenho pode ser melhorado
porque a transformao no indexada em todas as portas, o que pode reduzir o desempenho.

Reduzindo o nmero de linhas armazenadas em cache


Voc pode reduzir o tamanho de linhas includas no cache para melhorar o desempenho. Use a opo
Substituio SQL de Pesquisa para adicionar uma clusula WHERE instruo padro SQL.

Substituindo a instruo ORDER BY


Por padro, o Servio de Integrao gera uma instruo ORDER BY para pesquisas armazenadas em
cache. A instruo ORDER BY contm todas as portas de pesquisa. Para aumentar o desempenho, remova
a instruo padro ORDER BY e insira uma ORDER BY de substituio com menos colunas.

O Servio de Integrao sempre gera uma instruo ORDER BY, mesmo se voc inserir outra na
substituio. Coloque dois hfens '--' depois da substituio ORDER BY para remover a instruo ORDER
BY gerada.

Por exemplo, uma transformao de Pesquisa usa a seguinte condio:


ITEM_ID = IN_ITEM_ID
PRICE <= IN_PRICE

A transformao de Pesquisa inclui trs portas de pesquisa usadas no mapeamento, ITEM_ID, ITEM_NAME
e PRICE. Quando voc inserir a instruo ORDER BY, insira as colunas na mesma ordem que as portas na
condio de pesquisa. Voc tambm deve incluir todas as palavras reservadas do banco de dados entre
aspas.

Otimizando transformaes de pesquisa 27


Insira a seguinte consulta de pesquisa na substituio SQL da pesquisa:
SELECT ITEMS_DIM.ITEM_NAME, ITEMS_DIM.PRICE, ITEMS_DIM.ITEM_ID FROM ITEMS_DIM ORDER BY
ITEMS_DIM.ITEM_ID, ITEMS_DIM.PRICE --

Usando uma mquina com mais memria


Para melhorar o desempenho da sesso, execute a sesso em um n do Servio de Integrao com uma
grande quantidade de memria. Aumente o tamanho do cache de ndice e de dados para o mximo sem
sobrecarregar a mquina. Se o n do Servio de Integrao tiver memria suficiente, aumente o cache para
que ele possa manter todos os dados na memria sem paginao do disco.

Otimizando a condio de pesquisa


Se voc incluir mais de uma condio de pesquisa, coloque-as na seguinte ordem para otimizar o
desempenho de pesquisa:

Igual a (=)
Menor que (<), maior que (>), menor ou igual a (<=), maior ou igual a (>=)
Diferente de (!=)

Filtrando linhas de pesquisa


Crie uma condio de filtro para reduzir o nmero de linhas de pesquisa recuperadas da origem quando o
cache de pesquisa for criado.

Indexao da tabela de pesquisa


O Servio de Integrao precisa consultar, classificar e comparar valores nas colunas de condio de
pesquisa. O ndice precisa incluir todas as colunas usadas em uma condio de pesquisa.

possvel melhorar o desempenho para os seguintes tipos de pesquisas:

Pesquisas armazenadas em cache. Para melhorar o desempenho, indexe as colunas na instruo


ORDER BY de pesquisa. O log da sesso contm a instruo ORDER BY.
Pesquisas no armazenadas em cache. Para melhorar o desempenho, indexe as colunas na condio
de pesquisa. O Servio de Integrao emite uma instruo SELECT para cada linha que passa pela
transformao de Pesquisa.

Otimizando vrias pesquisas


Se um mapeamento contiver vrias pesquisas, mesmo com o armazenamento em cache habilitado e com
memria de heap suficiente, as pesquisas podem reduzir o desempenho. Ajuste as transformaes de
Pesquisa que pesquisam os maiores valores de dados para melhorar o desempenho geral.

Para determinar que transformaes de Pesquisa processam a maior quantidade de dados, examine os
contadores Lookup_rowsinlookupcache de cada transformao de Pesquisa. As transformaes de Pesquisa
que tm um nmero maior no contador podem se beneficiar do ajuste das expresses de pesquisa. Se as
expresses forem otimizadas, o desempenho da sesso ser melhorado.

28 Captulo 6: Otimizando transformaes


TPICOS RELACIONADOS:
Otimizando expresses na pgina 20

Criando uma transformao pesquisa de pipeline


Um mapeamento que contm a transformao de Pesquisa de pipeline inclui um pipeline parcial que contm
a origem da pesquisa e um qualificador da origem. O Servio de Integrao processa os dados de origem de
pesquisa no pipeline. Ele transfere os dados de origem de pesquisa para o pipeline que contm a
transformao de Pesquisa e cria o cache.

O pipeline parcial est em um grupo de classificao para carregamento de destino separado nas
propriedades da sesso. Voc pode configurar diversas parties no pipeline para melhorar o desempenho.

Otimizando Transformaes de Normalizador


As transformaes de Normalizador geram linhas. Para otimizar o desempenho, coloque a transformao do
Normalizador o mais prximo possvel do destino.

Otimizando transformaes de Gerador de


Sequncia
Para otimizar as transformaes de Gerador de Sequncia, crie um Gerador de Sequncia reutilizvel e use-
o em vrios mapeamentos simultaneamente. Alm disso, configure a propriedade Nmero de Valores em
Cache.

A propriedade Nmero de Valores em Cache determina o nmero de valores que o Servio de Integrao
armazena em cache de uma vez. Certifique-se de que o Nmero de Valores em Cache no seja muito
pequeno. Considere configurar o Nmero de Valores em Cache com um valor superior a 1.000.

Se voc no tiver valores armazenados em cache, configure o Nmero de Valores em Cache como 0. As
transformaes de Gerador de Sequncia que no usam cache so mais rpidas que as que o exigem.

Quando voc conectar a porta CURRVAL em uma transformao de Gerador de Sequncia, o Servio de
Integrao processar uma linha em cada bloco. possvel otimizar o desempenho conectando apenas a
porta NEXTVAL em um mapeamento.

TPICOS RELACIONADOS:
Otimizando transformaes de Gerador de Sequncia na pgina 46

Otimizando transformaes de classificador


Execute as seguintes etapas para otimizar uma transformao de Classificador:

Aloque memria suficiente para classificar os dados.

Otimizando Transformaes de Normalizador 29


Especifique um diretrio de trabalho diferente para cada partio na transformao de Classificador.
Executar o Servio de Integrao do PowerCenter no modo ASCII.

Alocando memria
Para obter o desempenho ideal, configure o tamanho do cache do Classificador com um valor menor ou
igual rea da RAM fsica disponvel no n do Servio de Integrao. Aloque, pelo menos, 16 MB de
memria fsica para classificar dados usando a transformao de Classificador. Por padro, o tamanho do
cache do Classificador est definido como 16.777.216 bytes. Se o Servio de Integrao no puder alocar
memria suficiente para a classificao de dados, a sesso falhar.

Se o volume de dados de entrada for maior que o tamanho do cache do Classificador, o Servio de
Integrao armazenar temporariamente os dados no diretrio de trabalho da transformao de
Classificador. Ao armazenar dados no diretrio de trabalho, o Servio de Integrao requer que o espao em
disco seja pelo menos duas vezes maior que o volume dos dados de entrada. Se o volume de dados de
entrada for muito maior que o tamanho do cache do Classificador, pode ser que o Servio de Integrao
precise de bem mais que o dobro de espao em disco disponvel para o diretrio de trabalho.

Nota: O log da sesso contm a contagem de linhas de entrada e o tamanho dos dados de entrada para a
transformao de Classificador.

Por exemplo, a seguinte mensagem exibida quando o Servio de Integrao processa a transformao de
Classificador:

SORT_40422 Final da sada da Transformao de Classificador [srt_1_Billion_FF]. 999999999


linhas foram processadas (866325637228 bytes de entrada; 868929593344 bytes de E/S
temporrios)

Na mensagem, o nmero de linhas de entrada 999999999 e o tamanho das linhas de entrada


866325637228.

Diretrios de trabalho para parties


O Servio de Integrao cria arquivos temporrios quando classifica dados. Ele os armazena em um
diretrio de trabalho. Voc pode especificar qualquer diretrio no n do Servio de Integrao como diretrio
de trabalho. Por padro, o Servio de Integrao usa o valor especificado para a varivel de processo de
servio $PMTempDir.

Ao particionar uma sesso com a transformao de Classificador, voc pode especificar um diretrio de
trabalho diferente para cada partio no pipeline. Para melhorar o desempenho da sesso, especifique
diretrios de trabalho em discos fisicamente separados nos ns do Servio de Integrao.

Modo Unicode
Para otimizar uma transformao de Classificador, execute o Servio de Integrao do PowerCenter no
modo ASCII. Se o Servio de Integrao do PowerCenter for executado no modo Unicode, a transformao
de Classificador despejar dados adicionais para o disco.

30 Captulo 6: Otimizando transformaes


Otimizando transformaes de Qualificador de
Origem
Use a opo Selecionar Distintos para a transformao de Qualificador de Origem se desejar que o Servio
de Integrao selecione valores exclusivos de uma origem. Use a opo Selecionar Distintos para filtrar
dados desnecessrios no incio do fluxo de dados. Isso pode melhorar o desempenho.

Otimizando transformaes de SQL


Quando voc cria uma transformao de SQL, voc configura a transformao para usar consultas SQL
externas ou consultas definidas por voc na transformao. Quando voc configura uma transformao de
SQL para executar em modo de script, o Servio de Integrao processa um script SQL externo para cada
linha de entrada. Quando a transformao executa no modo de consulta, o Servio de Integrao processa
uma consulta SQL definida por voc na transformao.

Cada vez que o Servio de Integrao processa uma nova consulta em uma sesso, ele chama uma funo
chamada SQLPrepare para criar um procedimento SQL e transferi-lo ao banco de dados. Quando a consulta
alterada para cada linha de entrada, h impacto no desempenho.

Quando a transformao for executada no modo de consulta, construa uma consulta esttica na
transformao para melhorar o desempenho. Instrues de consulta esttica no so alteradas, embora os
dados na clusula de consulta sejam. Para criar uma consulta esttica, use a vinculao de parmetros no
lugar da substituio de string no Editor SQL. Quando voc usa a vinculao de parmetros, voc define
parmetros na clusula de consulta para calores nas portas de entrada de transformao.

Quando uma consulta SQL contm instrues de consulta de confirmao e de reverso, o Servio de
Integrao precisa recriar o procedimento SQL depois de cada confirmao ou reverso. Para melhorar o
desempenho, no use instrues de transao em consultas de transformao de SQL.

Quando voc cria a transformao de SQL, voc configura como a transformao se conecta ao banco de
dados. possvel escolher uma conexo esttica ou transferir informaes de conexo para a
transformao em tempo de execuo.

Quando voc configura a transformao para usar uma conexo esttica, voc escolhe uma conexo entre
as conexes do Workflow Manager. A transformao de SQL conecta-se uma vez ao banco de dados
durante a sesso. Quando voc transfere informaes de conexo dinmica, a transformao de SQL
conecta-se ao banco de dados todas as vezes que a transformao processa uma linha de entrada.

Otimizando Transformaes de XML


Voc pode remover grupos no projetadas em uma transformao de Analisador de XML e de uma definio
de origem XML. Voc no precisar alocar memria para esses grupos no projetados, mas precisar
manter as restries de chave primria-chave estrangeira.

Otimizando transformaes de Qualificador de Origem 31


Eliminando erros de transformao
Em grande nmero, os erros de transformao reduzem o desempenho do Servio de Integrao. A cada
erro de transformao o Servio de Integrao interrompido para determinar a causa do erro e para
remover do fluxo de dados a linha causadora do erro. Em seguida, o Servio de Integrao geralmente grava
a linha no arquivo de log da sesso.

Os erros de transformao ocorrem quando o Servio de Integrao encontra erros de converso, lgica de
mapeamento conflitante e qualquer condio configurada como um erro, como uma entrada invlida.
Consulte o log da sesso para verificar onde h erros de transformao. Se os erros se concentram em
transformaes especficas, avalie as restries dessas transformaes.

Se voc no definir o limite de erro, o Servio de Integrao continuar a processar linhas de erro e,
portanto, aumentar o tempo de execuo da sesso. Para otimizar o desempenho, defina o limite de erro
para interromper a sesso depois de um determinado nmero de erros de linha.

Se precisar executar uma sesso que gere um alto nmero de erros de transformao, possvel melhorar o
desempenho configurando um nvel de rastreamento inferior. No entanto, essa no uma soluo
recomendada a longo prazo para erros de transformao.

TPICOS RELACIONADOS:
Rastreamento de erros na pgina 38

32 Captulo 6: Otimizando transformaes


CAPTULO 7

Otimizando sesses
Este captulo inclui os seguintes tpicos:

Grade, 33
Otimizao de empilhamento, 34
Sesses e fluxos de trabalho simultneos, 34
Memria de buffer, 34
Caches, 36
Confirmao baseada no destino, 37
Processamento em tempo real, 38
reas de preparao, 38
Arquivos de log, 38
Rastreamento de erros, 38
Emails ps-sesso, 39

Grade
Voc pode usar uma grade para melhorar o desempenho da sesso e do fluxo de dados. Uma grade uma
alias atribudo a um grupo de ns que permite que voc automatize a distribuio de fluxos de trabalho e
sesses pelos ns.

Um Balanceador de Carga distribui as tarefas para os ns sem sobrecarregar nenhum deles.

Quando voc usa uma grade, o Servio de Integrao distribui as tarefas do fluxo de trabalho e os
segmentos da sesso por vrios ns. Um Balanceador de Carga distribui as tarefas para os ns sem
sobrecarregar nenhum deles. A execuo de fluxos de trabalho e sesses nos ns de uma grade oferece os
seguintes benefcios de desempenho:

Equilibra a carga de trabalho do Servio de Integrao.


Processa as sesses mais rapidamente.
Processa parties mais rapidamente.
O Servio de Integrao exige recursos da CPU para a anlise de dados de entrada e formatao de dados
de sada. Uma grade poder melhorar o desempenho quando voc tiver um afunilamento de desempenho
nas etapas de extrao e carregamento de uma sesso.

A grade pode melhorar o desempenho quando a memria ou o armazenamento temporrio consistir em um


afunilamento de desempenho. Quando um mapeamento do PowerCenter contiver uma transformao com

33
memria armazenada em cache, a implantao de uma memria adequada e de um armazenamento em
disco separado para cada instncia de cache resultar no aumento do desempenho.

Executar uma sesso em uma grade pode melhorar a taxa de transferncia de dados porque a grade
oferece mais recursos para executar a sesso. O desempenho melhora quando voc executa algumas
sesses na grade em momentos especficos. Executar uma sesso em uma grade ser mais eficiente que
executar um fluxo de trabalho em uma grade se o nmero de parties de sesso simultnea for inferior ao
nmero de ns.

Quando voc executa vrias sesses em uma grade, as subtarefas da sesso compartilham os recursos de
n com as subtarefas de outras sesses simultneas. Executar uma sesso em uma grade exige a
coordenao entre os processos que esto sendo executados em ns diferentes. Em alguns mapeamentos,
a execuo de uma sesso em uma grade requer uma sobrecarga adicional para mover os dados de um n
para outro. Alm de carregar os recursos de memria e de CPU em cada n, a execuo de vrias sesses
em uma grade aumenta o trfego da rede.

Quando voc executa um fluxo de trabalho em uma grade, o Servio de Integrao carrega os recursos de
memria e de CPU nos ns sem exigir a coordenao entre os ns.

TPICOS RELACIONADOS:
Otimizando implantaes de grade na pgina 40

Otimizao de empilhamento
Para melhorar o desempenho da sesso, transfira a lgica de transformao para o banco de dados de
origem ou de destino. Baseado na configurao de mapeamento e de sesso, o Servio de Integrao
executa o SQL em relao ao banco de dados de origem ou de destino em vez de processar a lgica de
transformao contida no Servio de Integrao.

Sesses e fluxos de trabalho simultneos


Se possvel, execute sesses e fluxos de trabalho simultaneamente para melhorar o desempenho. Por
exemplo, se voc carregar dados em um esquema analtico, onde voc tem tabelas de dimenses e fatos,
carregue as dimenses simultaneamente.

Memria de buffer
Quando o Servio de Integrao inicializa uma sesso, ele aloca blocos de memria para manter os dados
de origem e de destino. O Servio de Integrao aloca pelo menos dois blocos para cada partio de origem
e de destino. As sesses que usam um grande nmero de origens e de destinos podem exigir blocos
adicionais de memria. Se o Servio de Integrao no puder alocar blocos de memria suficientes para
manter os dados, a sesso falhar.

Voc pode configurar a quantidade de memria de buffer ou pode configurar o Servio de Integrao para
calcular as configuraes de buffer em tempo de execuo.

34 Captulo 7: Otimizando sesses


Para aumentar o nmero de blocos de memria disponveis, ajuste as seguintes propriedades de sesso:

Tamanho do Buffer DTM. Aumente o tamanho do buffer DTM na guia Propriedades das propriedades da
sesso.
Tamanho Padro do Bloco de Buffer. Reduza o tamanho do bloco de buffer na guia Configurao do
Objeto nas propriedades da sesso.

Nota: Se o particionamento de dados estiver ativado, o tamanho de buffer do DTM ser o tamanho total de
todos os pools de buffer de memria alocados para todas as parties. Em sesses que contm n parties,
defina o Tamanho de Buffer do DTM para pelos menos n vezes o valor da sesso com uma partio.

Aumentando o tamanho do buffer DTM


A configurao do Tamanho de Buffer do DTM especifica a quantidade de memria que o Servio de
Integrao usa como memria de buffer do DTM. Quando voc aumenta a memria de buffer DTM, o
Servio de Integrao cria mais blocos de buffer, o que melhora o desempenho durante perodos de lentido
momentneos.

O aumento da alocao de memria do buffer DTM geralmente faz com que o desempenho melhore
inicialmente e depois se estabilize. Se voc no perceber uma melhora significativa no desempenho, a
alocao de memria de buffer do DTM no ser um determinante do desempenho da sesso.

Para aumentar o tamanho do buffer DTM, abra as propriedades da sesso e clique na guia Propriedades.
Edite a propriedade Tamanho de Buffer do DTM nas configuraes de Desempenho. Aumente a propriedade
Tamanho de buffer DTM em mltiplos do tamanho do bloco de buffer.

Otimizando o tamanho do bloco de buffer


Se a mquina tiver uma memria fsica limitada e o mapeamento na sesso contiver um grande nmero de
origens, destinos ou parties, poder ser necessrio reduzir o tamanho do bloco de buffer.

Se estiver manipulando um nmero excepcionalmente alto de linhas de dados, aumente o tamanho do bloco
de buffer para melhorar o desempenho. Se voc no souber o tamanho aproximado das linhas, determine o
tamanho da linha executando as etapas a seguir.

Para avaliar o tamanho do bloco de buffer necessrio:

1. No Mapping Designer, abra o mapeamento referente sesso.


2. Abra a instncia de destino.
3. Clique na guia Portas.
4. Adicione a preciso para todas as colunas do destino.
5. Se voc tem mais de um destino no mapeamento, repita as etapas 2 a 4 em cada destino adicional para
calcular a preciso de cada destino.
6. Repita as etapas 2 a 5 em cada definio de origem do mapeamento.
7. Escolha a maior preciso de todas as precises de origem e de destino como a preciso total no clculo
do tamanho do bloco de buffer.
A preciso total representa os bytes totais necessrios para mover a maior linha de dados. Por exemplo, se
a preciso total for igual a 33.000, o Servio de Integrao exigir 33.000 bytes no bloco de buffer para
mover essa linha. Se o tamanho do bloco de buffer for somente 64.000 bytes, o Servio de Integrao no
poder mover mais de uma linha por vez.

Para definir o tamanho do bloco de buffer, abra as propriedades da sesso e clique na guia Configurao do
Objeto. Edite a propriedade Tamanho Padro do Bloco de Buffer nas configuraes Avanadas.

Memria de buffer 35
Da mesma forma que a alocao de memria de buffer DTM, o aumento do tamanho do bloco de buffer
dever melhorar o desempenho. Se voc no perceber um aumento, o tamanho do bloco de buffer no um
determinante do desempenho da sesso.

Caches
O Servio de Integrao usa caches de ndice e de dados para os destinos XML e para as transformaes
de Agregador, Classificao, Pesquisa e Unificador. O Servio de Integrao armazena os dados
transformados no cache de dados antes de retorn-los ao pipeline. Ele armazena as informaes do grupo
no cache de ndice. Alm disso, o Servio de Integrao usa um cache para armazenar os dados para
transformaes de Classificador.

Para configurar a quantidade de memria em cache, use o calculador de cache ou especifique o tamanho do
cache. Voc tambm pode configurar o Servio de Integrao para calcular as configuraes da memria de
cache em tempo de execuo.

Se o cache alocado no for grande o suficiente para armazenar os dados, o Servio de Integrao
armazenar os dados em um arquivo de disco temporrio, um arquivo de cache, pois ele processa os dados
da sesso. O desempenho fica mais lento todas as vezes que o Servio de Integrao realizar a paginao
em um arquivo temporrio. Examine os contadores de desempenho para determinar a frequncia na qual o
Servio de Integrao realiza a paginao em um arquivo.

Execute as seguintes tarefas para otimizar caches:

Limite o nmero de portas conectadas de entrada/sada e somente sada.


Selecione a localizao ideal do diretrio de cache.
Aumente os tamanhos de cache.
Use a verso de 64 bits do PowerCenter para executar sesses de cache grande.

Limitando o nmero de portas conectadas


Em transformaes que usam cache de dados, limite o nmero de portas conectadas de entrada/sada e
somente sada. Limitar o nmero de portas de entrada/sada ou de sada conectadas reduz o volume de
dados que as transformaes armazenam no cache de dados.

Localizao do diretrio de cache


Se voc executar o Servio de Integrao em uma grade e apenas alguns ns desse servio tiverem acesso
rpido ao diretrio do arquivo de cache compartilhado, configure as sesses com cache grande para serem
executadas nos ns com acesso rpido ao diretrio. Para configurar uma sesso para ser executada em um
n com acesso rpido ao diretrio, execute as seguintes etapas:

1. Crie um recurso do PowerCenter.


2. Disponibilize o recurso para os ns com acesso rpido ao diretrio.
3. Atribua o recurso sesso.
Se todos os processos do Servio de Integrao de uma grade tiverem acesso lento aos arquivos de cache,
configure um diretrio de arquivo de cache local separado para cada processo do Servio de Integrao. Um
processo do Servio de Integrao poder ter acesso mais rpido aos arquivos de cache se for executado
na mesma mquina que contm o diretrio de cache.

36 Captulo 7: Otimizando sesses


Nota: Pode ocorrer reduo do desempenho quando voc armazenar em cache grandes quantidades de
dados em uma unidade mapeada ou montada.

Aumentando os tamanhos de cache


O tamanho do cache configurado para especificar a quantidade de memria alocada para processar uma
transformao. A quantidade de memria configurada depende da quantidade de cache de memria e cache
de disco que voc deseja usar. Se voc configurar o tamanho do cache e ele no for suficiente para
processar a transformao na memria, o Servio de Integrao processar parte da transformao na
memria e paginar informaes a arquivos de cache para processar o resto da transformao. Cada vez
que o Servio de Integrao realiza a paginao de um arquivo de cache, o desempenho reduzido.

Voc pode examinar os detalhes de desempenho de uma sesso para determinar quando o Servio de
Integrao realizar a paginao para um arquivo de cache. Os contadores Transformation_readfromdisk ou
Transformation_writetodisk de qualquer transformao de Agregador, Classificao ou Unificador indicam o
nmero de vezes que o Servio de Integrao realiza paginao no disco para processar a transformao.

Se a sesso contiver uma transformao que use um cache e voc executar a sesso em uma mquina com
memria suficiente, aumente os tamanhos de cache para processar a transformao na memria.

Usando a verso de 64 bits do PowerCenter


Se voc processar grandes volumes de dados ou executar transformaes com uso intenso da memria,
voc poder usar a verso de 64 bits do PowerCenter para melhorar o desempenho da sesso. A verso de
64 bits oferece um espao com mais memria que pode reduzir significativamente ou eliminar a entrada/
sada do disco.

Isso pode melhorar o desempenho da sesso nas seguintes reas:

Armazenamento em cache. Com uma plataforma de 64 bits, o Servio de Integrao no fica limitado
ao limite de cache de 2 GB de uma plataforma de 32 bits.
Taxa de transferncia de dados. Com um espao maior de memria disponvel, o leitor, o gravador e os
segmentos DTM podem processar blocos de dados maiores.

Confirmao baseada no destino


A configurao de intervalo de confirmao determina o ponto em que o Servio de Integrao confirma os
dados para os destinos. Cada vez que o Servio de Integrao confirma, o desempenho reduzido.
Portanto, quanto menor o intervalo de confirmao, maior a frequncia em que o Servio de Integrao
gravar no banco de dados de destino e mais lento ficar o desempenho geral.

Se voc aumentar o intervalo de confirmao, o nmero de vezes em que o Servio de Integrao


confirmar ser reduzido e o desempenho ficar melhor.

Quando voc aumentar o intervalo de confirmao, considere os limites de arquivos de log no banco de
dados de destino. Se o intervalo de confirmao for muito alto, o Servio de Integrao poder preencher o
arquivo de log do banco de dados e gerar uma falha na sesso.

Portanto, pondere sobre o benefcio do aumento do intervalo de confirmao em relao ao tempo adicional
que voc levaria para recuperar-se de uma sesso com falha.

Clique nas configuraes de Opes Gerais nas propriedades da sesso para verificar e ajustar o intervalo
de confirmao.

Confirmao baseada no destino 37


Processamento em tempo real

Latncia de liberao
A latncia de liberao determina com que frequncia o Servio de Integrao libera os dados em tempo
real da origem. Quanto mais baixo for definido o intervalo de latncia de liberao, maior ser a frequncia
com que o Servio de Integrao confirmar as mensagens para o destino. Cada vez que o Servio de
Integrao confirmar mensagens para o destino, a sesso consumir mais recursos e a taxa de transferncia
ser interrompida.

Aumente a latncia de liberao para melhorar a taxa de transferncia. A taxa de transferncia aumenta
quando voc aumenta a latncia de liberao at um certo limite dependendo do hardware e dos recursos
disponveis.

Confirmaes baseadas na origem


O intervalo de confirmao baseado na origem determina a frequncia em que o Servio de Integrao
confirmar dados em tempo real para o destino. Para obter uma latncia mais rpida, defina a confirmao
baseada na origem como 1.

reas de preparao
Quando voc usa uma rea de preparao, o Servio de Integrao executa vrias transferncias nos
dados. Quando possvel, remova as reas de preparao para melhorar o desempenho. O Servio de
Integrao ode ler vrias origens com uma nica transferncia, o que pode aliviar a necessidade de reas de
preparao.

TPICOS RELACIONADOS:
Configurando a leitura de passagem nica na pgina 18

Arquivos de log
O fluxos de trabalho so executados mais rapidamente quando voc no os configura para arquivos de
sesso de gravao e de log de fluxo de trabalho. Os fluxos de trabalho e sesses sempre criam logs
binrios. Quando voc configura uma sesso ou fluxo de trabalho para a gravao de um arquivo de log, o
Servio de Integrao grava os eventos de log duas vezes. Voc pode acessar a sesso de logs binrios e
os logs de fluxo de trabalho no Console de Administrao.

Rastreamento de erros
Para melhorar o desempenho, reduza o nmero de eventos de log gerados pelo Servio de Integrao
quando ele executar a sesso. Se uma sesso contiver um grande nmero de erros de transformao e voc

38 Captulo 7: Otimizando sesses


no precisar corrigi-los, defina o nvel de rastreamento como Conciso. Nesse nvel de rastreamento, o
Servio de Integrao no grava mensagens de erro ou informaes em nvel de linha referentes a dados
rejeitados.

Se precisar depurar o mapeamento e tiver definido o nvel de rastreamento como Detalhado, pode haver um
impacto negativo significativo no desempenho quando voc executar a sesso. No use o rastreamento
Detalhado ao ajustar o desempenho.

O nvel de rastreamento de rastreamento da sesso substituir qualquer outro nvel de rastreamento


especficos da transformao contido no mapeamento. Isso no recomendado como uma soluo a longo
prazo para altos nveis de erros de transformao.

Emails ps-sesso
Quando voc anexar o log da sesso a um email ps-sesso, habilite o registro em log de arquivo simples.
Se voc habilitar o registro em log de arquivo simples, o Servio de Integrao obter o arquivo de log da
sesso por meio do disco. Se voc no habilitar o registro em log de arquivo simples, o Servio de
Integrao obter os eventos de log por meio do Log Manager e ir gerar o arquivo de log da sesso a ser
anexado ao email. Quando o Servio de Integrao recuperar o log da sesso do servio de log, o
desempenho do fluxo de trabalho ser reduzido, principalmente quando o arquivo de log for grande e o
servio de log for executado em um n diferente do DTM mestre. Para obter o desempenho ideal, configure
a sesso para gravar no arquivo de log quando voc configurar o email ps-sesso para anexar um log de
sesso.

Emails ps-sesso 39
CAPTULO 8

Otimizando implantaes de
grade
Este captulo inclui os seguintes tpicos:

Viso geral do captulo Otimizando a implantao de grades, 40


Armazenando arquivos, 40
Usando um sistema de arquivos compartilhado, 42
Distribuindo arquivos pelos sistemas de arquivos, 44
Otimizando transformaes de Gerador de Sequncia, 46

Viso geral do captulo Otimizando a implantao de


grades
Ao executar o PowerCenter em uma grade, voc pode configurar a grade, as sesses e os fluxos de trabalho
para usar os recursos com eficincia e maximizar a escalabilidade.

Para aprimorar o desempenho do PowerCenter em uma grade, execute as seguintes tarefas:

Adicione ns grade.
Aumente a capacidade e a largura de banda do armazenamento.
Use sistemas de arquivos compartilhados.
Use uma rede de alta transferncia ao executar as seguintes tarefas:
- Acesse origens e destinos pela rede.

- Transfira dados entre os ns de uma grade ao usar a opo Sesso em Grade.

Armazenando arquivos
Ao configurar o PowerCenter para ser executado em uma grade, especifique a localizao de
armazenamento para diferentes tipos de arquivos de sesso, como arquivos de origem, de log e de cache.
Para aprimorar o desempenho, armazene os arquivos em localizaes ideais. Por exemplo, armazene
arquivos de cache persistente em um sistema de arquivos compartilhado de alta largura de banda. Os
diferentes tipos de arquivo tm requisitos de armazenamentos diferentes.

40
possvel armazenar arquivos nos seguintes tipos de localizaes:

Sistemas de arquivos compartilhados. Armazene arquivos em um sistema de arquivos compartilhado


para permitir que todos os processos do Servio de Integrao acessem os mesmos arquivos. Voc pode
armazenar arquivos em sistemas de arquivos compartilhados de alta ou baixa largura de banda.
Local. Armazene arquivos na mquina local que esteja executando o processo do Servio de Integrao
quando eles no tiverem que ser acessados por outros processos do Servio de Integrao.

Arquivos do sistema de arquivos compartilhado de alta largura de


banda
Como eles podem ser acessados com frequncia durante uma sesso, coloque os seguintes arquivos em
um sistema de arquivos compartilhado de alta largura de banda:

Arquivos de origem, incluindo arquivos simples para pesquisas.


Arquivos de destino, incluindo arquivos de mesclagem para sesses particionadas.
Arquivos de cache persistentes para pesquisa ou agregao incremental.
Arquivos de cache no persistentes somente para sesses habilitadas para grade em uma grade.
Isso permite que o Servio de Integrao crie o cache somente uma vez. Se esses arquivos de cache so
armazenados em um sistema de arquivo local, o Servio de Integrao cria um cache para cada grupo de
partio.

Arquivos do sistema de arquivos compartilhado de baixa largura


de banda
Como eles podem ser acessados com menos frequncia durante uma sesso, armazene os seguintes
arquivos em um sistema de arquivos compartilhado de baixa largura de banda:

Arquivos de parmetro ou outros arquivos relacionados a configurao.


Arquivos de origem ou destino indiretos.
Arquivos de log.

Arquivos de armazenamento local


Para evitar o compartilhamento desnecessrio de arquivo ao usar sistemas de arquivos compartilhados,
armazene os seguintes arquivos localmente:

Arquivos de cache no persistentes que no esto habilitados para uma grade, incluindo arquivos
temporrios de transformao Classificador.
Arquivos de destino individuais de diferentes parties ao executar uma mesclagem sequencial para
sesses particionadas.
Outros arquivos temporrios excludos no final da execuo de uma sesso. Em geral, para estabelecer
isso, configure $PmTempFileDir para um sistema de arquivo local.
Evite armazenar esses arquivos em um sistema de arquivos compartilhado, mesmo quando a largura de
banda alta.

Armazenando arquivos 41
Usando um sistema de arquivos compartilhado
Voc pode usar os seguintes sistemas de arquivos compartilhados para o compartilhamento de arquivo:

Sistemas de arquivo de rede, como CIFS (SMB) no Windows ou Network File System (NFS) no UNIX.
Embora os sistemas de arquivo de rede no tenham sido desenvolvidos para computao de alto
desempenho, eles podem funcionar bem para o acesso de arquivo sequencial.
Sistemas de arquivo clusterizados. Os sistemas de arquivo clusterizados oferecem um grupo de ns com
acesso de arquivo de alta largura de banda, assim como um namespace unificado para arquivos e
diretrios. O desempenho do sistema de arquivo clusterizado similar ao do sistema de arquivo local
anexado diretamente.

Nota: Se voc tiver a opo Alta disponibilidade, use um sistema de arquivo clusterizado.

A configurao e o ajuste adequados so importante para o desempenho de grade pequena. Voc tambm
pode configurar mapeamentos e sesses para evitar as limitaes intrnsecas dos sistemas de arquivos de
compartilhados.

Configurando um sistema de arquivos compartilhado


Use as seguintes diretrizes gerais para configurar os sistemas de arquivos compartilhados:

Certifique-se de que a rede tem largura de banda suficiente.


Certifique-se de que o armazenamento subjacente tem largura de banda E/S suficiente.
Configure os daemons do sistema de arquivos compartilhado, particularmente o cliente, para ter threads
suficientes para acessar os arquivos com rapidez. Por exemplo, a IBM recomenda que voc estime o
nmero de arquivos que requerem acesso simultneo e oferecem no mnimo dois threads biod para cada
arquivo.
Ao executar sesses simultneas em uma grade que usa origens e destinos de arquivo simples, fornece
threads suficientes para que cada partio possa acessar os arquivos de origem e destino necessrios
simultaneamente.
Configure os pontos de montagem do sistema de arquivos compartilhado com base nos requisitos de
acesso. Ao executar sesses sequenciais em uma grade que usa origens e destinos de arquivo simples,
evite qualquer configurao que possa diminuir a eficincia do processo de leitura antecipada e de
gravao posterior. Os sistemas de arquivo otimizam o acesso ao arquivo sequencial com leitura
antecipada e gravao posterior.
Se necessrio, ajuste as configuraes de leitura antecipada e de gravao posterior do sistema de
arquivos compartilhado.
Analise as configuraes de cache dos sistemas de arquivos compartilhados do cliente e do servidor.
Aumentar as configuraes pode aprimorar o desempenho.
Configure as configuraes de liberao posterior do sistema de arquivo para liberar pginas de memria
depois que os dados so acessados. Caso contrrio, o desempenho do sistema pode diminuir ao ler ou
gravar arquivos grandes.
Devido a diferena nos padres de acesso, necessrio usar pontos de montagem diferentes para
caches de origens, de destinos e persistentes.
Para obter mais informaes, consulte a documentao do sistema de arquivos compartilhado.

Equilibrando o uso da CPU e da memria


Diferentemente dos sistemas de arquivo locais, um servidor de sistema de arquivos compartilhado pode
obter ciclos extra da CPU para acessar os arquivos. Se usar um dos ns de computao como o servidor do

42 Captulo 8: Otimizando implantaes de grade


sistema de arquivos compartilhado para o resto dos ns, ele poder ficar sobrecarregado e causar um
afunilamento em toda grade. Quando o servidor do sistema de arquivos compartilhado est sobrecarregado,
os ciclos da CPU podem aumentar, juntamente com as solicitaes de transmisso e de tempo limite.

Para evitar isso, use uma ou mais mquinas como servidores dedicados do sistema de arquivos
compartilhado para os ns da grade do PowerCenter. Cada mquina deve ter armazenamento, CPUs e
largura de banda de rede suficientes para as tarefas necessrias.

Como alternativa, possvel montar de forma cruzada o servidor do sistema de arquivos compartilhado para
distribuir a carga do servidor do arquivo entre os ns da grade. Quando os mapeamentos e as sesses do
PowerCenter so configurados para serem executados com um equilbrio do uso da CPU e de E/S, a
montagem cruzada dos servidores do sistema de arquivos compartilhado pode otimizar o desempenho. Se o
nmero de ns na grade pequeno e voc tem uma mistura equilibrada do usa da CPU e de E/S, pode no
ser necessrio um servidor dedicado do sistema de arquivos compartilhado.

Ao usar mais de um servidor dedicado ou montado de forma cruzada do sistema de arquivos compartilhado,
tente distribuir os arquivos compartilhados entre os servidores.

TPICOS RELACIONADOS:
Distribuindo arquivos pelos sistemas de arquivos na pgina 44

Configurando mapeamentos e sesses do PowerCenter


Uma das maneiras mais importantes de aprimorar o desempenho evitar o compartilhamento desnecessrio
de arquivos. Quando configurados de forma adequada, os sistemas de arquivos compartilhados podem
oferecer um bom desempenho para o acesso de arquivos de origem e destino. No entanto, o acesso
aleatrio necessrio para arquivos de cache persistentes, especialmente os grandes, pode ser mais
problemtico.

Use as seguintes diretrizes para configurar os arquivos de cache persistentes, como pesquisas dinmicas
persistentes, para uma grade com um sistema de arquivos compartilhado:

Quando possvel, configure o tamanho do cache da sesso para manter arquivos de cache persistentes
menores na memria.
Adicione uma transformao do Classificador ao mapeamento para classificar as linhas de entrada antes
da pesquisa persistente. Altero trabalho da pesquisa persistente para a transformao do Classificador
pode aprimorar o desempenho porque a transformao do Classificados pode usar o sistema de arquivo
local.
As linhas de grupo que requerem acesso mesma pgina do cache de pesquisa para minimizar o
nmero de vezes que o Servio de Integrao l cada pgina do cache.
Quando o tamanho dos dados de entrada grande, use as confirmaes baseadas na origem para
gerenciar os dados de entrada para que a classificao seja executada na memria.
Por exemplo, voc tem uma pesquisa dinmica persistente de 4 GB, que no pode ser reduzida sem a
alterao da lgica do mapeamento, e tem 10 GB de dados de origem. Primeiro, adicione uma
transformao do Classificador para classificar os dados de entrada e reduzir o acesso aleatrio ao
cache de pesquisa. Em seguida, execute as seguintes tarefas:
- Configure a sesso para executar confirmaes baseadas na origem com intervalos de confirmao de
1 GB.
- Defina o escopo da transao de transformao do Classificador como Transao.

- Configure a transformao do Classificador para um tamanho de cache de 1 GB, o suficiente para a


entrada de origem.

Usando um sistema de arquivos compartilhado 43


Com essa configurao, o Servio de Integrao classifica 1 GB de dados de entrada por vez e passa as
linhas para a pesquisa persistente que requer acesso aos dados similares no cache.

Se mais de um sistema de arquivo estiver disponvel, configure os arquivos do cache de cada arquivo
para usar diferentes sistemas de arquivo.
Configure as sesses para distribuir os arquivos para sistemas de arquivo diferentes de mais de um
sistema de arquivo estiver disponvel.

Distribuindo arquivos pelos sistemas de arquivos


Distribua os arquivos em diferentes sistemas de arquivo para usar a largura de banda combinada dos
sistemas de arquivo, considerando que casa sistema utiliza um subsistema de disco fsico independente.
Distribuir arquivos para sistemas de arquivo diferentes pode aprimorar o desempenho em uma grade que
utiliza um sistema de arquivos compartilhado ou SMP (multiprocessamento simtrico).

Para obter largura de banda E/S ideal, escolha um sistema de arquivo que distribui arquivos entre diversos
dispositivos de armazenamento. Se voc usa um sistema de arquivo clusterizado, distribua os arquivos entre
os servidores. Se possvel, coloque os arquivos de origem, de destino e de cache em diferentes dispositivos
de armazenamento.

Use as seguintes diretrizes ao distribuir os arquivos nos sistemas de arquivo:

Arquivos de origem. Se voc colocar arquivos de origem em um sistema de arquivo que permite que o
Servio de Integrao leia os dados de um grande nmero de arquivos, ajuste a configurao de leitura
antecipada do sistema de arquivo antes de armazenar os arquivos grandes em cache.
Arquivos temporrios. Se voc colocar arquivos temporrios em um sistema de arquivo que permite
que o Servio de Integrao leia os dados de arquivos grandes e os grave em arquivos temporrios,
ajuste as configuraes de leitura e gravao dos arquivos grandes.
Arquivos de destino. Se voc colocar arquivos de destino em um sistema de arquivo que permite que o
Servio de Integrao grave arquivos grandes no disco, ajuste o sistema de arquivo para gravaes em
bloco grandes e simultneas. Os arquivos de destino podem incluir arquivos de mesclagem para sesses
particionadas. Como as sesses particionadas em uma grade precisam gravar arquivos no disco, ajuste o
sistema de arquivo para obter desempenho ideal de bloqueio.

Configurando sesses para distribuir arquivos


Voc pode configurar as sesses manualmente para distribuir a carga do arquivo. Pode ser necessrio
editar as sesses quando a carga alterada significativamente ou quando novas sesses ou sistemas de
arquivo so adicionados, incluindo a adio de novos ns a uma grade com um sistema montado de maneira
cruzada de arquivos compartilhado.

Em vez de editar as sesses manualmente, use as variveis de sesso para distribuir arquivos em diferentes
diretrios. Isso permite que voc redirecione arquivos de sesso para diferentes servidores de arquivo
quando necessrio.

Use as seguintes diretrizes para usar as variveis de sesso:

Nomeie as variveis para os diretrios e os nomes de arquivo de sesso pata refletir a lgica de
negcios.
No arquivo de parmetro, defina cada varivel para que a carga do arquivo seja distribuda igualmente
entre os sistemas de arquivo disponvel. Tambm possvel definir variveis especficas de n.

44 Captulo 8: Otimizando implantaes de grade


Como opo, automatize a reconfigurao com um script para processar os arquivos de parmetro.
Nota: Ao usar um script, use um espao reservado no arquivo de parmetro para que o script possa
redefinir as variveis da sesso, se necessrio.

Diretrizes para scripts e arquivos de parmetro


Ao criar arquivos e scripts de parmetro, use as seguintes diretrizes:

Para manter facilmente a flexibilidade e o controle das localizaes do arquivo de sesso, use um script
para substituir os espaos reservados no arquivo de parmetro.
Considere o tamanho estimado do arquivo e a capacidade do sistema de arquivo ao definir as
localizaes de arquivo.
Evite organizar os arquivos de acordo com a lgica de negcios se as sesses e os fluxos de trabalho
precisarem de acesso aos arquivos relacionados a negcios ao mesmo tempo. Por exemplo, se voc
armazenar arquivos Califrnia em um sistema de arquivo e arquivos Nova York em outro, um
afunilamento poder ocorrer se a sesso precisar de acesso a todos os arquivos ao mesmo tempo.
Quando possvel, coloque os arquivos para diferentes parties da mesma origem, destino ou pesquisa
em diferentes sistemas de arquivo.

Exemplos
No seguinte fragmento de um arquivo de parmetro bruto, o espao reservado {fs} representa o sistema do
arquivo onde o diretrio est localizado e deve ser atribudo por um script antes de ser usado:
[SessionFFSrc_FFTgt_CA]
$InputFile_driverInfo_CA={fs}/driverinfo_ca.dat
$SubDir_processed_CA={fs}
# Session has Output file directory set to:
# $PmTargetFileDir/$SubDir_processed_CA
# This file is the input of SessionFFSrc_DBTgt_CA.
$SubDir_RecordLkup_Cache_CA={fs}
# This session builds this persistent lookup cache to be used
# by SessionFFSrc_DBTgt_CA.
# The Lookup cache directory name in the session is set to:
# $PmCacheDir/$SubDir_RecordLkup_Cache_CA
[SessionFFSrc_FFTgt_NY]
$InputFile_driverInfo_NY={fs}/driverinfo_ny.dat
$SubDir_processed_NY={fs}
[SessionFFSrc_DBTgt_CA]
$SubDir_processed_CA={fs}
# session has Source file directory set to:
# $PmTargetFileDir/$SubDir_processed_CA
$SubDir_RecordLkup_Cache_CA={fs}
# Use the persistent lookup cache built in SessionFFSrc_FFTgt_CA.

No seguinte fragmento do arquivo de parmetro, um script substituiu o espao reservado com os nomes do
sistema de arquivo adequados, como file_system_1 e file_system_2:
[SessionFFSrc_FFTgt_CA]
$InputFile_driverInfo_CA=file_system_1/driverinfo_ca.dat
$SubDir_processed_CA=file_system_2
# Session has Output file directory set to:
# $PmTargetFileDir/$SubDir_processed_CA
# This file is the input of SessionFFSrc_DBTgt_CA.
$SubDir_RecordLkup_Cache_CA=file_system_1
# This session builds this persistent lookup cache to be used
# by SessionFFSrc_DBTgt_CA.
# The Lookup cache directory name in the session is set to:
# $PmCacheDir/$SubDir_RecordLkup_Cache_CA
[SessionFFSrc_FFTgt_NY]
$InputFile_driverInfo_NY=file_system_2/driverinfo_ny.dat
$SubDir_processed_NY=file_system_1

Distribuindo arquivos pelos sistemas de arquivos 45


[SessionFFSrc_DBTgt_CA]
$SubDir_processed_CA=file_system_1
# session has Source file directory set to:
# $PmTargetFileDir/$SubDir_processed_CA
$SubDir_RecordLkup_Cache_CA=file_system_2
# Use the persistent lookup cache built in SessionFFSrc_FFTgt_CA.

Otimizando transformaes de Gerador de


Sequncia
Para aprimorar o desempenho ao executar uma sesso em uma grade com transformaes do Gerador de
Sequncia, aumente o nmero de valores em cache para um nmero de cada linha de dados. Isso reduz a
comunicao entre os processos DTM mestre e operador, e o repositrio. Os DTMs mestre e operador se
comunicam uma vez para cada valor em cache.

Por exemplo, voc tem 150.000 de dados e sete transformaes do Gerador de Sequncia. O nmero de
valores em cache 10. Os DTMs mestre e operador se comunicam 15.000 vezes. Se voc aumentar o
nmero de valores em cache para 15.000, o DTM mestre e operador se comunicam dez vezes.

46 Captulo 8: Otimizando implantaes de grade


CAPTULO 9

Otimizando componentes do
PowerCenter
Este captulo inclui os seguintes tpicos:

Viso geral do captulo Otimizando componentes do PowerCenter, 47


Otimizando o desempenho do repositrio do PowerCenter, 47
Otimizando o desempenho do Servio de Integrao, 50

Viso geral do captulo Otimizando componentes do


PowerCenter
Voc pode otimizar o desempenho dos seguintes componentes do PowerCenter:

Repositrio do PowerCenter
Servio de Integrao
Se voc executa o PowerCenter em diversas mquinas, execute o o Servio de Repositrio e o Servio de
Integrao em mquinas diferentes. Para carregar grandes quantidades de dados, execute o Servio de
Integrao na mquina de maior processamento. Alm disso, execute o Servio de Repositrio na mquina
que esteja hospedando o repositrio do PowerCenter.

Otimizando o desempenho do repositrio do


PowerCenter
Conclua as seguintes tarefas para aprimorar o desempenho do repositrio do PowerCenter:

Certifique-se de que o repositrio do PowerCenter est na mesma mquina que o processo do Servio de
Repositrio.
Ordene as condies em consultas de objeto.
Use um espao de tabela de n nico para o repositrio do PowerCenter se ele estiver instalado em um
banco de dados DB2.
Otimize o esquema do banco de dados do repositrio do PowerCenter se ele estiver instalado em um
banco de dados DB2 ou Microsoft SQL Server.

47
Localizao do repositrio e do processo do Servio de
Repositrio
Voc pode otimizar o desempenho do Servio de Repositrio configurado sem a opo de alta
disponibilidade. Para otimizar o desempenho, certifique-se de que o processo do Servio de Repositrio est
em execuo na mesmas mquina onde o banco de dados do repositrio reside.

Condies de ordem em consultas de objeto


Quando o Servio de Repositrio processa um parmetro com vrias condies, ele as processa na ordem
em que foram inseridas. Para receber os resultados esperados e melhorar o desempenho, insira os
parmetros na ordem em que voc deseja que eles sejam executados.

Usando um espao de tabela do banco de dados DB2 de n nico


Voc pode otimizar o desempenho do repositrio em bancos de dados IBM DB2 EEE ao armazenar em um
repositrio do PowerCenter em um espao de tabela de n nico. Ao configurar um banco de dados IBM
DB2 EEE, o administrador do banco de dados pode defini-lo em um n nico.

Quando o espao de tabela contm um n, o Cliente do PowerCenter e o Servio de Integrao acessam o


repositrio mais rapidamente do que se as tabelas do repositrio existe em diferentes ns do banco de
dados.

Se voc no especificar o nome do espao de tabela ao criar, copiar ou restaurar um repositrio, o sistema
DB2 especificar o espao de tabela padro para cada tabela do repositrio. O sistema DB2 pode ou no
especificar um espao de tabela de n nico.

Otimizando o esquema do banco de dados


Voc pode aprimorar o desempenho do repositrio em bancos de dados IBM DB2 e Microsoft SQL Server ao
habilitar a opo Otimizar o esquema do banco de dados para o Servio de Repositrio no Console de
Administrao. A opo Otimizar o esquema do banco de dados faz com que o Servio de Repositrio
armazene dados de caracteres com comprimento varivel em colunas Varchar (2000) em vez das colunas
CLOB, sempre que possvel. Usar as colunas Varchar (2000) aprimora o desempenho do repositrio nas
seguintes maneiras:

Acesso ao disco reduzido. O repositrio do PowerCenter armazena os dados do Varchar diretamente


nas colunas da tabela do banco de dados. Ele armazena os dados do CLOB como referncia para outra
tabela. Para recuperar os dados do CLOB do repositrio, o Servio de Repositrio deve acessar uma
tabela do banco de dados para obter a referncia e, em seguida, acessar a tabela referenciada parar ler
os dados. Para recuperar os dados do Varchar, o Servio de Repositrio acessa uma tabela do banco de
dados.
Criao de cache aprimorada. O gerenciador de buffer do banco de dados do repositrio pode criar
cache das colunas do Varchar, mas no das colunas do CLOB.
Otimizar o esquema do banco de dados pode aprimorar o desempenho do repositrio nas seguintes
operaes:

Fazendo backup de um repositrio


Restaurando um repositrio
Exportando objetos do repositrio
Listando dependncias entre os objetos
Implantando pastas

48 Captulo 9: Otimizando componentes do PowerCenter


Em geral, o desempenho aprimorado conforme os tamanhos do banco de dados do repositrio e da pgina
aumentam. Portanto, otimizar o esquema do banco de dados oferece maiores aprimoramentos de
desempenho em maiores repositrios do PowerCenter.

Voc pode otimizar o esquema do banco de dados ao criar contedos de repositrio ou fazer backup e
restaurar um repositrio existente. Para otimizar o esquema do banco de dados, o banco de dados do
repositrio deve atender aos seguintes requisitos de tamanho de pgina:

IBM DB2. Tamanho de pgina do banco de dados de 4 KB ou maior. Pelo menos um espao de tabela
temporrio com tamanho de pgina de 16 KB ou maior.
Microsoft SQL Server. Tamanho de pgina do banco de dados de 8 KB ou maior.

Cache de Objeto para o Servio de Repositrio


O cache de objeto de repositrio aumenta o desempenho quando voc executa fluxos de trabalho. Quando o
Servio de Repositrio armazena objetos na memria, o Servio de Integrao pode acessar mais facilmente
os objetos em cache necessrios para concluir a execuo do fluxo de trabalho.

Para gerenciar o cache de objetos para o Servio de Repositrio, configure as seguintes propriedades:

Propriedade Descrio

Cache do Agente do Opcional. Habilita o cache do agente de repositrio, o que melhora o desempenho
Repositrio quando o Servio de Integrao executa vrias sesses repetidamente. Se voc
habilitar esta propriedade, o processo do Servio de Repositrio armazena os
metadados solicitados pelo Servio de Integrao e os metadados que descrevem
os objetos de repositrio. O padro Sim.

Capacidade do Cache do Opcional. Nmero de objetos que o cache pode conter quando o cache do agente
Agente do repositrio est habilitado. Voc pode aumentar o nmero de objetos se houver
memria disponvel na mquina que est executando o processo do Servio de
Repositrio. O padro 10.000.

Permitir Gravaes com o Opcional. Permite a utilizao de ferramentas do Cliente do PowerCenter para
Cache do Agente alterar os metadados no repositrio quando o cache do agente do repositrio est
habilitado. Ao habilitar a opo de gravaes, o Servio de Repositrio libera o
cache toda vez que voc salva metadados usando o Cliente do PowerCenter. Se
voc desabilitar a opo de gravaes, voc no pode salvar metadados ao
repositrio por meio do Cliente do PowerCenter e o cache no liberado. Quando
voc desabilita a opo de gravaes, o Servio de Integrao ainda poder gravar
a sesso e os metadados do fluxo de trabalho ao repositrio. O Servio de
Repositrio no libera o cache quando o Servio de Integrao grava metadados.
O padro Sim.

Otimizando o desempenho do repositrio do PowerCenter 49


Otimizao da resilincia
Configure as seguintes propriedades de resilincia dos servios de aplicativo para melhorar o desempenho
do repositrio:

Propriedade Descrio

Limite sobre os Tempos Opcional. Perodo mximo de tempo que o servio mantm os recursos para fins de
de Resilincia resilincia. Esta propriedade pe uma restrio em clientes que conectam-se ao
servio. Quaisquer tempos de espera de resilincia que ultrapassam o limite so
cortados. Se o valor desta propriedade estiver em branco, o valor derivado das
configuraes do nvel de domnio. O padro em branco.

Tempo de Espera de Opcional. Perodo de tempo que o servio tenta estabelecer ou restabelecer uma
Resilincia conexo com outro servio. Se o valor desta propriedade estiver em branco, o valor
derivado das configuraes do nvel de domnio. O padro em branco.

Otimizando o desempenho do Servio de Integrao


Conclua as seguintes tarefas para aprimorar o desempenho do Servio de Integrao:

Use drivers nativos em vez de drivers ODBC no Servio de Integrao.


Execute o Servio de Integrao no modo de movimentao de dados ASCII se os dados de caracteres
forem ASCII de 7 bits ou EBCDIC.
Crie cache no PowerCenter Metadata para o Servio de Repositrio.
Execute o Servio de Integrao com alta disponibilidade.

Nota: Ao configurar o Servio de Integrao com alta disponibilidade, ele recupera os fluxos de trabalho e as
sesses que podem falhar devido a erros temporrio da mquina ou da rede. Para recuperar dados de uma
sesso ou fluxo de trabalho, o Servio de Integrao grava os estados de cada sesso e fluxo de trabalho
em arquivos temporrios em um diretrio compartilhado. Isso pode diminuir o desempenho.

Usando drivers ODBC e nativo


O Servio de Integrao pode usar drivers ODBC ou nativo para se conectar aos banco de dados. Use
drivers nativos para aprimorar o desempenho.

Executando o Servio de Integrao no modo de movimentao


de dados ASCII
Quando todos os dados de caracteres processados pelo Servio de Integrao so ASCII de 7 bits ou
EBCDIC, configure o Servio de Integrao para ser executado no modo de movimentao de dados ASCII.
No modo ASCII, o Servio de Integrao usa um byte para armazenar cada caractere. Ao executar o Servio
de Integrao no modo Unicode, ele utilizar dois bytes para cada caractere, o que pode diminuir o
desempenho da sesso.

50 Captulo 9: Otimizando componentes do PowerCenter


Criando cache no PowerCenter Metadata para o Servio de
Repositrio
possvel usar a criao de cache do agente do repositrio para aprimorar o desempenho do processo do
DTM. Quando voc habilita a criao de cache do agente do repositrio, o Servio de Repositrio cria cache
dos metadados solicitados pelo Servio de Integrao. Ao criar cache dos metadados, o Servio de
Integrao l o cache para execues adjacentes da tarefa em vez de buscar os metadados do repositrio.
Somente os metadados solicitados pelo Servio de Integrao so colocados em cache.

Por exemplo, voc executa um fluxo de trabalho com 1.000 sesses. A primeira vez que voc executa um
fluxo de trabalho com a criao de cache habilitada, o Servio de Integrao busca os metadados da sesso
no repositrio. Durante as execues subjacentes do fluxo de trabalho, o Servio de Repositrio busca os
metadados da sesso no cache. Isso aprimora o desempenho do processo do DTM.

Otimizando o desempenho do Servio de Integrao 51


CAPTULO 10

Otimizando o sistema
Este captulo inclui os seguintes tpicos:

Viso geral do captulo Otimizao do sistema, 52


Aprimorando a velocidade da rede, 53
Usando vrias CPUs, 53
Reduzindo a paginao, 53
Usando a associao de processador, 54

Viso geral do captulo Otimizao do sistema


Com frequncia, o desempenho se torna lento porque a sesso conta com conexes insuficientes ou com
um sistema de processo sobrecarregado do Servio de Integrao. Os atrasos do sistema podem tambm
ser causados por roteadores, comutadores, protocolos de rede e o uso por diversos usurios.

O acesso lento ao disco em bancos de dados de origem e destino, sistemas de arquivos de origem e destino
e ns no domnio pode diminuir o desempenho da sesso. Permita que o administrador do sistema avalie os
discos rgidos nas mquinas.

Aps determinar qual das ferramentas de monitoramento do sistema apresenta um afunilamento de sistema,
execute as seguintes alteraes globais para aprimorar o desempenho de todas as sesses:

Aumente a velocidade da rede. Conexes lentas de rede podem diminuir o desempenho da sesso.
Permita que o administrador do sistema determine se a rede est sendo executada em uma velocidade
ideal. Diminua o nmero de saltos da rede entre o processo do Servio de Integrao e os bancos de
dados.
Use vrias CPUs. Voc pode usar diversas CPUs para executar vrias sesses e parties de pipeline
em paralelo.
Reduza a paginao. Quando um sistema operacional fica sem memria fsica, ele comea a fazer
paginao para o disco para obter memria fsica livre. Configure a memria fsica para a mquina do
processo do Servio de Integrao para minimizar a paginao para o disco.
Use a associao do processador. Em um ambiente de mltiplos processadores UNIX, o Servio de
Integrao pode usar uma grande quantidade de recursos do sistema. Use a associao do processador
para controlar a utilizao do processador pelo processo do Servio de Integrao. Alm disso, se os
bancos de dados de origem e de destino esto na mesma mquina, use a associao do processador
para limitar os recursos usados pelo banco de dados.

52
Aprimorando a velocidade da rede
O desempenho do Servio de Integrao est relacionado s conexes de rede. O disco local pode mover
dados de 5 a 20 vezes mais rpido que a rede. Considere as opes a seguir para minimizar a atividade da
rede e aprimorar o desempenho do Servio de Integrao.

Se voc usa arquivo simples como uma origem ou destino em uma sesso e o Servio de Integrao
executado em um nico n, armazene os arquivos na mesma mquina que o Servio de Integrao para
aprimorar o desempenho. Ao armazenar arquivos simples em uma mquina diferente do Servio de
Integrao, o desempenho da sesso se torna dependente do desempenho das conexes de rede. Mover os
arquivo para o sistema do processo do Servio de Integrao e adicionar espao ao disco pode aprimorar o
desempenho.

Se voc utiliza bancos de dados de origem e destino relacionais, tente minimizar o nmero de saltos de rede
entre os bancos de dados de origem e destino e o processo do Servio de Integrao. Mover o banco de
dados de destino para um sistema do servidor pode aprimorar o desempenho do Servio de Integrao.

Ao executar sesses que contm diversas parties, permita que o administrador da rede analise a rede e
certifique-se de que existe largura de banda suficiente para tratar a movimentao dos dados entre a rede
de todas as parties.

Usando vrias CPUs


Configure o sistema para usar mais CPUs para aprimorar o desempenho. Diversas CPUs permitem que o
sistema execute vrias sesses e parties de pipeline me paralelo.

No entanto, as CPUs adicionais podem causar afunilamento no disco. Para evitar afunilamento no disco,
minimize o nmero de processos que acessam o disco. Os processos que acessam o disco incluem funes
do banco de dados e do sistema operacional. As sesses ou as parties de pipeline paralelas tambm
exigem acesso ao disco.

Reduzindo a paginao
A paginao ocorre quando o sistema operacional do processo do Servio de integrao fica sem memria
para uma operao em particular e usa o disco local para obter memria. Voc pode liberar mais memria
ou aumentar a memria fsica para reduzir a paginao e diminuir o desempenho que resulta em paginao.
Monitore a atividade de paginao usando as ferramentas do sistema.

possvel aumentar a memria do sistema nas seguintes circunstncias:

Execute uma sesso que utilize grandes pesquisas em cache.


Execute uma sesso com diversas parties.
Se voc no conseguir liberar memria, poder ser necessrio adicionar memria ao sistema.

Aprimorando a velocidade da rede 53


Usando a associao de processador
Em um ambiente de mltiplos processadores UNIX, o Servio de Integrao poder usar uma grande
quantidade de recursos do sistema se voc usar um grande nmero de sesses. Como resultado, outros
aplicativos na mquina podem no ter recursos do sistema suficientes disponveis. possvel usar a
associao do processador para controlar a utilizao do processador pelo n do processo do Servio de
Integrao. Alm disso, se os bancos de dados de origem e de destino esto na mesma mquina, use a
associao do processador para limitar os recursos usados pelo banco de dados.

Em um ambiente Sun Solaris, os administrador do sistema pode criar e gerenciar um conjunto de


processadores usando o comando psrset. Em seguida, o administrador do sistema poder usar o comando
pbind para associar o Servio de Integrao a um conjunto de processadores, para que o processador
execute somente o Servio de Integrao. O ambiente Sun Solaris tambm oferece o comando psrinfo para
exibir detalhes sobre cada processador configurado e o comando psradm para alterar o status operacional
dos processadores. Para obter mais informaes, consulte o administrador do sistema e a documentao do
Sun Solaris.

Em um ambiente HP-UX, o administrador do sistema pode usar o utilitrio Process Resource Manager para
controlar o uso da CPU no sistema. O Process Resource Manager aloca o mnimo de recursos do sistema e
usa a capacidade mxima dos recursos. Para obter mais informaes, consulte o administrador do sistema e
a documentao do HP-UX.

Em um ambiente AIX, os administradores do sistema podem usar o Workload Manager no AIX 5L para
gerenciar recursos do sistema durante demandas mximas. O Workload Manager pode alocar recursos e
gerenciar a CPU, a memria e a largura de banda E/S do disco. Para obter mais informaes, consulte o
administrador do sistema e a documentao do AIX.

54 Captulo 10: Otimizando o sistema


CAPTULO 11

Usando parties de pipeline


Este captulo inclui os seguintes tpicos:

Viso geral de Usando parties de pipeline, 55


Otimizando o banco de dados de origem para particionamento, 57
Otimizando o banco de dados de destino para particionamento, 59

Viso geral de Usando parties de pipeline


Depois de ajustar o aplicativo, os bancos de dados e o sistema para obter o melhor desempenho de partio
nica, voc poder perceber que o sistema est sendo subutilizado. Nesse momento, voc pode configurar a
sesso para que ela tenha duas ou mais parties.

Voc pode usar o particionamento de pipeline para aprimorar o desempenho da sesso. Aumentar o nmero
de parties ou de pontos de partio aumentar o nmero de segmentos. Portanto, aumentar o nmero de
parties ou de pontos de partio tambm aumentar a carga nos ns do Servio de Integrao. Se o n ou
ns do Servio de Integrao contiverem uma largura de banda de CPU ampla, o processamento de linhas
de dados em uma sesso poder aumentar simultaneamente o desempenho da sesso.

Nota: Se voc usar um Servio de Integrao de um nico n e criar um grande nmero de parties ou
pontos de partio em uma sesso que processe grandes volumes de dados, o sistema poder ficar
sobrecarregado.

Se voc tiver a opo de particionamento, execute as seguintes tarefas para configurar manualmente as
parties:

Aumente o nmero de parties.


Selecione os tipos de partio de melhor desempenho em pontos especficos em um pipeline.
Use vrias CPUs.

Aumentando o nmero de parties


possvel aumentar a quantidade de parties em um pipeline com o objetivo de melhorar o desempenho
da sesso. Aumentar o nmero de parties permitir que o Servio de Integrao crie vrias conexes a
origens e processe parties de dados de origem simultaneamente.

Quando uma sesso usa um arquivo de origem, voc pode configur-la para ler a origem com um segmento
ou com diversos segmentos. Configure a sesso para ler origens de arquivos com vrios segmentos para
aumentar o desempenho da sesso. O Servio de Integrao cria vrias conexes simultneas com a
origem do arquivo.

55
Quando voc cria uma sesso, o Workflow Manager valida cada pipeline do particionamento de
mapeamento. Voc poder especificar vrias parties em um pipeline se o Servio de Integrao puder
manter consistncia de dados ao processar os dados particionados.

Use as dicas a seguir ao adicionar parties a uma sesso:

Adicione uma partio de cada vez. Para obter o melhor desempenho do monitor, adicione uma
partio de cada vez e anote as configuraes da sesso antes de adicionar as parties.
Defina a memria de buffer DTM. Quando voc aumenta o nmero de parties, o tamanho do buffer
DTM tambm aumenta. Se a sesso contiver n parties, aumente o tamanho do buffer DTM para pelo
menos n vezes o valor da sesso com uma partio.
Defina os valores armazenados em cache do Gerador de Sequncia. Se uma sesso contiver n
parties, pode no ser necessrio usar a propriedade Nmero de Valores em Cache para a
transformao de Gerador de Sequncia. Se voc voc definir esse valor como maior que 0, certifique-se
de que ele seja pelo menos n vezes o valor original da sesso com uma partio.
Particione os dados de origem uniformemente. Configure cada partio para extrair o mesmo nmero
de linhas.
Monitore o sistema ao executar a sesso. Se os ciclos de CPU estiverem disponveis, voc poder
adicionar uma partio para melhorar o desempenho. Por exemplo, voc pode disponibilizar ciclos de
CPU se o sistema estiver 20 por cento do tempo inativo.
Monitore o sistema depois de adicionar uma partio. Se a utilizao da CPU no for elevada, a
espera do tempo de E/S aumentar ou a taxa total de transformao de dados diminuir, ento
provavelmente h um afunilamento de hardware ou software. Se a espera do tempo de E/S aumentar em
um valor significativo, verifique a existncia de afunilamentos de hardware no sistema. Caso contrrio,
verifique a configurao do banco de dados.

TPICOS RELACIONADOS:
Memria de buffer na pgina 34

Selecionando os tipos de partio de melhor desempenho


possvel especificar diferentes tipos de partio em diversos pontos do pipeline para melhorar o
desempenho da sesso. Para otimizar o desempenho da sesso, use o tipo de partio de particionamento
de banco de dados em bancos de dados de origem e de destino. Voc pode usar o particionamento de
banco de dados em origens Oracle e IBM DB2 e destinos IBM DB2. Quando voc usa o particionamento de
banco de dados de origem, o Servio de Integrao consulta o sistema do banco de dados para obter as
informaes sobre as parties e busca os dados nas parties da sesso. Quando voc usa o
particionamento de banco de dados de destino, o Servio de Integrao carrega dados nos ns de partio
do banco de dados correspondente.

Voc pode usar vrias parties de pipeline e de banco de dados. Para melhorar o desempenho, verifique se
o nmero de parties de pipeline igual ao nmero de parties de banco de dados. Para melhorar o
desempenho das origens Oracle subparticionadas, verifique se o nmero de parties de pipeline igual ao
nmero de subparties de banco de dados.

Para melhorar o desempenho, especifique os tipos de partio nos seguintes pontos de partio no pipeline:

Transformao Qualificador de Origem. Para ler os dados de vrios arquivos simples


simultaneamente, especifique uma partio para cada arquivo simples na transformao de Qualificador
de Origem. Aceite o tipo de partio padro, a de passagem.
Transformao de Filtro. Como os arquivos de origem variam de tamanho, cada partio processa uma
quantidade diferente de dados. Defina um ponto de partio na transformao de Filtro e escolha o
particionamento round-robin para equilibrar a carga que entra na transformao de Filtro.

56 Captulo 11: Usando parties de pipeline


Transformao de Classificador. Para eliminar grupos sobrepostos nas transformaes de
Classificador e de Agregador, use o particionamento de chaves automticas hash na transformao de
Classificador. Isso faz com que o Servio de Integrao agrupe todos os itens com a mesma descrio na
mesma partio antes que as transformaes de Classificador e de Agregador processem as linhas. Voc
pode excluir o ponto de partio padro na transformao de Agregador.
Destino. Como as tabelas de destino so particionadas por limite de chaves, especifique o
particionamento de limite de chaves no destino para otimizar a gravao de dados no destino.

Usando vrias CPUs


O Servio de Integrao executa o processo de leitura, transformao e gravao de pipelines em paralelo.
Ele pode processar vrias parties de um pipeline dentro de uma sesso e pode processar vrias sesses
em paralelo.

Se voc tiver uma plataforma de multiprocessamento simtrico (SMP), voc poder usar vrias CPUs para
processar simultaneamente dados de sesso ou dados de parties. Isso fornecer um melhor desempenho
devido ao real paralelismo atingido. Em uma plataforma com um nico processador, essas tarefas
compartilham a CPU, portanto, no h paralelismo.

O Servio de Integrao pode usar vrias CPUs para processar uma sesso que contenha vrias parties.
O nmero de CPUs usadas depende de fatores como o nmero de parties, o nmero de segmentos, o
nmero de CPUs disponveis e a quantidade ou os recursos necessrios para processar o mapeamento.

Otimizando o banco de dados de origem para


particionamento
Voc pode adicionar parties para aumentar a velocidade da consulta. Em geral, cada partio no lado do
leitor representa um subconjunto dos dados a serem processados.

Execute as tarefas a seguir para otimizar o banco de dados de origem para particionamento,

Ajuste o banco de dados. Se o banco de dados no for ajustado apropriadamente, a criao de


parties poder no acelerar as sesses.
Habilite consultas paralelas. Alguns bancos de dados podem ter opes que precisem ser configuradas
para habilitar consultas paralelas. Consulte a documentao do banco de dados para obter informaes
sobre essas opes. Se essas opes estiverem desativadas, o Servio de Integrao executar vrias
instrues SELECT de partio serialmente.
Separe os dados em espaos de tabela diferentes. Cada banco de dados fornece uma opo para
separar os dados em diferentes espaos de tabela. Se o banco de dados permitir, use o recurso de
substituio SQL do PowerCenter para fornecer uma consulta que extraia dados de uma nica partio.
Agrupe os dados classificados. Voc pode particionar e agrupar os dados de origem para melhorar o
desempenho de uma transformao de Unificador classificada.
Maximize consultas de classificao nica.

Ajustando o banco de dados


Se o banco de dados no for ajustado apropriadamente, os resultados podero no acelerar as sesses.
Voc pode testar o banco de dados para verificar se ele est ajustado adequadamente.

Otimizando o banco de dados de origem para particionamento 57


Para verificar se o banco de dados est ajustado adequadamente:

1. Crie um pipeline com uma partio.


2. Dimensione a taxa de transferncia do leitor no Workflow Monitor.
3. Adicione as parties.
4. Verifique se a taxa de transferncia encontra-se em escala linear.
Por exemplo, se a sesso tem duas parties, a taxa de transferncia do leitor deve ser duas vezes
mais rpida. Se a taxa de transferncia no estiver em uma escala linear, voc provavelmente precisar
ajustar o banco de dados.

Agrupando dados classificados


Voc tambm pode particionar e agrupar os dados de origem para melhorar o desempenho da
transformao de Unificador classificada. Posicione o ponto de partio antes da transformao do
Classificador para manter o agrupamento e a classificao dos dados dentro de cada grupo.

Para agrupar dados, verifique se as linhas com o mesmo valor de chave esto roteadas para a mesma
partio. A melhor maneira de garantir que os dados estejam agrupados e distribudos uniformemente entre
as parties por meio da adio de um ponto de partio de chaves automticas hash ou de limite de
chaves antes da origem de classificao.

Otimizando consultas de classificao nica


Para otimizar uma consulta de classificao nica no banco de dados, considere as seguintes opes de
ajuste que permitem o paralelismo:

Verifique os parmetros de configurao que realizam o ajuste automtico. Por exemplo, a Oracle
tem um parmetro chamado parallel_automatic_tuning.
Verifique se o intraparalelismo est habilitado. Intraparalelismo a capacidade de executar vrios
segmentos em uma nica consulta. Por exemplo, na Oracle, consulte parallel_adaptive_multi_user. No
DB2, consulte intra_parallel.
Verifique o nmero mximo de processos paralelos disponveis para execues paralelas. Por
exemplo, na Oracle, consulte parallel_max_servers. No DB2, consulte max_agents.
Verifique os tamanhos dos vrios recursos usados no paralelismo. Por exemplo, a Oracle tem
parmetros como large_pool_size, shared_pool_size, hash_area_size, parallel_execution_message_size
e optimizer_percent_parallel. O DB2 tem parmetros de configurao como dft_fetch_size,
fcm_num_buffers e sort_heap.
Verifique os graus de paralelismo. possvel que voc consiga definir essa opo usando o parmetro
de configurao de um banco de dados ou uma opo na tabela ou consulta. Por exemplo, a Oracle tem
os parmetros parallel_threads_per_cpu e optimizer_percent_parallel. O DB2 tem parmetros de
configurao como dft_prefetch_size, dft_degree e max_query_degree.
Desative as opes que possam afetar a escalabilidade do banco de dados. Por exemplo, desabilite
os logs de arquivo morto e as estatsticas limitadas na Oracle.
Para obter uma lista completa das opes de ajuste de banco de dados, consulte a documentao do banco
de dados.

58 Captulo 11: Usando parties de pipeline


Otimizando o banco de dados de destino para
particionamento
Se uma sesso contm vrias parties, a taxa de transferncia de cada partio deve ser a mesma que a
taxa de transferncia de uma sesso de nica partio. Se voc no perceber essa correlao, ento o
banco de dados provavelmente estar inserindo linhas no banco de dados serialmente.

Para garantir que o banco de dados insira linhas em paralelo, verifique as seguintes opes de configurao
no banco de dados de destino:

Defina as opes no banco de dados para habilitar inseres paralelas. Por exemplo, defina as
opes db_writer_processes e DB2 has max_agents em um banco de dados Oracle para habilitar
inseres paralelas. Alguns bancos de dados podem habilitar essas opes por padro.
Considere particionar a tabela de destino. Se possvel, tente fazer com que cada partio grave em
uma partio de banco de dados nico usando uma transformao de Roteador para fazer isso. Alm
disso, disponha as parties de banco de dados em discos separados para impedir a conteno de E/S
entre as parties de pipeline.
Defina as opes no banco de dados para aprimorar a escalabilidade do banco de dados. Por
exemplo, desabilite os logs de arquivo morto e as estatsticas limitadas nos bancos de dados Oracle para
aprimorar a escalabilidade.

Otimizando o banco de dados de destino para particionamento 59


APNDICE A

Contadores de desempenho
Este apndice inclui os seguintes tpicos:

Viso geral do captulo Contadores de desempenho, 60


Contador Errorrows, 60
Contadores Readfromcache e Writetocache, 61
Contadores Readfromdisk e Writetodisk, 61
Contador Rowsinlookupcache, 62

Viso geral do captulo Contadores de desempenho


Todas as transformaes tm contadores. O Servio de Integrao rastreia o nmero de linhas de entrada,
de sada e de erro para cada transformao. Algumas transformaes tm contadores de desempenho.
possvel usar os seguintes contadores de desempenho para aumentar o desempenho da sesso:

Errorrows
Readfromcache e Writetocache
Readfromdisk e Writetodisk
Rowsinlookupcache

Contador Errorrows
Os erros de transformao afetam o desempenho da sesso. Se uma transformao tem um grande nmero
de linhas de erro em qualquer um dos contadores Transformation_errorrows, possvel eliminar os erros
para aprimorar o desempenho.

60
TPICOS RELACIONADOS:
Eliminando erros de transformao na pgina 32

Contadores Readfromcache e Writetocache


Se uma sesso tiver as transformaes Agregador, Classificao ou Unificador, examine os contadores
Transformation_readfromcache, Transformation_writetocache, Transformation_readfromdisk e
Transformation_writetodisk para analisar como o Servio de Integrao l ou grava dados no disco. Para
visualizar os detalhes do desempenho da sesso durante a execuo, clique com o boto direito do mouse
na sesso no Workflow Monitor e escolha Propriedades. Clique na guia Propriedades na caixa de dilogo de
detalhes.

Para analisar o acesso ao disco, calcule primeiro o ndice de ocorrncias ou perdas. O ndice de ocorrncias
indica o nmero de operaes de leitura ou gravao que Servio de Integrao executa no cache.

O ndice de perdas indica o nmero de operaes de leitura ou gravao que Servio de Integrao executa
no disco.

Use a seguinte frmula para calcular o ndice de perdas do cache:


[(# of reads from disk) + (# of writes to disk)]/[(# of reads from memory cache) + (#
of writes to memory cache)]

Use a seguinte frmula para calcular o ndice de ocorrncias do cache:


[1 - Cache Miss ratio]

Para minimizar as leituras e as gravaes no disco, aumente o tamanho do cache. O ndice de ocorrncias
do cache ideal 1.

Contadores Readfromdisk e Writetodisk


Se uma sesso tiver as transformaes Agregador, Classificao ou Unificador, examine cada contador
Transformation_readfromdisk e Transformation_writetodisk. Para visualizar os detalhes do desempenho da
sesso durante a execuo, clique com o boto direito do mouse na sesso no Workflow Monitor e escolha
Propriedades. Clique na guia Propriedades na caixa de dilogo de detalhes.

Se esses contadores exibirem qualquer nmero diferente de zero, ser possvel aumentar os tamanhos dos
caches para aprimorar o desempenho da sesso. O Servio de Integrao usa o cache de ndice para
armazenar informaes do grupo e o cache de dados para armazenar dados transformados, que so
normalmente maiores. Embora os tamanhos dos caches de dados e de ndice afetem o desempenho, poder
ser necessrio aumentar mais o tamanho do cache de dados do que o tamanho do cache de ndice. No
entanto, se o volume de dados processado maior do que a memria disponvel, voc pode aumentar o
tamanho do cache de ndice para aprimorar o desempenho.

Contadores Readfromcache e Writetocache 61


Por exemplo, o Servio de Integrao usa 100 MB para armazenar o cache de ndice e 500 MB para
armazenar o cache de dados. Com 200 acessos distribudos aleatoriamente em cada cache de ndice e de
dados, voc pode configurar o cache nas seguintes maneiras:

Para otimizar o desempenho, aloque 100 MB para o cache de ndice e 200 MB para o cache de dados. O
Servio de Integrao acessa 100% dos dados do cache de ndice e 40% dos dados do cache de dados.
O Servio de Integrao sempre acessa o cache de ndice e no acessa o cache de dados 120 vezes.
Portanto, a porcentagem de dados que so acessados 70%.
Aloque 50 MB para o cache de ndice e 250 MB para o cache de dados. O Servio de Integrao acessa
50% dos dados do cache de ndice e 50% dos dados do cache de dados. O Servio de Integrao no
acessa os caches de ndice e de dados 100 vezes cada. Portanto, a porcentagem de dados que so
acessados 50%.
Se a sesso executa agregao incremental, o Servio de Integrao l os dados de agregao histricos
do disco local durante a sesso e grava no disco ao salvar os dados histricos. Como resultado, os
contadores Aggregator_readtodisk e Aggregator_writetodisk exibem nmeros alm de zero.

No entanto, desde que o Servio de Integrao grave os dados histricos em um arquivo no final da sesso,
voc ainda pode avaliar os contadores durante a sesso. Se os contadores exibem nmeros diferentes de
zero durante a execuo da sesso, possvel ajustar os tamanhos dos caches para aprimorar o
desempenho. No entanto, existe um custo associado a alocao e desalocao de memria. Por isso, se
voc souber qual o volume de dados que o Servio de Integrao processar, retenha o aumento dos
tamanhos dos cache para acomodar mais volumes de dados.

Contador Rowsinlookupcache
Pesquisas mltiplas podem diminuir o desempenho da sesso. Para aprimorar o desempenho da sesso,
ajuste as expresses de pesquisa para as tabelas de pesquisa maiores.

TPICOS RELACIONADOS:
Otimizando vrias pesquisas na pgina 28

62 Apndice A: Contadores de desempenho


NDICE

A arquivos de cache
armazenamento ideal 41
afunilamentos arquivos de cache persistentes
destinos 4 armazenamento ideal 41
eliminando 2 diretrizes de configurao 43
estatsticas de segmento 3 arquivos de destino
identificando 2 armazenamento ideal 41
mapeamentos 6 arquivos de log
no UNIX 8 armazenamento ideal 41
no Windows 8 arquivos de log de fluxo de trabalho
origens 5 desabilitando 38
sesses 7 arquivos de log de sesso
sistema 7 desabilitando 38
agregao incremental arquivos de origem
otimizando transformao de Agregador 24 armazenamento ideal 41
agrupar por portas simples versus XML 18
otimizando transformao de Agregador 23 arquivos de parmetro
ajustando armazenamento ideal 41
caches 36 diretrizes de desempenho 45
expresses 20 arquivos simples
mapeamentos 17 arquivos de origem delimitados 18
origens relacionais 14 comparado com arquivos XML 18
rede 53 comprimento do buffer 17
Repositrio do PowerCenter 47 localizao de armazenamento ideal 53
Servio de Integrao 50 otimizando origens 17
sesses 33 arquivos simples delimitados
sistema 52 origens 18
Transformao de Agregador 23 arquivos temporrios
Transformao de Classificador 29 armazenamento ideal 41
Transformao de Gerador de Sequncia 29 associaes
Transformao de pesquisa 25 no banco de dados 25
Transformao de Qualificador de Fonte 31 associando
Transformao de SQL 31 processador 54
Transformao de unificador 25 avaliando
Transformao do Normalizador 29 expresses 22
Transformao personalizada 24
Transformao XML 31
transformaes 23
alta disponibilidade
B
sistemas de arquivo clusterizados 42 bancos de dados
armazenamento de arquivo ideal ajustando consultas de classificao nica 58
arquivos de cache no persistentes 41 ajustando destinos Oracle 12
arquivos de destino 41 ajustando origens 14
arquivos de log 41 associaes 25
arquivos de origem 41 intervalos de ponto de verificao 11
arquivos de parmetro 41 minimizando os deadlocks 12
arquivos temporrios 41 otimizando destinos para particionamento 59
armazenamento de arquivos otimizando origens para particionamento 57
local 40 tamanho do pacote de rede 12, 15
sistema de arquivos compartilhado 40 buffer DTM
tipos 40 tamanho ideal do pool 35
armazenando em buffer
dados 22
arquivo XML
comparado com arquivo simples 18

63
C desempenho ()
latncia de liberao 38
cache sesses em tempo real 38
ajustando 36 destinos
localizao ideal 36 afunilamentos, causas 4
metadados do repositrio 51 afunilamentos, eliminando 5
reduzir linhas armazenadas em cache 27 alocando memria de buffer 34
tamanho ideal 37 identificando afunilamentos 4
valores de sequncia 29 diretrio de cache
cache compartilhado compartilhando 36
para pesquisas 26 diretrios
cache de dados caches compartilhados 36
localizao ideal 36 disco
portas conectadas 36 acesso, minimizando 53
tamanho ideal 37 drivers de banco de dados
cache de ndice ideal para o Servio de Integrao 50
localizao ideal 36
tamanho ideal 37
cache no persistente
armazenamento ideal para arquivos 41
E
cache persistente email ps-sesso
para pesquisas 26 desempenho 39
carregador externo entrada classificada
desempenho 11 otimizando transformao de Agregador 24
carregamento em massa erros
ajustando destinos relacionais 11 minimizando o nvel de rastreamento 38
chamadas de funo espao de tabela
minimizando para transformao personalizada 24 tipo ideal para DB2 48
compartilhamento de arquivo espaos
sistemas de arquivo de cluster 42 direita/esquerda, removendo 20
sistemas de arquivo de rede 42 estatsticas de segmento
comprimento do buffer afunilamentos, eliminando 3
configurao ideal 17 afunilamentos, identificando 3
condio de pesquisa expresses
correspondncia 27 ajustando 20
otimizando 28 avaliando 22
consulta de banco de dados substituindo por variveis locais 20
afunilamentos de origem, identificando 6 expresses IIF
consultas ajustando 21
ajustando origens relacionais 14
consultas de objeto
ordenando condies 48
contadores de desempenho
F
Rowsinlookupcache 62 FastExport
tipos 60 para origens Teradata 15
Transformation_errorrows 60 fatoramento
Transformation_readfromcache 61 lgica comum de mapeamento 20
Transformation_readfromdisk 61 filtrando
Transformation_writetocache 61 dados 19
Transformation_writetodisk 61 dados de origem 31
convertendo filtros
tipos de dados 19 origens 15
CPU fluxo de dados
mltiplos para fluxos de trabalho simultneos 53 monitoramento 60
vrias para particionamento de pipeline 57 otimizando 60
fluxos de trabalho
simultneos 34

D funo DECODE
comparada funo Pesquisa 21
DB2 usando para otimizao 21
desempenho do repositrio do PowerCenter 48 funo LOOKUP
deadlocks comparada funo DECODE 21
minimizando 12 minimizando para otimizao 21
descartando funes
restries de ndices e chave 10 comparadas a operadores 21
desempenho DECODE versus LOOKUP 21
ajuste, viso geral 1 funes de agregao
esquema do banco de dados do repositrio, otimizando 48 minimizando chamadas 20

64 ndice
G O
grade Opo Substituio SQL de Pesquisa
afunilamento de n 42 reduzindo o tamanho do cache 27
desempenho 33, 40 operaes
desempenho do Gerador de Sequncia, aumentando 46 numricas versus de string 20
localizaes ideais de armazenamento 40 operaes de string
comparado com operaes numricas 20
minimizando 20

I operaes numricas
comparado com operaes de string 20
IBM DB2 operadores
esquema do banco de dados do repositrio, otimizando 48 comparados a funes 21
intervalo de confirmao Oracle
desempenho da sesso 37 ajustando destinos 12
intervalos de ponto de verificao carregador externo 11
aumentando 11 otimizando conexes 15
protocolo IPC 15
ORDER BY

L otimizando para transformao de Pesquisa 27


origens
latncia de liberao afunilamentos, causas 5
desempenho, melhorando 38 afunilamentos, eliminando 6
leitura de passagem nica ajustando consultas 14
definio 18 filtros 15
identificando afunilamentos 5
relacional, ajustando 14

M origens XML
alocando memria de buffer 34
mapeamento de passagem otimizao de empilhamento
ajustando 19 desempenho 34
mapeamento de teste de leitura
afunilamentos de origem, identificando 5
mapeamentos
afunilamentos, eliminando 7 P
afunilamentos, identificando 6 pacotes de rede
ajustando 17 aumentando 12, 15
leitura de passagem nica 18 paginao
lgica comum da fatoramento 20 reduzindo 53
mapeamento de passagem, ajuste 19 particionamento de pipeline
memria adicionando parties 55
64-bit PowerCenter 37 ajustando o banco de dados de origem 57
aumentando 53 otimizando bancos de dados de destino 59
bancos de dados Microsoft SQL Server 16 otimizando bancos de dados de origem 57
bancos de dados Sybase ASE 16 otimizando o desempenho 55
buffer 34 tipos de partio ideais 56
memria de buffer vrias CPUs 57
alocando 34 parties
mesclagem sequencial adicionando 55
armazenamento de arquivo ideal 41 pipelines
mtodos monitoramento de fluxo de dados 60
filtrando dados 19 portas
Microsoft SQL Server conectadas, limitando 36
banco de dados na memria 16 processador
esquema do banco de dados do repositrio, otimizando 48 associando 54
minimizando processo do Servio de Repositrio
chamadas de funo de agregao 20 localizao ideal 48
modo ASCII protocolo IPC
desempenho 50 origens Oracle 15
modo de movimentao de dados
ideal 50

R
N rastreamento de erros
Consulte nveis de rastreamento[error tracing
nveis de rastreamento aaa] 38
minimizando 38 rede
ajustando 53

ndice 65
rede () sistemas de arquivos compartilhados
aprimorando a velocidade 53 alta largura de banda 41
registro em log de arquivo simples baixa largura de banda 41
emails ps-sesso 39 carga do servidor, distribuindo 42
removendo configurando 42
espaos em branco esquerda/direita 20 CPU, balanceamento 42
Repositrio do PowerCenter viso geral 42
ajustando 47 Sybase ASE
desempenho no DB2 48 banco de dados na memria 16
localizao ideal 48 Sybase IQ
repositrios carregador externo 11
esquema do banco de dados, otimizando 48
restries de chave
descartando 10
T
tamanho da pgina

S mnimo para a otimizao do esquema do banco de dados do


repositrio 48
segmento de transformao tamanho do bloco de buffer
tempo de trabalho do segmento 3 ideal 35
segmentos tempo de execuo
afunilamentos, identificando 3 estatstica de segmento 3
tempo de execuo 3 tempo de ocupao
tempo de ocupao 3 estatstica de segmento 3
tempo de trabalho do segmento 3 tempo ocioso
tempo ocioso 3 estatstica de segmento 3
selecionar distintos Teradata FastExport
filtrando dados de origem 31 desempenho para origens 15
Servio de Integrao tipos de dados
ajustando 50 Char 20
drivers de banco de dados ideais 50 otimizando converses 19
grade 33 Varchar 20
intervalo de confirmao 37 tipos de dados Char
Servio de Repositrio removendo espaos em branco direita/esquerda 20
criando cache de metadados do repositrio 51 tipos de dados Varchar
sesso em grade removendo espaos em branco direita/esquerda 20
desempenho do Gerador de Sequncia, aumentando 46 tipos de partio
sesses ideal 56
afunilamentos, causas 7 Transformao de Agregador
afunilamentos, eliminando 7 agregao incremental 24
afunilamentos, identificando 7 ajustando 23
ajustando 33 detalhes de desempenho 61
grade 33 otimizando com conexes de porta limitadas 24
otimizao de empilhamento 34 otimizando com Entrada Classificada 24
simultneos 34 otimizando com filtros 24
sesses em tempo real otimizando com grupo por portas 23
desempenho, melhorando 38 Transformao de classificao
sistema detalhes de desempenho 61
afunilamento, identificando com o Workflow Monitor 8 Transformao de classificador
afunilamentos no UNIX, identificando 8 otimizando com alocao de memria 30
afunilamentos no Windows, identificando 8 Transformao de Classificador
afunilamentos, causas 7 ajustando 29
afunilamentos, eliminando 9 otimizando diretrios de partio 30
ajustando 52 Transformao de Filtro
sistemas de arquivo afunilamentos de origem, identificando 5
cluster 42 Transformao de Gerador de Sequncia
compartilhado, configurando 42 ajustando 29
rede 42 desempenho da grade 46
sistemas de arquivo clusterizados reutilizvel 29
alta disponibilidade 42 Transformao de pesquisa
Consulte tambm os sistemas de arquivos ajustando 25
compartilhados[sistemas de arquivos clusterizados otimizando 62
aaa] 42 otimizando a condio de pesquisa 28
sistemas de arquivo de rede otimizando a correspondncia de condio de pesquisa 27
Consulte os sistemas de arquivos compartilhados[sistemas de otimizando com caches 26
arquivo de rede otimizando com caches simultneos 27
aaa] 42 otimizando com drivers de banco de dados 26
otimizando com indexao 28

66 ndice
Transformao de pesquisa () transformaes ()
otimizando com instruo ORDER BY 27 eliminando erros 32
otimizando com mquina de memria alta 28 otimizando 60
otimizando com reduo de cache 27
otimizando vrias expresses de pesquisa 28
Transformao de procedimento externo
bloqueio de dados 22 U
Transformao de Qualificador de Fonte UNIX
ajustando 31 afunilamentos do sistema 8
Transformao de SQL afunilamentos, eliminando 9
ajustando 31 associao de processador 54
Transformao de unificador
ajustando 25
criando uma origem mestre 25
dados classificados 25 V
detalhes de desempenho 61 variveis locais
Transformao do Normalizador substituindo expresses 20
ajustando 29
Transformao personalizada
ajustando 24
minimizando chamadas de funo 24 W
processando blocos de dados 24 Windows
Transformao XML afunilamentos 8
ajustando 31 afunilamentos, eliminando 9
transformaes
ajustando 23

ndice 67

Das könnte Ihnen auch gefallen