>  기사  >  시스템 튜토리얼  >  Linux가 디스크 속도를 여러 번 높일 수 있습니까? 다음은 일급비밀 IO 최적화 팁입니다!

Linux가 디스크 속도를 여러 번 높일 수 있습니까? 다음은 일급비밀 IO 최적화 팁입니다!

王林
王林앞으로
2024-02-10 12:00:201164검색

Linux가 디스크 속도를 여러 번 높일 수 있습니까? 다음은 일급비밀 IO 최적화 팁입니다!

컴퓨터 시스템에서 IO 작업은 가장 일반적이고 시간이 많이 걸리는 작업 중 하나입니다. Linux 사용자의 경우 IO 성능 최적화가 매우 중요합니다. 그러나 많은 사람들은 더 빠른 디스크 읽기 및 쓰기 속도를 달성하기 위해 IO를 최적화하는 방법을 모릅니다. 이 기사에서는 Linux 시스템의 디스크 속도를 여러 번 높이는 몇 가지 효율적인 IO 최적화 기술을 소개합니다!

fio는 Linux 시스템에서 사용하기 더 편리하고, iometer는 윈도우 시스템에서 사용하기 더 편리합니다. Orion은 Oracle 데이터베이스를 설치하지 않고도 Oracle 데이터베이스 시나리오 읽기 및 쓰기를 시뮬레이션할 수 있는 Oracle의 IO 테스트 소프트웨어입니다.

다음은 Linux 시스템에서 fio 도구를 사용하여 SAN 스토리지에 대한 IO 테스트입니다.

1. fio를 설치하세요

방법 1: fio 공식 홈페이지에서 fio-2.1.10.tar 파일을 다운로드하여 압축을 푼 후 ./configure, make, make install 후 fio를 사용하시면 됩니다.

방법 2: Linux 시스템에서 yum을 통해 설치, yum install -y fio

2. [neiqian]fio[/neiqian] 매개변수 설명

fio -help를 사용하여 각 매개변수를 볼 수 있으며, 공식 웹사이트에서 문서화하는 방법을 볼 수 있습니다. 다음은 몇 가지 공통 매개변수 설명입니다. 으아아아

3. FIO 테스트 시나리오 및 보고서 생성에 대한 자세한 설명

테스트 시나리오:

100% 무작위, 100% 읽기, 4K

으아아아

100% 무작위, 100% 작성, 4K

으아아아

100% 순차, 100% 읽기, 4K

으아아아

100% 순차, 100% 작성, 4K

으아아아

100% 무작위, 70% 읽기, 30% 쓰기 4K

으아아아

결과 보고서 보기:

으아아아

4. 확장된 IO 대기열 깊이

어떤 순간에는 대기열에 있는 IO 요청과 디스크에서 처리 중인 IO 요청을 포함하여 N개의 기내 IO 요청이 있습니다. N은 대기열 깊이입니다.

하드 디스크 대기열 깊이를 늘리는 것은 하드 디스크가 지속적으로 작동하도록 하고 하드 디스크의 유휴 시간을 줄이는 것입니다.
대기열 깊이 증가 -> 활용도 향상 -> IOPS 및 MBPS 최대치 획득 -> 응답 시간이 허용 가능한 범위 내에 있습니다.
대기열 깊이를 늘리는 방법에는 여러 가지가 있습니다. 비동기 IO를 사용하고 동시에 여러 IO 요청을 시작하는 것은 대기열에 여러 IO 요청을 시작하는 것과 같습니다. 동기 IO 요청을 시작하는 여러 스레드는 대기열에 여러 IO 요청을 두는 것과 같습니다.
애플리케이션 IO 크기를 늘리면 하위 계층에 도달한 후 다중 IO 요청이 되며 이는 대기열의 다중 IO 요청과 동일합니다.
대기열 깊이가 증가하면 대기열에서 IO의 대기 시간도 증가하므로 IO 응답 ​​시간이 길어지므로 절충이 필요합니다.

왜 디스크 I/O를 병렬화해야 합니까? 주요 목적은 애플리케이션의 성능을 향상시키는 것입니다. 이는 여러 개의 물리적 디스크로 구성된 가상 디스크(또는 LUN)의 경우 특히 중요합니다.

I/O가 한 번에 하나씩 제출되면 응답 시간은 더 짧아지지만 시스템 처리량은 매우 작습니다.
이에 비해 한 번에 여러 I/O를 제출하면 머리 이동 거리가 단축될 뿐만 아니라(엘리베이터 알고리즘을 통해) IOPS도 향상됩니다.
엘리베이터가 한 번에 한 사람만 태울 수 있다면 모든 사람이 엘리베이터를 타면 목적지에 빨리 도착할 수 있지만(응답 시간) 대기 시간(대기열 길이)이 더 길어집니다.
한 번에 여러 I/O를 디스크 시스템에 제출하면 처리량과 전체 응답 시간의 균형이 유지됩니다.

기본 대기열 깊이를 보기 위한 Linux 시스템:

으아아아

테스트를 위해 dd 명령을 사용하여 bs=2M을 설정합니다. 으아아아

1000+0개 읽기 기록 1000+0개 쓰기 기록 2097152000바이트(2.1GB) 복사, 10.6663초, 197MB/초

으아아아

2MB IO가 하위 레이어에 도달한 후 여러 개의 512KB IO로 바뀌는 것을 볼 수 있습니다. 평균 대기열 길이는 2.39이고 이 하드 디스크의 사용률은 97%이고 MBPS는 197MB/s에 도달합니다.

(왜 512KB IO가 되나요? 구글을 이용하면 커널 파라미터 max_sectors_kb의 의미와 사용법을 확인할 수 있습니다.) 즉, 큐 깊이를 늘리면 하드 디스크의 최고 값을 테스트할 수 있습니다.

5. Linux 시스템에서 IO 명령 iostat 보기에 대한 자세한 설명 으아아아

출력 매개변수 설명: 으아아아

이 기사를 통해 우리는 몇 가지 효율적인 IO 최적화 기술을 통해 Linux 시스템의 디스크 읽기 및 쓰기 속도를 향상시키는 방법을 배웠습니다. 이러한 기술에는 IO 스케줄러 사용, 불필요한 서비스 비활성화, 파일 시스템 매개변수 조정 등이 포함됩니다. IO 성능을 최적화하는 과정에서 주의를 기울여 필요에 따라 가장 적합한 최적화 솔루션을 선택하십시오. 최적화된 시스템은 더 빠르고 원활한 디스크 읽기 및 쓰기 환경을 제공하고 작업 효율성을 향상하며 요구 사항을 더 잘 충족합니다.

위 내용은 Linux가 디스크 속도를 여러 번 높일 수 있습니까? 다음은 일급비밀 IO 최적화 팁입니다!의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 lxlinux.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제