SSD보다 메모리에서 SQL을 더 빠르게 실행하고 있습니까?


12

최근 우리는 지금까지 알고있는 1 개의 쿼리에서 Oracle 데이터베이스를 잠그는 데 문제가있었습니다.

나는 무슨 일이 일어나고 있는지에 대한 분석을 제공 할 것이지만 실제로 내 질문과 관련이 많지 않지만 제안에 개방적입니다.

간헐적으로 언제 발생하는지 알지 못하고 지난 달에 4 번 발생했으며 사용자는 응용 프로그램에서 무언가를 클릭합니다. 사용자가 클릭 한 내용을 여전히 알 수 없습니다. 무엇이든 클릭하면 약 700k 행을 생성하는 데이터베이스에서 쿼리가 실행됩니다.

쿼리가 실행되는 테이블을 확인했으며 인덱스가 좋아 보입니다.

데이터베이스는 60GB이며 서버에는 32GB가 있습니다.

데이터베이스 서버의 로그에서 높은 I / O가 표시되지만 CPU와 RAM은 동일하게 유지됩니다.

하나의 응용 프로그램 서버 인 CPU는 약 75 %까지 올라갑니다. 작업자 프로세스를 찾고 PID를 찾을 수 있지만 작업자 프로세스와 관련된 PID를 종료하면 CPU가 잠깐 동안 내려간 다음 다시 위로 이동합니다.

또한 응용 프로그램 풀을 재활용하고 IIS를 다시 시작해도 CPU가 잠시 중단 된 다음 바로 백업됩니다.

서버를 온라인 상태로 되돌릴 수있는 유일한 방법은 재시작입니다.

따라서이 쿼리가 데이터베이스를 캐시하고 메모리가 부족하도록 상자에서 메모리를 늘릴 수있는 이유입니다. 나는 이것을 한 번 들었지만 그것이 사실인지 확실하지 않습니다.

스토리지는 3 계층의 HP PAR 3이며 데이터베이스는 SSD 계층에 거의 있습니다.

더 빠른 SSD 또는 메모리

답변:


6

더 빠른 SSD 또는 메모리

DRAM은 NAND 플래시보다 빠릅니다. RAM 액세스는 100ns 정도이며 SSD 임의 읽기는 약 16,000ns입니다. 모든 프로그래머가 알아야 할 지연 시간

무슨 일이 일어나고 있는지에 대한 체계적인 분석이 필요합니다. 다른 시스템에 대해 간접적으로 뭔가를 들었 기 때문에 변경하지 마십시오. 이 시스템의 문제점을 찾으십시오.

다행히 DBMS 시스템에는 성능 도구가있는 경향이 있습니다. Oracle 및 기타 RDBMS는 EXPLAIN PLAN전체 스캔 및 기타 비 효율성을 보여 주어야합니다. 인덱스를 사용해도 쿼리가 끔찍하게 수행 될 수 있습니다. 병목 현상을 찾기 위해 Oracle AWR과 같은 시스템 성능 보고서도 있습니다. DB 성능에 대한 자세한 내용은 자매 사이트 ( /dba//)에 문의 하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.