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 / 162196
Accepted
Kevin3NF
Kevin3NF
Asked: 2017-01-26 07:14:26 +0800 CST2017-01-26 07:14:26 +0800 CST 2017-01-26 07:14:26 +0800 CST

Como rastrear a memória SSIS e o desempenho da CPU?

  • 772

Posso estar faltando algumas peças neste quebra-cabeça, mas é isso que eu tenho:

Tudo isso foi escrito para nós por uma empresa externa.

Existe uma aplicação .Net que funciona como um serviço no Servidor A.

Dentro desse aplicativo, os pacotes SSIS estão sendo chamados. DTEXEC?

Esses pacotes (37 no total) alcançam dois SQL Servers (B&C) diferentes, extraem alguns dados, realizam cálculos neles e inserem os resultados em um banco de dados no Servidor C.

Dos 37 pacotes, apenas alguns deles são minha área problemática. Eu vi os detalhes, e há muitas, muitas tarefas neles.

Não há componentes do SQL Server (mecanismo de banco de dados ou SSIS) no Servidor A em que o aplicativo .Net reside, portanto, tudo isso ocorre internamente ao aplicativo. .Net está usando 1 nó NUMA de 20 núcleos, 1 TB de RAM na caixa.

Este aplicativo é a versão 3.0, com novas funcionalidades adicionadas. 2.4 (versão anterior) funciona bem em hardware idêntico.

Todo esse pano de fundo para perguntar isso:

Existe alguma maneira de encontrar T-SQL de baixo desempenho dentro dos pacotes SSIS que estão dentro do aplicativo .Net? Ou estou perdendo algo extremamente óbvio na equação?
O que se resume é: "onde estão os cálculos/T-SQL realmente em execução" (A vs B/C) e como faço para rastreá-los/ajustá-los se estiver dentro do espaço .Net?

Profiler, sp_whoisactiveetc. todos apontam para instâncias SQL. Tudo isso está acontecendo apenas dentro do aplicativo .Net, com pequenas exceções para selecionar dados de B e inserir em C após os cálculos. Toda a rede, disco, etc. está funcionando perfeitamente. Estou procurando uma ferramenta de ajuste que possa alcançar o .Net SSIS se tal coisa existir.

É definitivamente um problema de ajuste, mas Profiler, sp_whoisactiveetc. não mostram nada mais do que talvez 3 segundos, mais bem abaixo de 1/2 segundo ou menos. Eu não sei o suficiente sobre .Net para saber se essas tarefas T-SQL estão realmente sendo executadas no servidor A dentro desse espaço de memória como eu acho que são, ou se há tantas delas que estão agregando em "muito tempo ".

Eu gostaria de ter permissão para habilitar o log pesado no SSIS, mas isso faz parte do código do fornecedor que não tenho permissão para tocar, mesmo para log :(

sql-server performance
  • 2 2 respostas
  • 3623 Views

2 respostas

  • Voted
  1. Best Answer
    Kevin3NF
    2017-08-31T09:27:38+08:002017-08-31T09:27:38+08:00

    O ambiente ao qual esta pergunta foi direcionada já foi demolido e redefinido várias vezes.

    O problema apareceu novamente na iteração UAT atual... e descobrimos que alguém havia apontado parte do aplicativo para a versão de 32 bits do dtexec.exe em Arquivos de Programas (x86), em vez da versão correta de 64 bits.

    opa. Muita pesquisa e esse post do DBA.SE me levou até lá.

    Mensagens em meus logs que não tive na primeira vez:

    Not enough Storage is available to complete this operation
    A buffer failed while allocating x bytes
    The attempt to add a row to the Data Flow task buffer failed
    

    Há também alguns contadores de perfmon específicos do SSIS que ajudaram: insira a descrição da imagem aqui

    Eu detalhei muitos dos meus passos aqui: http://dallasdbas.com/ssis-memory-errors/

    Espero que isso ajude alguém no caminho!

    • 2
  2. SQL_Deadwood
    2017-01-26T21:50:10+08:002017-01-26T21:50:10+08:00

    Você já olhou para o refletor do RedGate ? Parece exatamente o que você está procurando.

    Nota: não tenho afiliação com RedGate. Pesquisas na web resolvem problemas!

    • 1

relate perguntas

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

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

  • Onde posso encontrar o log lento do mysql?

  • Como posso otimizar um mysqldump de um banco de dados grande?

Sidebar

Stats

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

    conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host

    • 12 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

    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
    Jin conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host 2014-12-02 02:54:58 +0800 CST
  • 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
    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