Context Switching 개념 — CPU가 작업을 바꾸는 순간 벌어지는 일
Context Switching은 CPU가 하나의 작업에서 다른 작업으로 전환하는 과정이다. 멀티태스킹 환경에서 여러 프로세스를 동시에 실행하기 위해 필수적인 동작이다. 하지만 Context Switching...
로그 검색 결과: 31개
Context Switching은 CPU가 하나의 작업에서 다른 작업으로 전환하는 과정이다. 멀티태스킹 환경에서 여러 프로세스를 동시에 실행하기 위해 필수적인 동작이다. 하지만 Context Switching...
리눅스에서 메모리는 단순히 “사용량”만 보는 것이 아니라 구조를 이해해야 한다. 프로세스 메모리와 시스템 메모리 구조를 함께 봐야 성능 문제를 정확히 판단할 수 있다. 특히 메모리 부족, OOM, swap 발...
트래픽이 증가한다고 Redis, 로드 밸런서, 복제 DB와 큐를 한꺼번에 추가하면 운영 지점만 늘어날 수 있다. 확장은 현재 병목과 실패 조건을 측정한 뒤 가장 작은 변화부터 적용해야 한다. 1. 먼저 서비스 ...
PHP 서비스에서 외부 AI API를 사용할 때 모델의 학습 방식을 넓게 설명하는 것보다 중요한 것은 현재 기능이 요구사항을 만족하는지 반복해서 평가하는 일이다. 모델과 프롬프트가 바뀌면 같은 입력의 결과도 달라질 ...
데이터가 수천만 건을 넘어가면 단일 테이블 구조는 점점 한계에 부딪힌다. 인덱스 크기가 커지고, 백업·복구 시간이 길어지며, 특정 쿼리의 응답 속도가 급격히 저하된다. 이 시점에서 고려하는 전략이 파티셔닝(P...
서버 CPU 사용률이 높다는 것은 단순히 “바쁘다”는 의미가 아니다. 정상 트래픽인지, 비정상 반복 연산인지, 특정 프로세스 폭주인지 구분해야 한다. 무작정 서버 스펙을 올리는 것은 해결이 아니다. CPU가 왜 올...
운영 중 서버가 다운되면 가장 중요한 것은 “빨리 고치는 것”이 아니라 “순서대로 확인하는 것”이다. 무작정 재부팅부터 하면 원인 분석이 불가능해지고, 동일 장애가 반복된다. 복구 프로세스는 감각이 아니라 절...
PHP는 비교적 빠르게 기능을 만들 수 있는 언어지만, 프로젝트가 커질수록 구조가 무너지기 쉽다. 초기에 패턴과 책임 분리를 정해 두지 않으면, 기능 추가와 수정이 어려운 형태로 굳어지기 때문이다. 실무에서는...
PHP에서 MySQL을 사용할 때 가장 기본이 되는 보안 이슈가 SQL Injection이다. 사용자 입력값이 SQL 문장에 그대로 포함되면서 의도하지 않은 쿼리가 실행되는 취약점이다. 로그인 우회, 전체 데...
이 글은 소규모 팀에서 운영 프로세스를 어떻게 설계할지, 개발자가 알아두면 좋은 기본 운영 지식(로그 레벨, 헬스체크, graceful shutdown), 그리고 아웃소싱/외주와 운영 인수인계 시에 신경 써야 할 점...