사이트 반응속도를 확인하고 싶을때

보통 크롬 개발자모드에서 네트웍 탭을 보실거라고 생각합니다만

이 정보는 네트웍과 서버 처리 시간이 함께 섞여 있어서

순수하게 서버 처리 시간을 보고 싶을때는 아쉬운 점이 있습니다.

이럴때 간단하게 서버 성능을 확인할 수 있는 방법을 소개합니다.

운영하시는 사이트 루트에 보시면 .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 정보인 것 같은데.. 저 숫자로 여러개의 파일이 처리된 경우에

그 누적 처리 시간을 확인할 수도 있을거고.. 아니면 서버가 아니라

프록시같은데서 날아온거라면 저 숫자가 바뀌지 않으므로 그런걸 눈치채는

용도로도 쓸 수 있습니다.

  • profile

    스태틱 파일 처리에 소요된 시간까지 보여주는 것 좋네요.^^

     

    nginx에서는 아래의 설정으로 요청 소요시간 헤더를 추가할 수 있습니다.

    단, 이건 초 단위로 나오고 소수점 아래 3자리까지만 보이기 때문에

    대부분의 스태틱 파일은 0.000으로 나오는 단점(?)이 있네요.

     

    add_header X-Request-Time $request_time;

  • profile

    저는 Header add _ExecTime "%Dus %t" 코드를 넣었더니
    홈페이지가 500에러가 뜹니다. apache사용자인데..흠..이상하네요

  • profile ?

    아파치 버젼 문제일 가능성이 있는 것 같습니다.

    혹시 2.2 쓰시는거 아닌지...

    그게 아니라면 headers 모듈이 enabled 되었는지 확인해보시는 것도 방법일듯 합니다.

  • ? profile
    아..그렇군요. headers 모듈이 enabled으로 안되어있었네요. 기본으로 모듈설치하면 enabled되는줄알았습니다.