사이트 반응속도를 확인하고 싶을때
보통 크롬 개발자모드에서 네트웍 탭을 보실거라고 생각합니다만
이 정보는 네트웍과 서버 처리 시간이 함께 섞여 있어서
순수하게 서버 처리 시간을 보고 싶을때는 아쉬운 점이 있습니다.
이럴때 간단하게 서버 성능을 확인할 수 있는 방법을 소개합니다.
운영하시는 사이트 루트에 보시면 .htaccess 라는 파일이 있을겁니다. (아파치에서만 가능합니다)
이 파일을 여신 다음에 맨 윗줄에다가 한줄만 추가하세요
Header add _ExecTime "%Dus %t"
이렇게 추가하시면 http/https로 주고 받는 파일들의 헤더에 _ExecTime이라는 이름으로
처리 시간 정보가 아래처럼 추가됩니다.
_ExecTime: D=159us t=1650378869503909
_ExecTime: D=894877us t=1650378867643666
php파일뿐만 아니라 그냥 스태틱 파일들에도 모두 추가됩니다.
이 정보는 순수하게 서버에서 처리하는데 걸린 시간만 표시하는 것입니다.
이 정보를 보시면 대충 서버 성능을 짐작하실 수 있습니다.
위쪽에 예로 든 _ExecTime은 제 사이트에서 index.php와
그냥 보통 이미지 파일 하나 로드하는데 각각 걸린 시간입니다.
스태틱 파일이야 0.15ms면 엄청나게 빠른 것 같지만.. 그래도 갯수도 많고 하니까
빠르면 빠를수록 좋겠죠.. 특히 vps 같은거 쓰시는 분은 피크타임에는
숫자가 크게 늘어날 것 같기도 하고...
index.php의 경우에는 ms로 894ms 정도 걸리는군요... 느립니다 느려요...
다이어트 좀 해야겠는걸요
이 헤더는 그냥 평소에 계속 켜두셔도 서버 부담이 거의 없기 때문에
그냥 놔두시면 피크 타임때 서버가 얼마나 느려지는지 파악하기에도 좋습니다.
뒤쪽의 t정보는.. 그냥 혹시 필요할까 싶어서 덧붙여둔 것입니다.
cpu tick 정보인 것 같은데.. 저 숫자로 여러개의 파일이 처리된 경우에
그 누적 처리 시간을 확인할 수도 있을거고.. 아니면 서버가 아니라
프록시같은데서 날아온거라면 저 숫자가 바뀌지 않으므로 그런걸 눈치채는
용도로도 쓸 수 있습니다.
스태틱 파일 처리에 소요된 시간까지 보여주는 것 좋네요.^^
nginx에서는 아래의 설정으로 요청 소요시간 헤더를 추가할 수 있습니다.
단, 이건 초 단위로 나오고 소수점 아래 3자리까지만 보이기 때문에
대부분의 스태틱 파일은 0.000으로 나오는 단점(?)이 있네요.
add_header X-Request-Time $request_time;