Table of Contents |
---|
...
Info |
---|
로컬 I/O 측면의 지연(latency), 처리량(throughput) 최적화는 복제 측면의 최적화로 다루어져야 합니다. 이에 대해선 다음의 내용을 참고하십시요
|
...
압축 플러그인을 설정하는 명령어는 아래와 같습니다.
압축 타입 | 명령 | 출력 예시 | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
IQA | drx-ctl set compress iqa [level] [connect name] |
| |||||||||
ZLIB | drx-ctl set compress zlib [level] [connect name] |
| |||||||||
LZ4 | drx-ctl set compress lz4 [level] [connect name] |
| |||||||||
NONE | drx-ctl set compress none 0 [connect name] |
|
...
- 성능에 미치는 영향에 대한 QA팀의 분석 자료
/wiki/spaces/QA/pages/819396836
압축 종류 CPU Core 개수 자동 계산된 thread 개수 S/W Zlib Level 1 8 Core / 1GBps 4개 H/W Zlib Level 1 16 Core / 2GBps 8개
- 명령어
Code Block theme DJango title process-thread-count collapse true < 설정 > [root@c73-qat-1 drbd.d]# drx-ctl set process-thread-count 10 Result: done. [root@c73-qat-1 drbd.d]# < 설정 확인 > [root@c73-qat-1 drbd.d]# drx-ctl show all ...(생략)... ip-verification=on process-thread-count=10 [root@c73-qat-1 drbd.d]#
7.4. 기타
...
7.4.1 Linux Kernel Network Parameter
DRX 전용 어플라이언스의 경우 DRBD와 연동되는 로컬 복제 I/O 수신 구간에 대해 최적화를 수행할 수 있습니다. DRX는 기본적으로 응용주소 공간에서 버퍼링을 수행하도록 되어 있어서 DRBD와 직접적으로 연동되는 어플라이언스의 OS 커널의 수신성능에 따라 버퍼링 성능 차이가 있을 수 있습니다. 따라서 이 OS 커널 소켓의 수신버퍼를 조절하여 RX 수신 성능이 더욱 향상되도록 조절할 수 있습니다. OS 커널의 수신버퍼를 충분히 확보할 수 있도록 다음과 같은 내용을 OS 커널에 적용할 필요가 있습니다.
7.4.1 Linux Kernel Network Parameter
Info |
---|
sysctl을 이용해서 값을 변경하는 것은 시스템이 crash될 위험 요소가 있다는 것을 인지해야 합니다. 시스템에 무리한 값을 설정했을 경우 그 즉시 시스템이 멈출 수도 있기 때문에 충분한 테스트 후에 진행되야 합니다. |
...
- TCP socket buffer size 변경
- 테스트에 사용한 서버 : Appendix D. Appliance Configuration Guide의 서버
- 참고 문서 링크 : https://www.ibm.com/support/knowledgecenter/en/SSZTET_10.1/smpi01/smpi01_tysfbpjp.html
- Default : 208KBytes
Code Block theme DJango [root@c73-qat-1 drbd.d]# sysctl -a | grep net.core.[rw]mem net.core.rmem_default = 212992 net.core.rmem_max = 212992 net.core.wmem_default = 212992 net.core.wmem_max = 212992 [root@c73-qat-1 drbd.d]#
- 수정 명령어 : max만 2 MBytes로 변경합니다.
Code Block theme DJango sysctl -w net.core.rmem_max="2097152" sysctl -w net.core.wmem_max="2097152"
Info 설정한 값은 절대 수치가 아니며 서버 및 네트워크 환경에 따라서 성능 결과가 다를수 있습니다.
7.4.2 VIRT 사용량 조정
VIRT는 프로세스가 사용하는 총 메모리양이며, 환경 변수 MALLOC_ARENA_MAX를 통해서 조정할 수 있습니다.
Info |
---|
환경 변수 MALLOC_ARENA_MAX설정은 프로세스의 메모리풀을 조정하기 때문에 전체 시스템에 대한 영향이 있을 수 있습니다. 충분한 테스트 후에 진행되야 합니다. |
- 환경 변수 MALLOC_ARENA_MAX 값을 설정하는 방법
Code Block $> export MALLOC_ARENA_MAX=1
Info 예제로 설정한 "1"은 절대값이 아니며 서버 및 환경에 따라서 다르게 설정되야 합니다.
- 고려 사항
- MALLOC_ARENA_MAX 값을 변경하면 VIRT 사용률을 줄여서 메모리풀을 확보하지만 CPU 사용률이 증가할 수 있습니다.
- MALLOC_ARENA_MAX 값을 변경하면 VIRT 사용률을 줄여서 메모리풀을 확보하지만 CPU 사용률이 증가할 수 있습니다.