Computer >> 컴퓨터 >  >> 체계 >> Linux

Linux 서버를 벤치마킹하여 최고의 서버를 선택하는 방법

Linux 서버를 벤치마킹하여 최고의 서버를 선택하는 방법

가상 사설 서버 또는 전용 서버가 필요한 경우 많은 옵션이 있습니다. 그리고 시장은 넘쳐나고 끊임없이 진화하기 때문에 모든 사람을 위한 "최고의 시장"은 없습니다. 또는 적어도 모든 면에서 "최고의 시장"은 없습니다.

일부 클라우드 제공업체는 가장 빠른 스토리지를 갖춘 가상 사설 서버를 제공할 수 있지만 CPU 성능은 최고가 아닙니다. 다른 공급자가 시장에서 최고의 CPU 성능을 제공할 수 있지만 저장 장치는 더 느립니다. 더욱이 모든 사람들이 경쟁에서 고객을 훔치려고 하는 상황에서 스토리지가 느린 공급자는 6개월 후에 장치를 업그레이드하여 시장에서 최고가 될 수 있습니다. 하지만 벤치마크를 사용하면 여러 제공업체를 비교하고 현재로서는 가장 적합한 제공업체를 선택할 수 있습니다.

벤치마킹에 대한 몇 마디

일반적으로 하드웨어와 함께 특정 사용 사례에 대한 벤치마크를 조정하고 최대 성능 수준에서 장치를 최대한 활용할 수 있는지 확인합니다. 그러나 이 경우 잠재력의 모든 방울을 절대적으로 짜내지 못할 수도 있는 일반 테스트를 실행할 것입니다. 그러나 동일한 운영 체제에서 동일한 매개변수로 실행되기 때문에 동일한 상황에서 어떤 공급자가 다른 공급자보다 더 나은지 나쁜지를 쉽게 비교할 수 있는 실수를 얻을 수 있습니다.

전제조건

  • 최신 Ubuntu 안정 이미지를 운영 체제로 사용합니다. 이 글을 쓰는 시점은 18.04 LTS입니다. 나중에 다른 운영 체제를 사용해도 상관 없습니다. 이렇게 하면 공통의 출발점이 됩니다.
  • 이 튜토리얼의 일부 명령을 조정할 수 있습니다. 그렇게 할 경우 모든 서버에서 정확히 동일한 매개변수를 사용하여 정확한 비교를 수행해야 합니다.
  • 각 서버에서 동일한 벤치마크를 두 번 실행하는 것이 좋습니다. 일부 클라우드 공급자는 일관되지 않은 결과를 제공합니다. 이 경우 게스트 운영 체제 격리가 좋지 않거나 동일한 하드웨어에서 너무 많은 클라이언트를 압축한다는 표시이므로 완전히 피해야 합니다.
  • 이 튜토리얼에서는 루트로 로그인했다고 가정합니다. 일반 사용자로 로그인한 경우 모든 apt 접두사를 붙여야 합니다. apt update && apt install fio와 같은 명령을 sudo로 sudo apt update && sudo apt install fio가 됩니다.

벤치마크 서버 스토리지

먼저 벤치마킹 소프트웨어를 설치합니다.

apt update && apt install fio

fio를 찾을 수 없다는 메시지가 표시되면 유니버스 리포지토리가 활성화되지 않았음을 의미합니다. apt install software-properties-common && add-apt-repository universe로 활성화할 수 있습니다. 그런 다음 위의 명령을 반복하여 fio를 설치합니다.

순차 읽기는 데이터를 연속적으로 읽을 때 발생합니다. 예를 들어, 4GB 파일을 처음부터 끝까지 읽을 때 일반적으로 저장 장치와 현재 사용 중인 파일 시스템에서 가능한 최대 읽기 속도를 보여줍니다. 다음을 사용하여 순차 읽기 테스트를 실행할 수 있습니다.

fio --name=seqread --readwrite=read --direct=1 --ioengine=libaio --bs=1M --size=2000M

이 작업이 20초 이내에 완료되면(일반적으로 스토리지가 SSD에 있는 경우 발생) 아래 코드 줄과 같이 보다 정확한 결과를 얻으려면 읽고 있는 파일의 크기를 늘려야 합니다.

fio --name=seqread --readwrite=read --direct=1 --ioengine=libaio --bs=1M --size=8000M

이 결과에서 주의해야 할 가장 중요한 숫자는 READ: bw입니다. , 다음 그림에서 강조 표시된 부분.

Linux 서버를 벤치마킹하여 최고의 서버를 선택하는 방법

순차 쓰기 속도를 테스트하려면 다음을 실행하십시오.

fio --name=seqwrite --readwrite=write --direct=1 --ioengine=libaio --bs=1M --size=2000M

동일한 번호를 확인하십시오.

가장 스트레스가 많은 조건에서 클라우드 스토리지가 어떻게 작동하는지 테스트하려면 다음 테스트를 실행하세요.

fio --name=randrw --readwrite=randrw --direct=1 --ioengine=libaio --bs=4k --size=200M --group_reporting --numjobs=8

위와 같이 --size를 늘립니다. 테스트가 너무 빨리 끝나는 경우. 이 경우 대역폭은 덜 중요하므로 부차적으로 고려하십시오.

먼저 read: IOPS를 살펴보세요. 및 write: IOPS .

Linux 서버를 벤치마킹하여 최고의 서버를 선택하는 방법

실제 사례로, 서버의 스토리지는 지속적으로 읽고 써야 하는 매우 큰 데이터베이스가 있는 매우 바쁜 웹사이트에서 이와 같이 스트레스를 받을 것입니다.

서버 CPU 및 메모리 벤치마크

Geekbench의 다운로드 페이지를 방문하십시오. 최신 Geekbench 아카이브에 대한 링크를 복사하여 wget에 붙여넣습니다. 명령. 예를 들어, 이 링크를 작성하는 시점은 "https://cdn.geekbench.com/Geekbench-4.3.3-Linux.tar.gz"입니다. 다음 명령은 Geekbench를 서버에 다운로드합니다.

wget https://cdn.geekbench.com/Geekbench-4.3.3-Linux.tar.gz

아카이브에서 파일을 추출합니다.

tar -xzvf *.tar.gz

Linux 서버를 벤치마킹하여 최고의 서버를 선택하는 방법

사용 가능한 프로그램 버전과 동일하고 이전 명령에서 출력된(위 이미지와 같이) 추출된 디렉토리로 변경합니다.

cd Geekbench-4.3.3-Linux

작성 당시 실행 파일의 이름은 geekbench4 , 그러나 이것은 미래에 변경될 수 있습니다. 현재 디렉토리에 있는 파일을 나열합니다.

ls

Linux 서버를 벤치마킹하여 최고의 서버를 선택하는 방법

필요한 경우 실행 파일의 이름을 교체하여 벤치마크를 실행합니다.

./geekbench4

모든 테스트가 완료될 때까지 시간이 걸립니다. 마지막에 결과를 볼 수 있는 링크가 제공됩니다.

Linux 서버를 벤치마킹하여 최고의 서버를 선택하는 방법

벤치마크 서버의 네트워크 대역폭

Speedtest 클라이언트를 설치합니다.

apt install speedtest-cli

벤치마크를 실행합니다.

speedtest

Linux 서버를 벤치마킹하여 최고의 서버를 선택하는 방법

일반적으로 유틸리티는 서버에 최대한 가까운 테스트 서버를 찾아야 합니다. 위치 감지에 실패하면 다음과 같은 명령을 사용하여 해당 국가의 서버를 수동으로 나열할 수 있습니다.

speedtest --list | grep -i germany

목록에서 번호를 선택하고 다음 코드 줄과 같이 다음 명령에 전달합니다.

speedtest --server 4462

speedtest에서 사용하는 일부 서버는 현재 사용 가능한 대역폭이 많지 않을 수 있으므로 벤치마크가 너무 낮은 값을 반환하는 것 같으면 다른 업로드/다운로드 서버를 사용해 보십시오.

결론

CPU, 메모리, 스토리지 및 네트워크의 기본 벤치마킹을 다룹니다. 각 테스트 후에 특정 작업 부하에 가장 적합한 서버를 선택하기 위해 비교할 수 있는 숫자가 있습니다.