• 목록
  • 아래로
  • 위로

안녕하세요?


네이비즘이나 타임시커 등 서버시간 측정 사이트 관련 질문 드립니다 ^^



네이비즘에서 스포어 서버시간을 체크해보면 스포어 출석부에 나오는 시간과 1초 정도 차이가 있구요.


네이비즘에서 표준시간이라고 알려주는 시간은 그와 1초 정도 차이가 또 있더군요.


이에 따르면 스포어 출석부의 시간과 네이비즘에서 알려주는 표준시간 간에 


대략 1.5~2초 정도 차이가 있는 것인데요.



생각해보면 스포어와 네이비즘 서버 모두 리눅스의 NTP 타임데몬 등으로 동기화를 하고 있을텐데


그 정도 차이가 발생한다는 것은 아무리 생각해봐도 경험칙에 반하는 것 같거든요 ㅠㅠ


사실 PHP로 서버의 현재 시간을 받아와서 바로 뿌려주는 스포어 출석부 시간이 


실제 스포어 서버시간에 가장 근접할 것이고 


다른 사이트에서 측정한 시간이 부정확할 가능성이 높다고 생각됩니다.



그리고 제가 발견한 또 다른 모순(?) 중에 하나는 


한 대의 PC에서 크롬과 파이어폭스를 각각 열어서 


동일한 사이트의 현재시간을 네이비즘으로 확인을 해보면 대략 1초 정도의 오차가 발생하더군요.


1초라면 수강신청이나 티켓팅을 할 때 그 사이에 수천 명이 몰려있을 수도 있는 큰 차이인데 말이죠 ㅜㅜ



예전에 제가 서버시간 측정과 관련된 질문을 드린 적이 있었고,


당시에 라엘 님께서 네이비즘은 랜덤문자열의 404 요청을 하고 


그 응답헤더 시간을 읽는 방식이라고 답변을 주셨습니다 ^^



그래서 오토핫키로 제 나름대로 허접한 수준이지만


헤더시간을 받아와 출력하여 시계 형태로 보여주는 스크립트를 작성해봤고 


다른 개발자 분께서 유사한 메커니즘으로 작성하신 프로그램도 사용해봤는데요.


저는 처음에 헤더의 시간을 받아오고 핑 ms를 감안하여 계산을 하면 될 것이라고 생각했는데요.


그런데 제가 요청한 때로부터 응답헤더를 받는 때까지의 시간을 측정해보니 


ICMP를 이용한 핑과 HTTP 응답헤더를 받는 때까지의 시간은 전혀 다르더군요,


더구나 핑은 loss가 발생하는 경우는 있지만 회선에 문제가 없다면 대체로 편차가 작은데


HTTP 응답헤더를 받는 때까지의 시간을 반복측정해보니 그 편차가 상당히 크더군요.



제가 예전에 석사 과정에 재학할 때 컴퓨터공학과나 전자공학과 출신 선배님들께서 


수강신청할 때 네이비즘 등 서버시간 측정 사이트를 활용하지 말고


어차피 수강신청 서버의 시간이 표준시간에 매우 근접하니 


PC의 시간을 UTCK를 이용하여 표준시간에 동기화해서 


이를 바탕으로 수강신청을 하라고 말씀하셨던 기억이 나네요.



사실 대형 사이트에서는 http 헤더 타임을 요청하더라도 


WAS 서버나 DB 서버의 시간을 받아오는 것이 아니기 때문에 


서버들 간의 데이터 연동시에 수 ms 내지 수십 ms까지도 차이가 발생할 것 같은데요.



두서없이 장황한 글이 되었는데요 ㅜㅜ


정리하면 HTTP 응답헤더를 받는 때까지의 시간은 편차가 크기 때문에 1초 정도의 오차가 발생하고,


더구나 이 방법은 WAS 서버나 DB 서버의 시간을 알 수 없다는 단점이 있네요.



그렇다면 결론적으로 WAS나 DB 서버의 현재 시간을 공개하지 않는 이상 


서버시간을 보여주는 사이트 또는 프로그램이나 


윈도우의 시간을 서버시간과 동기화한다는 프로그램은 


1초 내외의 오차가 불가피하게 발생할 수밖에 없는 구조이고,


하나의 참고자료가 될 뿐이지 절대적으로 신뢰할 수 있는 자료는 되지 못한다고 보면 될까요?



p.s. 

만약 제가 후배들을 위해서 학교 서버에 홈페이지를 열어서 현재시간을 보여준다면,

수강신청 서버와 구성원에게 제공하는 호스팅 서버의 현재시간에 오차가 없고

수강신청 사이트의 웹 서버 - WAS 서버 - DB 서버 간에 현재시간이 동일하다는 가정하에

비교적 신뢰할 수 있는 지표가 될까요?

아니면 또 하나의 부정확한 측정방법에 불과한 것일까요?



p.s. (2)

좌측에 크롬, 우측에 파폭을 동시에 열었습니다.

저는 케이윌 팬은 아닙니다 ㅠㅠ




작성자
이니스프리 119 Lv. (0%) 1890450/115200000EXP

당분간 일신상의 사정으로 쪽지나 댓글로 답변을 드리기 어렵습니다. 죄송합니다.

 

CSVpuymXAAAVVpd.jpg

댓글 4

NoYeah
profile image

저는 개인적으로 네이비즘 시계를 믿지 않습니다.

 

표준시간에 동기화가 되어 있는 윈도우의 시계를 기준으로 출석해도 스포어 출첵 기준으로 1초 이내에 출석이 가능합니다.

즉, 바꿔 이야기하면 네이비즘 시계를 사용하지 않아도 보통 서버의 시간들이 표준시에 맞춰져있기 때문에 가능한 일인 것 같습니다.

 

서버가 특정 표준시에 동기화가 되어 있다면 해당 표준시를 참고하는 것만으로도 충분해 보입니다.

 

서버의 시계가 동기화를 하지 않아 약간 몇초씩 어긋나는 경우에는 네이비즘이 도움될것 같습니다.

comment menu
2018.11.14. 22:14

신고

"NoYeah님의 댓글"

이 댓글을 신고 하시겠습니까?

이니스프리 작성자 → NoYeah
profile image

역시 다년간 서버를 관리해보신 노하우에서 우러나오는 답변 감사드립니다!

저도 예전부터 수강신청 등과 관련하여 네이비즘을 그다지 신뢰하지 않았지만,

크롬과 파이어폭스에서 네이비즘을 동시에 열었는데 보여주는 서버시간이 다르다는 점을 확인한 이후에는

웹 애플리케이션의 형태로 정확한 서버 시간을 확인해서 보여주는 것은 사실상 불가능에 가깝다는 점을 깨닫게 되었네요.

(이런 현상이 정확히 무슨 이유 때문인지는 모르겠습니다)

 

다행히 요새는 예전보다 서버 시간이 표준시에 동기화가 되어있지 않은 경우가 적은 것 같더군요.

말씀하신대로 서버시간이 동기화가 되어있지 않다는 점을 확인하지 않는 이상

서울의 표준시를 참고하는 것이 가장 바람직하겠네요 :)

저희 후배들에게도 그렇게 전해주겠습니다!

감사합니다 ^-^


comment menu
2018.11.14. 22:33

신고

"이니스프리님의 댓글"

이 댓글을 신고 하시겠습니까?

라엘
profile image

저는 저 나름대로 보정해서 사용중입니다.

핑은 ICMP 말고 포트핑이 따로 있어요.

제가 만든 다른 사이트 https://ipconfig.tools/ko/ping?host=studyforus.com&port=443 를 살펴보세요.

 

가장 정확한 시간은

서버의 date 헤더 - 통신시간(curl 의 total_time 항목) - 페이지 로딩시간(body init 측정시간 - head 측정시간) - PING 시간(이건 너무 작아서 무시하는게 좋음)

구현은 이곳에! https://ipconfig.tools/ko/servertime

 

comment menu
2018.11.15. 01:10

신고

"라엘님의 댓글"

이 댓글을 신고 하시겠습니까?

이니스프리 작성자 → 라엘
profile image

앗 늦은 밤에 답변 달아주셔서 정말 감사합니다 ^^

ICMP가 아니라 포트핑을 해야하는 것이었고 고려해야 할 여러 요소가 복잡하군요.

역시 저같은 초보자가 감히 흉내낼 수 없는 것이었네요 ㅠㅠ

 

라엘 님께서 사이트에 구현하신 방법이 네이비즘보다 훨씬 오차가 적네요 :)

라엘 님 덕분에 많이 배우고 사이트 잘 구경하고 갑니다~

그런데 제가 정확한 원인을 알 수 없지만

브라우저를 새로고침할 때마다 가끔씩 1초 내의 근소한 오차가 발생하는 것 같아요 ㅠㅠ

아마도 라엘 님 서버에서 계산된 시간을 저희 집 브라우저에 나타내는 과정에서 발생하는 오차(?)인 것 같네요.

 

그럼 라엘 님께서도 감기 조심하시고 안녕히 주무세요~!

항상 감사드립니다 ^-^

comment menu
2018.11.15. 01:31

신고

"이니스프리님의 댓글"

이 댓글을 신고 하시겠습니까?

권한이 없습니다.
번호 제목 글쓴이 날짜 조회 수
공지 [작업 완료] 설 명절 맞이 서버 업데이트 안내 3 마스터 24.02.11.17:21 641
공지 [중요] 호스팅 만료와 관련하여 일부 수칙이 변경됩니다. 4 마스터 23.01.14.02:23 4319
공지 [필독] 질문하는 방법 17 마스터 18.02.23.03:09 4474
902 xlsx 파일로 된 DB백업 데이터를 가져오기로 DB에 넣으려면 어떻게 해야할까요? 4 image 동파육 22.08.31.01:49 127
901 phpMyAdmin 접속시 mysqli_real_connect(): (HY000/1045): Access denied for user '000000'@'localhost' (using password: YES) 4 동파육 22.08.31.00:59 147
900 curl: (7) Failed to connect to localhost port 80: Connection refused 2 image 국내산라이츄 22.07.25.15:57 1564
899 Possible attack detected. This action has been logged. 패널접속하니 메세지가뜨네요 1 막시모 22.07.08.12:58 115
898 LTE 폰에서 3G 수신감도 확인방법?? 8 이니스프리 22.05.01.20:42 499
897 Vesa 마운트를 이용한 미니PC의 거치 4 이니스프리 22.04.07.12:23 274
896 우분투 20.04 cockpit 설치 안됨(해결) gunwook 22.04.01.22:20 113
895 브라우저 익스텐션이 있는 self hosted VPN으로 어떤 것이 있을까요? image 이니스프리 22.03.20.13:57 144
894 백업 파일도 디스크 용량에 포함인가요? 3 마당쇠15 22.03.10.10:52 166
893 DNS 관련 질문 (Netlify, CloudFlare) 5 밍원 22.02.14.15:24 200
892 나리야 빌더로 게임커뮤니티 운영 2 핫슈블로그 22.01.27.08:28 470
891 혹시 라이브러리나 개발자문서 한글 번역 정리 2 제목학원장 22.01.11.13:23 286
890 혹시 파이어베이스 사용하고 계시는 분 있으실까요? 공부에 도움될 만한 개발자 문서가 따로 있을까요? 3 제목학원장 22.01.07.13:57 244
889 호스팅 처음 해보는데 받은 주소를 쓰면 스터디 포 어스 페이지가 나옵니다. 7 yuyu 22.01.05.11:35 329
888 개인 홈페이지를 만들려고 하는데 보통 이미지들 어디서 얻으시나요? 다 만들어서 쓸 수는 없을 것 같고.. 2 yuyu 21.12.31.12:53 283
887 홈페에지가 구글에서 검색되도록 봇이 수집하게 설정했는데 API도 수집하도록 설정해도 되나요? 4 손가락개 21.12.06.03:45 278
886 sfuhost에서 사용 가능한 언어 6 모여라꿈동산 21.11.22.14:43 303
885 index 파일은 어디에 넣어야 되는걸까요? 3 모여라꿈동산 21.11.22.08:44 229
884 홈 서버 운영과 관련하여 사소한 질문 몇 가지가 있습니다. 8 image 제르엘 21.11.22.01:54 344
883 호스팅 신청했는데 초기 설정 어떻게 하는건가요? 5 모여라꿈동산 21.11.21.23:44 182