본문 바로가기

전체 글136

성능 분석에 대한 정의 및 방법론 목표일반적으로 성능 분석의 목표는 최종 사용자 성능을 개선하고 운영 비용을 절감하는데 있다.측정 대상은 아래와 같다.지연 시간: 요청이나 동작을 달성하는 데 소요된 시간, 일반적으로 밀리초로 측정한다.발생 비율: 초당 동작 비율 혹은 요청 비율스루풋 : 일반적으로 비트나 바이트 단위의 초당 데이터 이동량사용률 : 시간에 따른 리소스의 사용량으로, 퍼센트로 표현비용 : 가격 대 성능비 최종 사용자 성능은 애플리케이션이 사용자의 요청에 반응하늗네 걸리는 시간에 따라 정량화 할 수있고, 이 시간을 단축하는 것이 목표가 된다. 이처럼 대기 하는 데 소요된 시간을 '지연 시간' 이라 한다. 지연 식나은 요청 시간을 분석하고 각 시간을 컴포넌트별로 세분화함으로서 개선할 수 있는데 여기에는 CPU에서 동작하고 있는 .. 2026. 10. 12.
BPF의 기술배경 BPF = 커널 안에서 돌아가는 아주 작고 안전한 가상머신(VM)원래는 "어떤 패킷을 잡을지" 고르는 패킷 필터였다.지금(eBPF)은 패킷, 시스템콜, 커널 함수 등 커널의 거의 모든 곳에 작은 프로그램을 끼워 넣는 범용 실행 환경이 되었다.1. 출발점: tcpdump 필터는 사실 프로그램이다tcpdump -d host 127.0.0.1 and port 80-d를 붙이면 패킷을 잡지 않고, 필터가 어떤 BPF 명령어로 번역되는지만 보여준다.(000) ldh [12] ; 이더넷 타입 읽기(001) jeq #0x800 jt 2 jf 18 ; IPv4인가? 아니면 버림(002) ld [26] ; 출발지 IP 읽기(003) jeq #0x7f000001 jt 6 jf 4 ; 127.0.0.1인가?(004) ld .. 2026. 10. 12.
IRQ와 SoftIRQ 로 인한 성능 저하 판단 IRQ와 SoftIRQ의 기본 개념 및 동작 메커니즘리눅스 커널에서 하드웨어 장치(NIC, NVMe, 타이머 등)와 CPU가 상호작용할 때 핵심이 되는 인터럽트 처리 구조는 Top-half(Hard IRQ)와 Bottom-half(SoftIRQ)로 나뉜다.[Hardware Event] ──> (Top-half: Hard IRQ) ──> [Pending Bit 설정] │ ▼ (CPU 인터럽트 활성화 및 스케줄링) (Bottom-half: SoftIRQ / NAPI) ──> [실제 데이터 처리 / sk_buff 생성] 1. Hard IRQ (Top-half)정의: 하드웨어가.. 2026. 8. 31.
파일시스템의 이해 1. 가상 파일 시스템 (VFS): 리눅스의 위대한 통합 계층리눅스는 ext4, XFS, NFS, FAT32 등 성격이 완전히 다른 파일 시스템들을 동시에 지원한다. 사용자가 read() 시스템 콜을 호출할 때, 대상이 하드디스크인지 네트워크 드라이브인지 신경 쓰지 않아도 되는 이유는 바로 VFS(Virtual File System) 덕분이다.VFS는 일종의 객체 지향적 추상화 계층인데, 커널 내부적으로 파일 시스템이 가져야 할 공통적인 구조체를 정의하고, 실제 파일 시스템은 이 구조체의 함수 포인터(인터페이스)를 자신의 구현체로 채우는 방식이다.VFS를 지탱하는 4대 객체VFS는 다음 네 가지 핵심 객체를 중심으로 돌아갑니다.슈퍼블록 (Super Block): 특정 파일 시스템 전체에 대한 정보를 담고.. 2026. 5. 2.