서버 CPU 사용률이 높은 이유를 찾는 방법 — 점검 순서와 분석 기준
서버 CPU 사용률이 높다는 것은 단순히 “바쁘다”는 의미가 아니다. 정상 트래픽인지, 비정상 반복 연산인지, 특정 프로세스 폭주인지 구분해야 한다. 무작정 서버 스펙을 올리는 것은 해결이 아니다. CPU가 왜 올...
PHP 검색 결과: 43개
서버 CPU 사용률이 높다는 것은 단순히 “바쁘다”는 의미가 아니다. 정상 트래픽인지, 비정상 반복 연산인지, 특정 프로세스 폭주인지 구분해야 한다. 무작정 서버 스펙을 올리는 것은 해결이 아니다. CPU가 왜 올...
PHP는 비교적 빠르게 기능을 만들 수 있는 언어지만, 프로젝트가 커질수록 구조가 무너지기 쉽다. 초기에 패턴과 책임 분리를 정해 두지 않으면, 기능 추가와 수정이 어려운 형태로 굳어지기 때문이다. 실무에서는...
성능 튜닝은 코드를 많이 바꾸는 작업이 아니라 같은 조건에서 병목을 측정하고 가장 작은 변경의 효과를 확인하는 과정이다. 이 글은 MariaDB 10.11의 별도 실습 DB에서 날짜 조건 쿼리를 비교하는 절차를 다룬...
PHP에서 MySQL을 사용할 때 가장 기본이 되는 보안 이슈가 SQL Injection이다. 사용자 입력값이 SQL 문장에 그대로 포함되면서 의도하지 않은 쿼리가 실행되는 취약점이다. 로그인 우회, 전체 데...
웹 서비스의 업로드 파일을 EC2 디스크에 저장하면 구현은 간단하다. 하지만 인스턴스를 교체하거나 여러 대로 늘리는 순간 각 서버가 서로 다른 파일을 갖게 된다. 이 글은 S3의 기능을 나열하기보다 언제 로컬 디스크...
블루·그린, 카나리와 롤링 배포를 모두 설명해도 서버 한 대에서 실제로 무엇을 실행할지 정해지지 않으면 도움이 되기 어렵다. 이 글은 Nginx와 PHP-FPM이 있는 단일 EC2를 기준으로 작은 서비스의 배포 단계...
Git의 commit과 branch 정의를 아는 것보다 운영에서 중요한 것은 어떤 변경이 검증되어 언제 배포됐는지 다시 찾을 수 있는 이력을 만드는 일이다. 이 글은 PHP 버그 수정 하나를 작은 브랜치에서 시작해 ...
개발에서 말하는 파이프라인(pipeline)은 코드를 커밋한 뒤 테스트·빌드·배포까지 이어지는 일련의 단계를 자동으로 실행하는 흐름을 의미한다. 이 글에서는 파이프라인의 개념, 실제로 어디에 쓰이는지, 왜 현대 개발...
“소통을 잘하자”는 원칙만으로는 협업 방식을 통일하기 어렵다. 다른 개발자가 변경 목적을 이해하고 같은 결과를 재현하려면 작업 전후에 남길 정보와 완료 조건이 구체적이어야 한다. 이 글은 PHP 게시글 조회 오류를 ...
긴 코드나 로그를 AI에 한꺼번에 넣는다고 좋은 리뷰가 보장되지는 않는다. 불필요한 파일은 판단을 흐리고, 환경 파일과 운영 로그에는 인증정보나 개인정보가 포함될 수 있다. 이 글은 Claude에 PHP 코드 리뷰를...