
[NETCITY NEWS] NETCITY 웹페이지 로딩 지연의 원인은 서버 자체의 처리 능력 부족이 아니라, 페이지가 열릴 때마다 함께 실행되던 카운터와 방문 기록, 그리고 일부 반복 호출 구조에 있었다. 겉으로는 단순히 첫 화면이 늦게 뜨는 현상처럼 보였지만, 실제로는 사용자가 페이지 하나를 여는 순간 여러 부가 작업이 동시에 따라붙으며 응답 시간을 밀어내고 있었다.
이번 점검은 “이미지는 잘 뜨는데 전체 페이지가 무겁다”, “새로고침할 때마다 체감 속도가 흔들린다”는 현상에서 출발했다. 서버 로그와 페이지 구성, 카운터 흐름을 함께 확인한 결과, 핵심 병목은 메인 콘텐츠보다 방문 카운터와 로그성 데이터 처리 쪽에 가까웠다. 특히 검색 로봇과 반복 접속까지 일반 방문처럼 기록되면서 데이터베이스 쓰기 작업이 불필요하게 늘어나는 문제가 확인됐다.
원인은 카운터가 아니라 카운터의 실행 방식이었다
방문자 카운터는 사이트 운영에 필요한 기능이다. 다만 모든 요청을 같은 무게로 기록하면 문제가 된다. 사용자가 보는 본문 페이지, 배경 이미지, 스크립트, 봇 접근, 새로고침, 내부 점검 요청까지 같은 흐름으로 처리되면 작은 카운터도 페이지 전체 로딩을 붙잡는 병목이 된다.
NETCITY의 경우 카운터와 방문 로그가 페이지 진입 시점에 데이터베이스 쓰기 작업을 만들고, 같은 접속이 짧은 시간 안에 반복될 때도 불필요한 기록이 쌓이는 구조가 있었다. 읽기보다 쓰기가 느린 데이터베이스 환경에서는 이런 작은 작업이 누적될수록 메인 페이지 첫 응답 시간이 길어진다. 이번 지연은 대용량 이미지 하나 때문이라기보다, “페이지를 열 때마다 따라오는 작은 기록 작업들이 너무 많아진 상태”에 가까웠다.
조치는 기록을 줄이고 첫 화면을 먼저 열게 하는 방식으로 진행됐다
해결 방향은 단순했다. 먼저 첫 화면 표시와 무관한 로그성 작업을 분리하고, 반복 방문 기록이 페이지 응답을 붙잡지 않도록 정리했다. 정적 파일이나 봇성 접근까지 카운터에 과하게 반영하지 않도록 흐름을 낮췄고, 실제 사람이 보는 페이지 중심으로 통계를 남기는 쪽으로 기준을 바꿨다.
또한 기존 서버 이전 과정에서 남아 있던 내부 주소, 오래된 장치 기준 경로, 더 이상 사용하지 않는 링크 흐름도 함께 검수했다. 이런 값들은 직접적인 화면 요소가 아니더라도 브라우저가 기다리는 요청을 만들거나, 서버가 존재하지 않는 위치를 확인하는 시간을 만들 수 있다. 이번 정리에서는 현재 운영 중인 메인 서버 기준으로 경로와 호출을 다시 맞추는 데 초점을 뒀다.
속도 개선의 핵심은 “보이는 것”보다 “따라붙는 것”이었다
웹페이지 속도를 볼 때 흔히 이미지 용량이나 디자인 요소만 떠올리지만, 실제 병목은 화면 뒤쪽의 작은 실행 흐름에서 생기는 경우가 많다. 방문 카운터, 팝업 상태 확인, 외부 링크 확인, 오래된 내부 주소 호출, 중복 로그 기록처럼 각각은 작아 보이는 작업도 한 페이지에 여러 개가 붙으면 체감 속도를 크게 떨어뜨린다.
이번 사례에서 중요한 교훈은 카운터 기능을 없애는 것이 아니라, 카운터가 페이지 표시를 방해하지 않게 만드는 것이다. 통계는 운영자가 나중에 확인하면 되는 정보이고, 방문자는 먼저 페이지를 읽을 수 있어야 한다. 그래서 페이지의 우선순위를 “첫 화면 응답 → 핵심 콘텐츠 표시 → 보조 기록 처리” 순서로 다시 정리했다.
앞으로의 운영 기준
- 방문자 카운터는 실제 페이지 방문 중심으로 기록하고, 정적 파일과 반복 호출은 제외한다.
- 봇·검색엔진·점검 요청은 일반 사용자 접속과 분리해 통계를 해석한다.
- 서버 이전 뒤 남은 내부 주소와 예전 장치 경로는 공개 페이지에서 계속 제거한다.
- 첫 화면 로딩과 무관한 기능은 뒤로 미루고, 사용자가 먼저 콘텐츠를 볼 수 있게 한다.
- 속도 문제는 이미지 용량만 보지 않고 DB 쓰기, 로그, 팝업, 외부 호출까지 함께 점검한다.
NETCITY는 이번 개선을 통해 메인 페이지의 느린 응답 원인을 기능 자체가 아니라 실행 순서와 기록 방식에서 찾아냈다. 작게 보였던 카운터와 로그 흐름을 정리하자, 페이지는 다시 콘텐츠 중심으로 열리기 시작했다. 서버 운영에서 성능 개선은 더 강한 장비를 붙이는 일만이 아니라, 불필요하게 반복되는 일을 줄이는 일이라는 점을 보여준 사례다.