AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / dba / Perguntas / 34834
Accepted
Zane
Zane
Asked: 2013-02-16 08:31:09 +0800 CST2013-02-16 08:31:09 +0800 CST 2013-02-16 08:31:09 +0800 CST

Validação do SSIS lenta. OLTP OLAP rodando no mesmo servidor

  • 772

Eu tenho quatro servidores idênticos 2 são usados ​​na produção e os outros dois são máquinas de demonstração/caixas de failover de emergência. A máquina mais poderosa, com 16 núcleos e 127 GB de Ram, hospeda nosso datawarehouse e nosso banco de dados OLTP. A caixa menos poderosa é uma caixa de 8 núcleos e 98 GB de RAM que usamos para ETL e nosso armazenamento de dados. O problema que estou tendo é que os serviços de integração de servidores de produção levam muito tempo para executar a validação do pacote. Para uma consulta que retorna em 6 segundos, leva 40 segundos para concluir a validação do pacote. Como você pode ver, é um pacote bastante simples. InserirAtualizarExcluir

Lembre-se de que este é apenas o pacote que estou usando como exemplo. Todos os meus pacotes têm o mesmo problema, embora alguns em menor grau. Quando executo isso, a parte de validação leva 40 segundos em média. Início da execução

Para testar melhor isso, executei exatamente o mesmo pacote na caixa irmã que executa todos os mesmos trabalhos SQL desta caixa. Apenas para que a validação pré-execução leve 0 segundos e a consulta leve entre 4 e 6 segundos.

Para testar ainda mais, executei a consulta em ambas as instâncias do servidor SQL.

SELECT '{' + CAST(Store_Id AS CHAR(36)) + '}' AS Store_Id
      ,'{' + CAST(ItemGroupDetail_Id AS CHAR(36)) + '}' AS ItemGroupDetail_Id
      ,ItemGroupType_Id
      ,'{' + CAST(Concept_Id AS CHAR(36)) + '}' AS Concept_Id
      ,'{' + CAST(Company_Id AS CHAR(36)) + '}' AS Company_Id
      ,'{' + CAST(ItemGroup_Id AS CHAR(36)) + '}' AS ItemGroup_Id
      ,GroupName
      ,Sort
      ,NameOverride
      ,'{' + CAST(ParentGroup_Id AS CHAR(36)) + '}' AS ParentGroup_Id
      ,Active
      ,'{' + CAST(UserCreated AS CHAR(36)) + '}'  AS UserCreated
      ,'{' + CAST(UserModified AS CHAR(36)) + '}'  AS UserModified
  FROM bos_vAllItemGroups

A execução no servidor principal com data atualizada retorna 63326 linhas em 5 segundos em média e as 50527 linhas em 3 segundos. O que é de se esperar, este servidor tem muito menos atividade com as mesmas especificações que eu esperaria que fosse um pouco mais rápido. O que eu não esperaria é que o tempo de validação do pacote aumentasse muito mais do que o tempo real de execução da consulta.

Depois de muito cavar ontem, acho que descobri o problema, mas não tenho certeza de como prová-lo. O banco de dados OLTP de produção gerencia conteúdo para menus digitais em todo o país que estão ligando para casa constantemente para verificar se há novos conteúdos. Na maioria das vezes não há nada para mudar e as consultas para descobrir terminam em milissegundos. Por mais que eles enviem sobre esse processo acaba rodando em média 4500 consultas por segundo. Isso pode ser a causa do meu problema? O grande volume de transações provenientes do nosso servidor web. Se sim, como posso provar isso? Já tentei fazer com que esses bancos de dados fossem executados em máquinas separadas, pois esse banco de dados OLTP está crescendo muito rapidamente, assim como nosso datawarehouse e, de todas as minhas leituras, manter seus bancos de dados OLAP e OLTP no mesmo servidor é considerado uma prática ruim.

sql-server sql-server-2008
  • 2 2 respostas
  • 1439 Views

2 respostas

  • Voted
  1. Best Answer
    billinkc
    2013-02-26T11:31:19+08:002013-02-26T11:31:19+08:00

    Com algumas conversas off-line, Zane conseguiu determinar que , se pudessem manter uma conexão aberta, isso aceleraria a validação.

    Para esse fim, sugeri que eles alterassem a propriedade no Connection Manager para inverter a propriedade RetainSameConnection Truede seu padrão.

    • 1
  2. HLGEM
    2013-02-26T06:58:45+08:002013-02-26T06:58:45+08:00

    Junções de mesclagem e classificação são notoriamente lentas. É possível escrever uma consulta para a fonte OLE Db que tenha junções?

    • 0

relate perguntas

  • Quais são as principais causas de deadlocks e podem ser evitadas?

  • Quanto "Padding" coloco em meus índices?

  • Existe um processo do tipo "práticas recomendadas" para os desenvolvedores seguirem para alterações no banco de dados?

  • Como determinar se um Índice é necessário ou necessário

  • Downgrade do SQL Server 2008 para 2005

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como fazer a saída do sqlplus aparecer em uma linha?

    • 3 respostas
  • Marko Smith

    Selecione qual tem data máxima ou data mais recente

    • 3 respostas
  • Marko Smith

    Como faço para listar todos os esquemas no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Conceder acesso a todas as tabelas para um usuário

    • 5 respostas
  • Marko Smith

    Listar todas as colunas de uma tabela especificada

    • 5 respostas
  • Marko Smith

    Como usar o sqlplus para se conectar a um banco de dados Oracle localizado em outro host sem modificar meu próprio tnsnames.ora

    • 4 respostas
  • Marko Smith

    Como você mysqldump tabela (s) específica (s)?

    • 4 respostas
  • Marko Smith

    Listar os privilégios do banco de dados usando o psql

    • 10 respostas
  • Marko Smith

    Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Como faço para listar todos os bancos de dados e tabelas usando o psql?

    • 7 respostas
  • Martin Hope
    Stéphane Como faço para listar todos os esquemas no PostgreSQL? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh Por que o log de transações continua crescendo ou fica sem espaço? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland Listar todas as colunas de uma tabela especificada 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney O MySQL pode realizar consultas razoavelmente em bilhões de linhas? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx Como posso monitorar o andamento de uma importação de um arquivo .sql grande? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison Como você mysqldump tabela (s) específica (s)? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    pedrosanta Listar os privilégios do banco de dados usando o psql 2011-08-04 11:01:21 +0800 CST
  • Martin Hope
    Jonas Como posso cronometrar consultas SQL usando psql? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas Como faço para listar todos os bancos de dados e tabelas usando o psql? 2011-02-18 00:45:49 +0800 CST

Hot tag

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve