- 6
- 이니스프리
- 조회 수 1488
안녕하세요?
티켓 예약 등과 관련된 특정 서버시각 확인에 대해 질문 드려요 ^^
우선 제가 공대 출신이 아니어서 웹에 대해 보잘 것 없는 수준으로 이해하고 있음을 감안하여
제 질문을 너그러이 선해하여 우문현답을 주시면 감사하겠습니다 :)
제가 석사과정을 다닐 때에는 수강신청을 위해 UTCK로 제 PC를 동기화했어요
그런데 UTCK는 KRISS 타임서버와 자신의 PC를 동기화하는 것이고
학교서버가 어느 타임서버와 싱크를 맞추는지 알 수 없는 이상 큰 의미는 없을 것 같아요 ㅠㅠ
사실 동기화의 오차 측면에서 차이가 있을 뿐이지
제 PC도 1시간마다 NTP 서버와 동기화를 하도록 설정했고
스마트폰의 현재시각도 통신사가 지정한 서버와 동기화를 하고 있겠죠
포스텍처럼 별도의 타임서버를 운영하는 대학이라면 그 NTP와 동기화를 하면 되겠지만
안타깝게도 저희 학교는 그런 서버가 없네요
한편 네이비즘, 타임시커 등 서버시간 확인 사이트는
아마도 HTTP 응답헤더의 시간 정보를 파싱하리라고 추측되는데요
(과거에 네이비즘에서 소스 공개를 했다고 알고 있는데 현재는 삭제된 것 같습니다)
다음과 같은 점에서 오차가 발생할 수밖에 없는 구조일 것 같습니다
1) HTTP 헤더는 초단위이고
2) 해당 서버로부터 헤더를 받는데까지 소요되는 통신시간이 수ms 이상 걸릴테고
3) 서버 구성에 따라 추가적인 오차가 발생할 것 같네요
3)에 대해 너무 추상적으로 말씀을 드렸는데요 ㅠㅠ
인터파크 등 상당한 규모의 티켓 판매 사이트라면
대략 아파치 서버 + WAS 서버 + DB 서버 이런 식으로 구성되어 있고
티켓팅 등의 시각을 DB 서버 기준으로 한다면
아마도 서버시간 확인 사이트에서 DB 서버 시간을 알아내는 것은 아닐 것 같네요
이와 관련하여 예전에 마스터 님께서도
Study for us에서 출첵 순위와 포인트 순위가 뒤바뀌는 경우에 대해
말씀해주셨던 기억이 언뜻 나는군요
위와 같은 오차가 불가피하게 존재한다는 점을 확인하려고
제가 브라우저에 3개의 창을 띄워놓고
Study for us 출석체크의 시각과
네이비즘, 타임시커에서 확인한 www.studyforus.com의 시각을 비교했는데요
1초 이내이지만 분명히 오차가 존재하네요
여기까지 제가 지난 주말에 공부(?)한 선에서 정리해서 말씀을 드렸고
이에 대해 보충적인 질문을 드리려고 하는데요
1. 티켓팅이나 수강신청에서 UTCK와 서버시각 확인 사이트 중에 어느 쪽을 신뢰하면 될까요?
2. 앞서 말씀드린 1)부터 3)까지의 오차를 최소화하는 방법이 있을까요?
3. 만약 모 대학에서 학내 구성원 대상으로 웹호스팅을 하고 있다면
웹호스팅을 신청하여 그 서버의 시각을 출력하도록 한다면
앞서 말씀드린 원인들에 의한 오차가 수반되겠지만
서버시간 확인 사이트를 이용하는 것보다 수강신청에서 조금이나마 도움이 될까요?
(제가 박사과정에 진학하지는 않을 예정이어서 향후 수강신청을 할 기회는 없겠지만 후배들에게 도움이 되고 싶어서요)
제가 서버 관리를 한 경험이 없어서 잘 모르겠지만
혹시 실무에서는 서버를 NTP 서버에 주기적으로 동기화하기 때문에
현실적으로 실제시각과 서버시각의 오차는 수십 ms 수준에 불과할까요?
(이 부분은 아무래도 마스터 님께서 경험이 있으시지 않을까 해서 여쭤봅니다 ^^)
글을 쓰면 쓸수록 여태껏 제가 말씀드린 것이 모두 큰 의미가 없고
결국 수강신청이나 티켓팅은 복불복이라는 생각이 드네요 ㅠㅠ
지금까지 장황하지만 부족한 글 읽어주셔서 감사합니다
그럼 편안한 저녁 되세요 ^^
작성자
댓글 6
![profile image](/files/member_extra_info/profile_image/640/096/96640.gif?t=1548527149)
![comment menu](/modules/board/skins/comely_board/images/icn_more.png)
![profile image](/files/member_extra_info/profile_image/819/059/59819.png?t=1717193427)
상세한 답글 남겨주셔서 감사합니다 ^^
덕분에 이해에 큰 도움이 되었습니다
결국 서버시각 확인 등의 방법은 신뢰하기 어렵고
유저 입장에서는 어떠한 방식으로 노력을 하더라도 복불복일 가능성이 크겠네요 ㅠㅠ
그럼 맛스타 님께서도 편안한 저녁 되시고 환절기 감기 조심하세요~
![comment menu](/modules/board/skins/comely_board/images/icn_more.png)
![profile image](/files/member_extra_info/profile_image/640/096/96640.gif?t=1548527149)
그래도 http 타임으로 긁어와도 대부분 빵빵하게 서버를 구축해놓기 때문에 끽해야 십몇 ms 밖에 걸리지 않을 것 같습니다.
이니스프리님도 환절기 감기 조심하세요~
![comment menu](/modules/board/skins/comely_board/images/icn_more.png)
![profile image](/files/member_extra_info/profile_image/819/059/59819.png?t=1717193427)
아마도 여러 요인이 복합적으로 오차를 유발하기 때문이겠지만
스터디포어스의 출첵게시판의 시각과
네이비즘, 타임시커에서 www.studyforus.com의 시각을 확인한 결과는
제가 브라우저 여러 창을 띄워놓고 눈으로 체감할 수 있을 정도이니
적어도 0.X 초 정도는 되는 것 같아요
네이비즘의 개발자도 자신의 솔루션이 그냥 파싱한 결과를 출력하는 것이 아니라
오차를 줄이기 위해 오랜 시간 노력했다는 취지로 블로그에 글을 작성한 것으로 봐서는
실제 웹 환경에서는 제가 미처 고려하지 못한 여러 요인들이 작용하는 것 같네요
저도 앞으로 시간이 나는대로 더 공부해 보겠습니다 :)
맛스타 님께 항상 감사드립니다!!
![comment menu](/modules/board/skins/comely_board/images/icn_more.png)
![profile image](/files/member_extra_info/profile_image/983/153/153983.png?t=1526296561)
제가 네이비즘보다 더 정확하게? 어쩌면 비슷하게 서버시간 알아보는 사이트 만드려고 준비중이에요.
네이비즘은 랜덤문자열의 404 요청을 하고 그 응답헤더 시간을 읽어서 표시해요.
예를 들어 : https://studyforus.com/AISDIOEUTIOJMLKDSJASD.php 요청하고 헤더를 읽으면 지연이 최소로 줄어든답니다.
에러페이지는 db 통신은 하지 않지만 응답헤더에 서버 시간은 알려준답니다.
![comment menu](/modules/board/skins/comely_board/images/icn_more.png)
![profile image](/files/member_extra_info/profile_image/819/059/59819.png?t=1717193427)
라엘 님 안녕하세요?
404 요청을 하면 지연시간이 줄어들겠군요!
제가 미처 생각하지 못한 방법을 말씀해주셔서 감사합니다
네이비즘보다 더 정확한 사이트를 만드신다니 기대되네요
라엘 님 블로그에 방문하여 글 감사히 잘 읽고 있습니다
그럼 좋은 결과 있으시길 기원합니다
![comment menu](/modules/board/skins/comely_board/images/icn_more.png)
어느서버가 주도하느냐에 따라 많이 달라질 것 같습니다.
여기 같은 경우엔 출첵시 DB 서버가 기록을 저장하는 주된 서버기 때문에 DB 기준으로 출첵이 체크되고,
티케팅에 경우에는 실제 기록을 담당하는게 WAS서버냐, DB 서버냐에 따라 달라질 것 같습니다.
하지만 서버 시간을 측정하는 사이트들은 말씀하신대로 http 헤더를 기준으로 검색을 하기 때문에 가장 표면에 있는 http 헤더 타임만 보는 듯합니다.
즉 http(웹서버) ↔ WAS ↔ DB 순서로 정보를 교환한다면 각 서버들에서 데이터가 연동시에 적어도 2~3ms 에서 많으면 수십 ms 까지 차이가 날것이라고 봅니다.
하지만 서버 시간을 측정하는 사이트는 웹서버단에서의 시간을 체크하는 모양이구요.
결국 운이 좋아 실제 정보를 저장하는 DB와 시간을 동기화 한다고 해도 회선에 따라 차이가 있으므로 결국은 복불복인것 같습니다.
수강신청할 때를 생각해보면 아무리 서버 시간을 맞춰도 안될놈은 안되고, 서버시간 상관없이 자기 컴퓨터의 로컬 시계로 수강신청을 해도 될놈은 되더라구요.
그리고 서버 시간과 관련해서는 저보다는 @라엘님이 더 서버 전문가시기 때문에 잘 아실것 같습니다.