tc/netem으로 네트워크 장애 재현하기

애플리케이션이 네트워크 장애 상황(지연 증가, 패킷 유실, 순서 뒤바뀜)에서도 제대로 재시도·타임아웃 처리를 하는지 확인하려면 실제로 그런 상황을 만들어봐야 하는데, 막상 회선을 끊거나 라우터를 조작하는 식으로 재현하기는 번거롭다. 리눅스 커널에는 이런…

Continue Readingtc/netem으로 네트워크 장애 재현하기

TCP 송수신 버퍼 튜닝과 처리량

같은 애플리케이션, 같은 네트워크 대역폭인데 서버 위치나 커널 파라미터만 바뀌었을 뿐인데 처리량이 절반으로 떨어지는 경우가 있다. 원인이 대역폭이 아니라 TCP 송수신 버퍼 크기인 경우가 많다. TCP는 상대가 확인응답(ACK)을 보내기 전까지…

Continue ReadingTCP 송수신 버퍼 튜닝과 처리량

cgroups v2 Memory 컨트롤러로 메모리 고갈 상황 재현하기

컨테이너 하나에 메모리 제한 512Mi를 걸어놓고 배포했는데, 실제 트래픽이 몰리면 그 한도를 넘길 때 서비스가 어떻게 반응할지 로컬에서 미리 확인해보고 싶을 때가 있다. 스왑이 있으면 조용히 스왑아웃되다 끝날 수도 있고,…

Continue Readingcgroups v2 Memory 컨트롤러로 메모리 고갈 상황 재현하기

USE Method로 리눅스 성능 문제 진단하기

"서버가 느려요"라는 신고가 들어오면 vmstat, top, iostat을 순서 없이 아무거나 띄워보다가 우연히 눈에 띈 수치에 매달리기 쉽다. Brendan Gregg가 정리한 USE Method(Utilization / Saturation / Errors)는 이런 무작위 삽질 대신,…

Continue ReadingUSE Method로 리눅스 성능 문제 진단하기

오픈AI “패치 더 플래닛” — GPT-5.5-Cyber, 리눅스 커널서 취약점 32건 자동 발견

오픈소스 프로젝트 메인테이너들은 최근 몇 년간 두 가지 상반된 AI 문제를 동시에 겪어 왔습니다. 한쪽에는 AI가 대충 만들어낸 가짜 버그 리포트가 버그 바운티 채널을 스팸으로 채우는 문제가 있었고(curl 프로젝트가 대표적으로…

Continue Reading오픈AI “패치 더 플래닛” — GPT-5.5-Cyber, 리눅스 커널서 취약점 32건 자동 발견

Ubuntu 업데이트 오류를 ​​수정하는 방법

Ubuntu는 안정적인 배포판이지만 apt update/apt install 도중 여러 이유로 실패하는 경우가 잦다. 원인은 크게 세 가지로 나뉜다 — 다른 프로세스가 dpkg 락을 잡고 있는 경우, 이전 설치 작업이 중간에 끊겨…

Continue ReadingUbuntu 업데이트 오류를 ​​수정하는 방법

Ubuntu 24.04에 ftp 서버 설치하기( vsftpd 사용 )

SFTP/SCP가 사실상 표준이 된 지 오래지만, 레거시 임베디드 장비나 구형 소프트웨어 중에는 여전히 FTP만 지원하는 경우가 있고, 외부 노출 없이 내부망에서 간단히 파일을 주고받는 용도로도 FTP는 아직 쓰인다. Ubuntu에서 FTP…

Continue ReadingUbuntu 24.04에 ftp 서버 설치하기( vsftpd 사용 )

VSCODE ssh 연결 실패 해결방법(could not establish connection to “tmp”)

VS Code Remote-SSH로 원격 서버에 붙으려 하면 "Could not establish connection to ..."와 함께 "프로세스에서 없는 파이프에 쓰려고 했습니다"(Windows의 ERROR_PIPE_NOT_CONNECTED)가 뜨는 경우가 있다. SSH 자식 프로세스가 이미 죽어 파이프에 쓸…

Continue ReadingVSCODE ssh 연결 실패 해결방법(could not establish connection to “tmp”)