minio의 벤치마크를 공식 툴인 warp를 사용해 취해 본다.
개요
위의 기사에서 만든 구성의 벤치 마크를 공식 벤치 마크 도구? 의
warp를 사용해 취득해 본다.
왜 이 기사를 썼는지
warp가 은근하게 사용할 수 있어 편리했기 때문에, 슈와 정리하려고 생각했다.
별로 기사도 없는 것 같고.
warp는 어떤 도구?
공식 리포지토리에 썼다.
주의 사항이라든지 쓰고 있기 때문에 그쪽을 읽는 것이 좋다.
정리하면,
단순히 하나의 호스트에서 어떤 mino에 대한 부하를 벤치 마크 테스트를 실행하는 것뿐만 아니라,
여러 대의 호스트에서 한 minio에 대해 실행하거나,
단일 호스트 또는 여러 호스트에서 minio 그룹에 대해 벤치 마크 테스트를 실행할 수 있습니다.
벤치마크 테스트끼리의 결과를 비교해 주는 도구.
DDOS가 되어 버리지 않게 하자.
전제
warp가 은근하게 사용할 수 있어 편리했기 때문에, 슈와 정리하려고 생각했다.
별로 기사도 없는 것 같고.
warp는 어떤 도구?
공식 리포지토리에 썼다.
주의 사항이라든지 쓰고 있기 때문에 그쪽을 읽는 것이 좋다.
정리하면,
단순히 하나의 호스트에서 어떤 mino에 대한 부하를 벤치 마크 테스트를 실행하는 것뿐만 아니라,
여러 대의 호스트에서 한 minio에 대해 실행하거나,
단일 호스트 또는 여러 호스트에서 minio 그룹에 대해 벤치 마크 테스트를 실행할 수 있습니다.
벤치마크 테스트끼리의 결과를 비교해 주는 도구.
DDOS가 되어 버리지 않게 하자.
전제
우선 소개
warp 이미지의 Dockerfile 보고 있으면 entrypoint에 ./warp가 있으므로, docker container run시에 다양한 인수를 건네주면 좋다고 알 수 있다.
인터넷을 넘어 벤치마크 테스트해 보기
HAProxy를 통해서도 밸런싱하지 않고, 1대의 minio에 대해서 실시해 본다
HAProxy의 설정으로 밸런스하지 않게 하는 것만으로, warp는 관계없다.
sudo docker run --rm docker.io/minio/warp:latest \
mixed --host=HAProxyのIP:9000 \
--access-key=AKIAIOSFODNN7EXAMPLE \
--secret-key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY \
--objects 100 --obj.size 1MiB --autoterm
# 例
sudo docker run --rm docker.io/minio/warp:latest \
mixed --host=proxy.tmktmk.tmk:9000 \
--access-key=AKIAIOSFODNN7EXAMPLE \
--secret-key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY \
--objects 100 --obj.size 1MiB --autoterm
HAProxy를 통해 roundrobin으로 밸런싱하여 5대의 minio에 대해 실시해 보기
HAProxy 설정으로 밸런스 할 뿐이므로, warp는 관계 없기 때문에 전항의 커멘드와 함께 (ry
minio에 직접 벤치마크 테스트 실시해 보기
전제의 그림에는 없지만 SW에 연결되는 인스턴스를 하나 만들고,
다음 두 가지 패턴으로 실행했습니다.
하나의 minio에 대해 실행하여 실행 결과를 연결된 디렉토리에 저장
192.168.5.21의 minio에 대해 실행하십시오!--benchdata
에서 벤치마크 테스트 결과를 출력할 위치를 지정할 수 있습니다.
컨테이너의 /test_dir/
라는 곳에 from_inside_node1
라고 파일명으로 작성하는 느낌.
확장자는 자동으로 붙는다.
로컬 /home/ubuntu/result_tank/
는 컨테이너에 /test_dir
로 첨부됩니다.
sudo docker run -it \
-v /home/ubuntu/result_tank/:/test_dir \
docker.io/minio/warp:latest mixed --host=192.168.5.21:9000 \
--access-key=AKIAIOSFODNN7EXAMPLE \
--secret-key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY \
--objects 1250 --obj.size 10MiB --autoterm \
--benchdata /test_dir/from_inside_node1
5대의 minio에 대해 실행하여 실행 결과를 첨부한 디렉토리에 저장
변경점은 --host=192.168.5.21:9000
이었던 전항의 부분을
--host=192.168.5.2{1...5}:9000
로 바꿀 뿐. 이제 5.21 ~ 25의 minio에 대해 벤치마크 테스트를 실행하게 된다.
아, 파일 이름은 from_inside_node1
부터
from_inside_node1to5
로 바꿨습니다. 다음 섹션에서 각 결과를 비교하고 싶습니다.
실행 결과 비교
인수 cmp를 사용하여 비교합니다.
시계열 순서가 아닌 지정된 순서로 비교됩니다. (공식의 이 근처에 쓰고 있다.)
다음의 경우 from_inside_node1.csv.zst가 이전이고 from_inside_node1to5.csv.zst가 나중에 비교됩니다.
sudo docker run -it \
-v /home/ubuntu/result_tank/:/test_dir \
docker.io/minio/warp:latest \
cmp /test_dir/from_inside_node1.csv.zst /test_dir/from_inside_node1to5.csv.zst
다음과 같은 느낌으로 결과가 표시됩니다.
-------------------
Operation: DELETE
Operations: 385 -> 722
Endpoints: 1 -> 5
* Average: +87.90% (+1.1) obj/s
-------------------
Operation: GET
Operations: 1753 -> 3228
Endpoints: 1 -> 5
* Average: +84.67% (+49.2 MiB/s) throughput, +84.67% (+4.9) obj/s
* First Byte: Average: -86.766995ms (-27%), Median: -35.278689ms (-15%), Best: -4.446406ms (-45%), Worst: -355.010915ms (-25%)
-------------------
Operation: PUT
Operations: 587 -> 1076
Endpoints: 1 -> 5
Duration: 4m59s -> 5m0s
* Average: +84.06% (+16.3 MiB/s) throughput, +84.06% (+1.6) obj/s
-------------------
Operation: STAT
Operations: 1164 -> 2145
Endpoints: 1 -> 5
* Average: +84.17% (+3.3) obj/s
전체적으로 분산하는 편이 퍼포먼스가 오르고 있는 것을 알 수 있다. (그렇지?)
끝에
이번은 벤치마크 테스트의 수법을 mixed로 했지만, get만이라든지 put만도 할 수 있고,
이하와 같은 warp를 실행하는 클라이언트를 늘려 협조하여 벤치마크 테스트를 실행할 수도 있다.
(이미지는 공식 README에서 발췌)
Reference
이 문제에 관하여(minio의 벤치마크를 공식 툴인 warp를 사용해 취해 본다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tomokitamaki/items/b3bd746701b3648133af
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
HAProxy를 통해서도 밸런싱하지 않고, 1대의 minio에 대해서 실시해 본다
HAProxy의 설정으로 밸런스하지 않게 하는 것만으로, warp는 관계없다.
sudo docker run --rm docker.io/minio/warp:latest \
mixed --host=HAProxyのIP:9000 \
--access-key=AKIAIOSFODNN7EXAMPLE \
--secret-key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY \
--objects 100 --obj.size 1MiB --autoterm
# 例
sudo docker run --rm docker.io/minio/warp:latest \
mixed --host=proxy.tmktmk.tmk:9000 \
--access-key=AKIAIOSFODNN7EXAMPLE \
--secret-key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY \
--objects 100 --obj.size 1MiB --autoterm
HAProxy를 통해 roundrobin으로 밸런싱하여 5대의 minio에 대해 실시해 보기
HAProxy 설정으로 밸런스 할 뿐이므로, warp는 관계 없기 때문에 전항의 커멘드와 함께 (ry
minio에 직접 벤치마크 테스트 실시해 보기
전제의 그림에는 없지만 SW에 연결되는 인스턴스를 하나 만들고,
다음 두 가지 패턴으로 실행했습니다.
하나의 minio에 대해 실행하여 실행 결과를 연결된 디렉토리에 저장
192.168.5.21의 minio에 대해 실행하십시오!--benchdata
에서 벤치마크 테스트 결과를 출력할 위치를 지정할 수 있습니다.
컨테이너의 /test_dir/
라는 곳에 from_inside_node1
라고 파일명으로 작성하는 느낌.
확장자는 자동으로 붙는다.
로컬 /home/ubuntu/result_tank/
는 컨테이너에 /test_dir
로 첨부됩니다.
sudo docker run -it \
-v /home/ubuntu/result_tank/:/test_dir \
docker.io/minio/warp:latest mixed --host=192.168.5.21:9000 \
--access-key=AKIAIOSFODNN7EXAMPLE \
--secret-key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY \
--objects 1250 --obj.size 10MiB --autoterm \
--benchdata /test_dir/from_inside_node1
5대의 minio에 대해 실행하여 실행 결과를 첨부한 디렉토리에 저장
변경점은 --host=192.168.5.21:9000
이었던 전항의 부분을
--host=192.168.5.2{1...5}:9000
로 바꿀 뿐. 이제 5.21 ~ 25의 minio에 대해 벤치마크 테스트를 실행하게 된다.
아, 파일 이름은 from_inside_node1
부터
from_inside_node1to5
로 바꿨습니다. 다음 섹션에서 각 결과를 비교하고 싶습니다.
실행 결과 비교
인수 cmp를 사용하여 비교합니다.
시계열 순서가 아닌 지정된 순서로 비교됩니다. (공식의 이 근처에 쓰고 있다.)
다음의 경우 from_inside_node1.csv.zst가 이전이고 from_inside_node1to5.csv.zst가 나중에 비교됩니다.
sudo docker run -it \
-v /home/ubuntu/result_tank/:/test_dir \
docker.io/minio/warp:latest \
cmp /test_dir/from_inside_node1.csv.zst /test_dir/from_inside_node1to5.csv.zst
다음과 같은 느낌으로 결과가 표시됩니다.
-------------------
Operation: DELETE
Operations: 385 -> 722
Endpoints: 1 -> 5
* Average: +87.90% (+1.1) obj/s
-------------------
Operation: GET
Operations: 1753 -> 3228
Endpoints: 1 -> 5
* Average: +84.67% (+49.2 MiB/s) throughput, +84.67% (+4.9) obj/s
* First Byte: Average: -86.766995ms (-27%), Median: -35.278689ms (-15%), Best: -4.446406ms (-45%), Worst: -355.010915ms (-25%)
-------------------
Operation: PUT
Operations: 587 -> 1076
Endpoints: 1 -> 5
Duration: 4m59s -> 5m0s
* Average: +84.06% (+16.3 MiB/s) throughput, +84.06% (+1.6) obj/s
-------------------
Operation: STAT
Operations: 1164 -> 2145
Endpoints: 1 -> 5
* Average: +84.17% (+3.3) obj/s
전체적으로 분산하는 편이 퍼포먼스가 오르고 있는 것을 알 수 있다. (그렇지?)
끝에
이번은 벤치마크 테스트의 수법을 mixed로 했지만, get만이라든지 put만도 할 수 있고,
이하와 같은 warp를 실행하는 클라이언트를 늘려 협조하여 벤치마크 테스트를 실행할 수도 있다.
(이미지는 공식 README에서 발췌)
Reference
이 문제에 관하여(minio의 벤치마크를 공식 툴인 warp를 사용해 취해 본다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tomokitamaki/items/b3bd746701b3648133af
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
sudo docker run -it \
-v /home/ubuntu/result_tank/:/test_dir \
docker.io/minio/warp:latest mixed --host=192.168.5.21:9000 \
--access-key=AKIAIOSFODNN7EXAMPLE \
--secret-key=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY \
--objects 1250 --obj.size 10MiB --autoterm \
--benchdata /test_dir/from_inside_node1
--host=192.168.5.2{1...5}:9000
from_inside_node1to5
인수 cmp를 사용하여 비교합니다.
시계열 순서가 아닌 지정된 순서로 비교됩니다. (공식의 이 근처에 쓰고 있다.)
다음의 경우 from_inside_node1.csv.zst가 이전이고 from_inside_node1to5.csv.zst가 나중에 비교됩니다.
sudo docker run -it \
-v /home/ubuntu/result_tank/:/test_dir \
docker.io/minio/warp:latest \
cmp /test_dir/from_inside_node1.csv.zst /test_dir/from_inside_node1to5.csv.zst
다음과 같은 느낌으로 결과가 표시됩니다.
-------------------
Operation: DELETE
Operations: 385 -> 722
Endpoints: 1 -> 5
* Average: +87.90% (+1.1) obj/s
-------------------
Operation: GET
Operations: 1753 -> 3228
Endpoints: 1 -> 5
* Average: +84.67% (+49.2 MiB/s) throughput, +84.67% (+4.9) obj/s
* First Byte: Average: -86.766995ms (-27%), Median: -35.278689ms (-15%), Best: -4.446406ms (-45%), Worst: -355.010915ms (-25%)
-------------------
Operation: PUT
Operations: 587 -> 1076
Endpoints: 1 -> 5
Duration: 4m59s -> 5m0s
* Average: +84.06% (+16.3 MiB/s) throughput, +84.06% (+1.6) obj/s
-------------------
Operation: STAT
Operations: 1164 -> 2145
Endpoints: 1 -> 5
* Average: +84.17% (+3.3) obj/s
전체적으로 분산하는 편이 퍼포먼스가 오르고 있는 것을 알 수 있다. (그렇지?)
끝에
이번은 벤치마크 테스트의 수법을 mixed로 했지만, get만이라든지 put만도 할 수 있고,
이하와 같은 warp를 실행하는 클라이언트를 늘려 협조하여 벤치마크 테스트를 실행할 수도 있다.
(이미지는 공식 README에서 발췌)
Reference
이 문제에 관하여(minio의 벤치마크를 공식 툴인 warp를 사용해 취해 본다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/tomokitamaki/items/b3bd746701b3648133af
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(minio의 벤치마크를 공식 툴인 warp를 사용해 취해 본다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tomokitamaki/items/b3bd746701b3648133af텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)