Esegui SQL dalla memoria più velocemente di SSD?


12

Di recente abbiamo avuto problemi con il nostro database Oracle che bloccava una query che conosciamo finora.

Darò una ripartizione di ciò che accade, ma in realtà non ha molto a che fare con la mia domanda, ma sono aperto a suggerimenti.

A intermittenza non si dice quando accadrà, è successo 4 volte nell'ultimo mese, un utente farà clic su qualcosa nell'applicazione. Ciò che l'utente sta facendo clic è ancora sconosciuto. Quando si fa clic, verrà eseguita una query sul database che genererà circa 700.000 righe.

Ho verificato la tabella con cui viene eseguita la query e gli indici sembrano buoni.

Il database è di 60 GB, ci sono 32 GB sul server.

Dai registri sul server database vedo I / O elevato ma CPU e RAM rimangono invariate.

Uno del server delle applicazioni, la CPU arriva fino a circa il 75%. Posso trovare il processo di lavoro, trovare il PID, tuttavia quando uccido il PID associato al processo di lavoro la CPU si spegne brevemente e poi torna indietro.

Anche il riciclo del pool di applicazioni e il riavvio di IIS fanno la stessa cosa, la CPU si spegnerà brevemente e poi tornerà indietro.

L'unica cosa che può essere fatta per riportare il server in linea è un riavvio.

Quindi il mio suggerimento SE questa query è ciò che sta causando i blocchi, è possibile aumentare la memoria nella casella per consentire al database di essere memorizzato nella cache ed esaurire la memoria. L'ho sentito una volta, ma non sono sicuro che sia vero.

L'archiviazione è un PAR 3 HP con 3 livelli e il database risiede praticamente nel livello SSD.

Qual è l'SSD o la memoria più veloce

Risposte:


6

Qual è l'SSD o la memoria più veloce

DRAM è più veloce del flash NAND. Un accesso alla RAM è dell'ordine di 100 ns, mentre un SSD casuale legge circa 16.000 ns. Numeri di latenza che ogni programmatore dovrebbe conoscere

Devi fare un'analisi sistematica di ciò che sta accadendo e perché. Non cambiare le cose semplicemente perché hai sentito qualcosa di seconda mano su un altro sistema. Trova qual è il problema su questo sistema.

Fortunatamente i sistemi DBMS tendono ad avere strumenti di prestazione. Oracle e altri RDBMS devono EXPLAIN PLANmostrare scansioni complete e altre inefficienze. Le query possono essere terribili anche con gli indici. Esistono anche rapporti sulle prestazioni del sistema come Oracle AWR per trovare colli di bottiglia. Se desideri ulteriori informazioni sulle prestazioni del DB, puoi anche chiedere al nostro sito affiliato , /dba//

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.