Executando SQL a partir da memória mais rapidamente que o SSD?

12

Recentemente, tivemos problemas com nosso banco de dados oracle bloqueando uma consulta que conhecemos até agora.

Darei uma explicação do que está acontecendo, mas realmente não tem muito a ver com a minha pergunta, mas estou aberto a sugestões.

Intermitentemente, não é possível dizer quando isso acontecerá, aconteceu quatro vezes no mês passado, um usuário clicará em algo no aplicativo. O que o usuário está clicando ainda é desconhecido. Quando o que é clicado, ele executa uma consulta no banco de dados que gera cerca de 700k linhas.

Eu verifiquei a tabela em que a consulta está sendo executada e os índices parecem bons.

O banco de dados é de 60 GB, há 32 GB no servidor.

Nos logs no servidor de banco de dados, vejo alta E / S, mas CPU e RAM permanecem iguais.

No servidor de aplicativos, a CPU sobe para cerca de 75%. Posso encontrar o processo de trabalho, encontrar o PID, no entanto, quando eu mato o PID associado ao processo de trabalho, a CPU diminui brevemente e depois volta a funcionar.

Além disso, reciclando o pool de aplicativos e reiniciando o IIS faz a mesma coisa, a CPU diminui brevemente e depois volta a funcionar.

A única coisa que pode ser feita para colocar o servidor de volta na linha é uma reinicialização.

Portanto, minha sugestão, se essa consulta é o que está causando os bloqueios, a memória pode ser aumentada na caixa para permitir que o banco de dados seja armazenado em cache e fique sem memória. Ouvi isso uma vez, mas não tenho certeza se é verdade.

O armazenamento é um HP PAR 3 com 3 camadas e o banco de dados praticamente permanece na camada SSD.

Que é mais rápido SSD ou memória

Anthony Fornito
fonte

Respostas:

6

Que é mais rápido SSD ou memória

A DRAM é mais rápida que o flash NAND. Um acesso à RAM é da ordem de 100 ns, enquanto um SSD lê aleatoriamente cerca de 16.000 ns. Números de latência que todo programador deve saber

Você precisa fazer uma análise sistemática do que está acontecendo e por quê. Não mude as coisas apenas porque você ouviu algo em segunda mão sobre outro sistema. Encontre qual é o problema neste sistema.

Felizmente, os sistemas DBMS tendem a ter ferramentas de desempenho. O Oracle e outros RDBMS precisam EXPLAIN PLANmostrar varreduras completas e outras ineficiências. As consultas podem ter um desempenho terrível, mesmo com índices. Também existem relatórios de desempenho do sistema, como o Oracle AWR, para encontrar gargalos. Se você deseja saber mais sobre o desempenho do banco de dados, também pode solicitar nosso site irmão, /dba//

John Mahowald
fonte