이 작업에는 위험이 있습니까?
vmtouch -dl /mysql-data-folder
192GB RAM 및 50GB mysql 데이터 폴더가 있는 프로덕션 서버에서.
vmtouch 란 무엇입니까??
사람들이 가상 터치
vmtouch는 명령줄에 제공된 각 파일을 열고 mmap(2)을 사용하여 이를 가상 메모리에 매핑합니다. 매핑이 읽기 전용으로 열립니다. 모든 디렉터리를 재귀적으로 크롤링하고 그 안에 있는 모든 파일에 대해 동일한 작업을 수행합니다.
(tx @ipor는 man vmtouch를 포함해야 한다고 지적했습니다)
내 목표는 다음과 같습니다
더 빠른 SQL 쿼리를 구현합니다. Linux 캐시에 mysql 데이터 폴더를 유지하면 SSD보다 읽기 속도가 10배 더 빨라질 것이라고 생각합니다. 데이터를 더 빠르게 읽을 수 있으면 쿼리는 결과를 더 빠르게 반환하며 다른 모든 것은 동일합니다.
내 질문은 다음과 같습니다
mysql 데이터 폴더를 Linux 캐시에 보관하면 데이터 손실 가능성이 높아 집니까?
내 조언은 다음과 같습니다.
아니요
내 추론은 다음과 같습니다.
mysql에 의해 동기화가 호출되고 데이터가 디스크에 기록되므로 쓰기에는 위험이 없습니다.
계획되지 않은 가동 중지 시간이 발생할 가능성은 얼마나 됩니까?
호스팅 시설의 정전으로 인해 지난 1년 동안 2번의 예상치 못한 종료를 경험한 프로덕션 서버입니다.
두 경우 모두 mysql에서 오류가 없습니다.
데이터 손실 위험이 커지지 않도록 하고 싶습니다.
답변1
man vmtouch
:
vmtouch는 명령줄에 제공된 각 파일을 열고 mmap(2)을 사용하여 이를 가상 메모리에 매핑합니다. 매핑이 켜져 있습니다.읽기 전용. 모든 디렉터리를 재귀적으로 크롤링하고 그 안에 있는 모든 파일에 대해 동일한 작업을 수행합니다.