hello

synology iscsi의 disk 성능 측정

Share

10G NIC로 연결된 환경에서 sysnology ds923+에서 iscsi를 만들고

이를 연결한 후 sysbench를 수행해봄

리눅스에 먼저 다음을 설치

sudo apt install open-iscsi multipath-tools lsscsi

이후 discover를 하여 target을 찾은 후 TARGET_IQN을 정의

PORTAL_IP=%synology-ip%

sudo iscsiadm -m discovery -t sendtargets -p $PORTAL_IP

TARGET_IQN=%직전 명령어에서 발견한 iqn값%

CHAP 이 없다는 가정하에 DISK와 PART 정의

sudo iscsiadm -m node -T "$TARGET_IQN" -p ${PORTAL_IP}:3260 --login

lsblk -o NAME,SIZE,TYPE,SERIAL

# 등록된 디스크가 sda 였음.

DISK=/dev/sda

sudo parted -s $DISK mklabel gpt
sudo parted -s -a optimal $DISK mkpart primary 0% 100%
PART=${DISK}1

파티션 초기화 및 mount

sudo mkfs.ext4 -F $PART
sudo mount $PART /mnt/iscsi

이제 성능 측정 시작

# 테스트 파일 생성
sysbench fileio --file-total-size=10G prepare
# 아래와 같은 성능이 나옴
# 10737418240 bytes written in 16.58 seconds (617.56 MiB/sec).

# 순차 읽기/쓰기 테스트 수행 -> 결과로 읽기: 13320.09MiB/s, 쓰기: 334.05Mib/s
sysbench fileio --file-total-size=10G --file-test-mode=seqrd --time=60 --max-requests=0 --threads=$(nproc) run
sysbench fileio --file-total-size=10G --file-test-mode=seqwr --time=60 --max-requests=0 --threads=$(nproc) run

# 랜덤 읽기/쓰기 테스트 수행 -> 결과로 읽기:  12917.62MiB/s, 쓰기: 259.02Mib/s 
sysbench fileio --file-total-size=10G --file-test-mode=rndrd --time=60 --max-requests=0 --threads=$(nproc) run
sysbench fileio --file-total-size=10G --file-test-mode=rndwr --time=60 --max-requests=0 --threads=$(nproc) run


nvme가 있는 p41과 성능 비교

# 테스트 파일 생성
sysbench fileio --file-total-size=10G prepare
# 아래와 같은 성능이 나옴
10737418240 bytes written in 6.65 seconds (1539.94 MiB/sec).


# 순차 읽기/쓰기 테스트 수행 -> 결과로 읽기: 13301.94MiB/s, 쓰기: 198.11Mib/s
sysbench fileio --file-total-size=10G --file-test-mode=seqrd --time=60 --max-requests=0 --threads=$(nproc) run
sysbench fileio --file-total-size=10G --file-test-mode=seqwr --time=60 --max-requests=0 --threads=$(nproc) run

# 랜덤 읽기/쓰기 테스트 수행 -> 결과로 읽기:  12972.65MiB/s, 쓰기: 85Mib/s 
sysbench fileio --file-total-size=10G --file-test-mode=rndrd --time=60 --max-requests=0 --threads=$(nproc) run
sysbench fileio --file-total-size=10G --file-test-mode=rndwr --time=60 --max-requests=0 --threads=$(nproc) run

p41의 속도가 이상함. sysbench가 아닌 fio로 재시도

# 순차 읽기
fio --name=seqread \
    --filename=/$PWD/testfile \
    --size=10G \
    --rw=read \
    --bs=1M \
    --iodepth=32 \
    --numjobs=4 \
    --direct=1 \
    --runtime=60 \
    --time_based \
    --group_reporting

Run status group 0 (all jobs):
   READ: bw=6730MiB/s (7057MB/s), 6730MiB/s-6730MiB/s (7057MB/s-7057MB/s), io=394GiB (423GB), run=60001-60001msec

# 순차 쓰기
fio --name=seqwrite \
    --filename=/$PWD/testfile \
    --size=10G \
    --rw=write \
    --bs=1M \
    --iodepth=32 \
    --numjobs=4 \
    --direct=1 \
    --runtime=60 \
    --time_based \
    --group_reporting

Run status group 0 (all jobs):
  WRITE: bw=2003MiB/s (2100MB/s), 2003MiB/s-2003MiB/s (2100MB/s-2100MB/s), io=117GiB (126GB), run=60003-60003msec


# 랜덤 읽기
fio --name=rndread \
    --filename=/$PWD/testfile \
    --size=10G \
    --rw=randread \
    --bs=4k \
    --iodepth=256 \
    --numjobs=8 \
    --direct=1 \
    --ioengine=io_uring \
    --runtime=60 \
    --time_based \
    --group_reporting


Run status group 0 (all jobs): READ: bw=5938MiB/s (6227MB/s), 5938MiB/s-5938MiB/s (6227MB/s-6227MB/s), io=348GiB (374GB), run=60002-60002msec

# 랜덤 쓰기
fio --name=rndwrite \
    --filename=/$PWD/testfile \
    --size=10G \
    --rw=randwrite \
    --bs=4k \
    --iodepth=64 \
    --numjobs=4 \
    --direct=1 \
    --runtime=60 \
    --time_based \
    --group_reporting

Run status group 0 (all jobs):
  WRITE: bw=1315MiB/s (1379MB/s), 1315MiB/s-1315MiB/s (1379MB/s-1379MB/s), io=77.1GiB (82.7GB), run=60001-60001msec

다시 같은 방법으로 iscsi 테스트

# 순차 읽기
fio --name=seqread \
    --filename=/$PWD/testfile \
    --size=10G \
    --rw=read \
    --bs=1M \
    --iodepth=32 \
    --numjobs=4 \
    --direct=1 \
    --runtime=60 \
    --time_based \
    --group_reporting

Run status group 0 (all jobs):
   READ: bw=991MiB/s (1040MB/s), 991MiB/s-991MiB/s (1040MB/s-1040MB/s), io=58.1GiB (62.4GB), run=60004-60004msec

   
# 순차 쓰기
fio --name=seqwrite \
    --filename=/$PWD/testfile \
    --size=10G \
    --rw=write \
    --bs=1M \
    --iodepth=32 \
    --numjobs=4 \
    --direct=1 \
    --runtime=60 \
    --time_based \
    --group_reporting

Run status group 0 (all jobs):
  WRITE: bw=937MiB/s (983MB/s), 937MiB/s-937MiB/s (983MB/s-983MB/s), io=54.9GiB (59.0GB), run=60004-60004msec

# 랜덤 읽기
fio --name=rndread \
    --filename=/$PWD/testfile \
    --size=10G \
    --rw=randread \
    --bs=4k \
    --iodepth=256 \
    --numjobs=8 \
    --direct=1 \
    --ioengine=io_uring \
    --runtime=60 \
    --time_based \
    --group_reporting


Run status group 0 (all jobs):
   READ: bw=491MiB/s (515MB/s), 491MiB/s-491MiB/s (515MB/s-515MB/s), io=28.8GiB (30.9GB), run=60003-60003msec
   
# 랜덤 쓰기
fio --name=rndwrite \
    --filename=/$PWD/testfile \
    --size=10G \
    --rw=randwrite \
    --bs=4k \
    --iodepth=64 \
    --numjobs=4 \
    --direct=1 \
    --runtime=60 \
    --time_based \
    --group_reporting

Run status group 0 (all jobs):
  WRITE: bw=72.0MiB/s (75.5MB/s), 72.0MiB/s-72.0MiB/s (75.5MB/s-75.5MB/s), io=4318MiB (4528MB), run=60001-60001msec

Read more

LLM 시대, 프롬프트 엔지니어링보다 '도메인 전문성'이 더 강력한 무기인 이유

최근 AI 도구들이 비약적으로 발전하면서 '프롬프트 엔지니어링'이라는 기술적 기법에 많은 관심이 쏠렸습니다. 하지만 실제 현업에서 LLM을 극한으로 활용해 고도의 결과물을 만들어내는 사람들의 공통점은 정교한 프롬프트 템플릿을 쓰는 능력이 아니라, 해당 분야에 대한 깊은 '도메인 전문성'을 갖추고 있다는 점입니다. 많은 이들이 LLM이 지식의 격차를 줄여준다고

By JHL

AI 코딩 에이전트 도입 시 고려해야 할 보안 제어 프레임워크: 속도와 안전의 균형 잡기

최근 Claude Code나 Kiro와 같은 AI 코딩 에이전트들이 단순한 코드 완성을 넘어, 자연어 프롬프트 하나로 수십 개의 PR을 생성하고 인프라를 수정하는 수준까지 발전했습니다. 하지만 이러한 생산성 향상은 '기계적 속도'라는 트레이드오프를 동반합니다. AI 에이전트는 조직의 보안 리스크나 컴플라이언스를 이해하지 못한 채 오직 '작업 완료'에만 최적화되어

By JHL

AI 벤치마크의 '포화 상태'와 평가 지표의 유효기간: 우리는 무엇을 믿어야 하는가

최근 LLM의 성능이 비약적으로 상승하면서, 역설적으로 우리가 모델의 성능을 측정하는 '자' 자체가 무용지물이 되는 현상이 가속화되고 있습니다. arXiv에 게재된 "When AI Benchmarks Plateau: A Systematic Study of Benchmark Saturation" 연구는 우리가 흔히 신뢰하는 벤치마크 점수가 왜 더 이상 모델 간의 변별력을 제공하지 못하는지, 그리고 이른바 '

By JHL

AI 에이전트 시대의 엔드포인트 보안: 실행 권한을 넘어 '행위 거버넌스'로

DevOps.com을 통해 Airlock Digital이 발표한 'Agentic AI Control & Governance' 솔루션 소식을 접했습니다. 이번 발표의 핵심은 단순히 '어떤 AI 소프트웨어를 실행할 것인가'라는 기존의 화이트리스트 방식(Application Control)을 넘어, 실행 중인 AI 에이전트가 '실제로 어떤 명령을 내리고 어떻게 행동하는가'를 실시간으로 제어하겠다는

By JHL