• 목록
  • 아래로
  • 위로
  • 5
  • Seia
  • 조회 수 317

사실 저는 SKT의 100회선을 이용하면서 예전에 네트워크 문제로 많이 골탕을 먹은적이 있습니다.


평소 사용에는 이 지역은 KT보다 SKT가 50% 이상 빠를정도로 만족하고 사용하고 있습니다만 (100인데 speedtest에서 140Mbps나 퍼주다뇨) 서버가 구르기 시작하면 트래픽으로 회선에 가끔이지만 QoS가 걸리거나 라우터가 터지거나 공유기까지 성능 이슈로 터지는 경우가 나타납니다.


그래서 이번에 집에 미디어서버를 다시 구축하면서 어떻게 하면 훨씬 더 빠르게 미디어를 로드할 수 있을까?에 관한 내용입니다.


왜냐하면 VPS 회사마다 각각 네트워크 속도에 차이가 있기 때문에 개인적으로 이 방법이 항상 빠른 것도 아니라고 생각합니다만 저의 경우에는 기존보다 훨씬 원활하게 스트리밍할 수 있었기 때문에 팁으로써 올립니다.


먼저 서버가 한 곳에서의 요청만을 받아주므로써 얻는 이득에 관하여 생각해봤습니다. 먼저 VPS는 10Gbps의 회선을 사용합니다, (일본의 미러사이트에서 우분투 이미지를 다운로드 시 초당 800MB 이상의 다운로드 속도를 냅니다.) 그러므로 대역폭은 공유 서버여도 3Gbps 정도는 받고 가는 것이나 마찬가지입니다.


그래서 왜 VPS를 통해 접속하는 것이 더 빠를까요?


제 생각으로는 이렇습니다. 원본 서버를 100 회선을 사용하고 있는 서버라고 칩니다.

1. HTTP에서 Timeout 등의 이슈가 낮은 성능의 네트워크 망에 있는 서버에서 발생하지 않으므로 원본 서버에 동시접속자를 줄일 수 있음

2. 원격지 서버의 넓은 대역폭과 빠른 네트워크를 사용하여 훨씬 빠르게 액세스 가능 (집과 해당 서버는 약 30~40ms의 지연이 있습니다)


위 이유로 일단은 NGINX에 리버스 프록시를 사용했습니다. + 또한 보안연결을 사용합니다. (원본 서버에서 추가적으로 자원을 소모할 필요가 없습니다)


아래는 NGINX 서버의 구성입니다.


... # Gzip 세팅 등

location / {

  proxy_pass https://원본서버;

}

작성자
Seia 33 Lv. (42%) 89400/92480EXP

GitHub에서 seia-soto로 활동 중입니다.

댓글 5

NoYeah
profile image
nginx는 웹서버 기본적인 성능도 가벼워서 좋지만 가장 빛나는 기능은 프록시 패스 기능이죠!
comment menu
2018.12.05. 00:01

신고

"NoYeah님의 댓글"

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

Seia 작성자 → NoYeah
profile image
아파치가 눈에 안 뵙니다 ㅋㅋㅋㅋ

사실 아파치보다 엔진엑스를 먼저 접한 것도 있지만 그래도 설정 편한거는 못 버립니다

프록시같은 경우에는 정말로 만족하며 살아요

NodeJS 앱도 보통 보안상의 이유로 아파치나 엔진엑스 뒤에서 돌리는 경우가 많은데 말이죠 (대부분이 아니라 100%가 맞지만요..!
comment menu
2018.12.05. 01:52

신고

"Seia님의 댓글"

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

이니스프리
profile image

저는 QoS 관련하여 주로 VPN을 사용하고 있는데

어차피 Vultr가 널럴하게 놀고 있으니 Seia 님의 방법도 사용해봐야겠네요 :)

Squid까지 설치해놓았거든요.


아참~ 저는 seia.io 사이트의 핑이 저녁시간대에는 80ms대가 나오는데요.

지인이 리노드에서 20달러짜리 플랜을 사용하는 사이트도 거의 유사한 핑이 나오더군요.

테스트한 환경은 저번에 말씀드렸듯이 기가인터넷이 아닌 KT 회선이에요 ^^

요새 SKB가 해외망을 많이 확충했다고 알고 있는데 일본쪽 회선은 이미 KT를 앞지른 것이 아닐까요? ㄷㄷ

아마도 KT에서 보다 강하게 QoS를 거는 것 같네요.

comment menu
2018.12.08. 14:29

신고

"이니스프리님의 댓글"

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

다운이즈나우
글을 봐도 이해력이 딸리는.. 전문가들은 다르네요
comment menu
2018.12.25. 09:54

신고

"다운이즈나우님의 댓글"

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

Seia 작성자 → 다운이즈나우
profile image
헉.. 아닙니다 ㅠㅜ
comment menu
2018.12.25. 14:42

신고

"Seia님의 댓글"

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

권한이 없습니다.
번호 제목 글쓴이 날짜 조회 수
공지 [작업 완료] 설 명절 맞이 서버 업데이트 안내 3 마스터 마스터 24.02.11.17:21 2057
공지 [중요] 호스팅 만료와 관련하여 일부 수칙이 변경됩니다. 4 마스터 마스터 23.01.14.02:23 5751
216 [어도비 프리미어] MME device internal error의 해결방법 image 이니스프리 이니스프리 20.04.29.22:20 462
215 [IT정보] 나무클라우드 서비스 종료 3 이니스프리 이니스프리 17.02.03.19:32 463
214 [Selenium] 요소가 완전히 로드될 때까지 기다리기 이니스프리 이니스프리 20.08.23.20:22 467
213 [Python] Pytube를 이용하여 유튜브 영상을 간단히 다운받는 법에 대한 설명 이니스프리 이니스프리 20.11.01.14:25 481
212 [무료제공] 강력한 언인스톨러 Soft Organizer 3 이니스프리 이니스프리 17.04.20.21:56 483
211 PyQt5에서 treeView의 헤더를 클릭하여 정렬하기 - treeView.setSortingEnabled 메서드와 관련하여 이니스프리 이니스프리 19.08.09.15:38 485
210 파이썬 3.7에서 pywinauto 설치시 에러가 발생하는 경우 이니스프리 이니스프리 20.05.30.00:50 486
209 CSS/HTML 소스 압축 해주는 홈페이지 슬기 슬기 18.10.07.12:46 487
208 [Python] Google Trend의 '최근 인기 검색어' 크롤링 3 이니스프리 이니스프리 21.05.02.12:24 489
207 크롬 버전 73에서 bxSlider 관련 문제에 대한 해결책 이니스프리 이니스프리 19.03.26.19:25 494
206 [Python] json.load()와 json.loads()의 차이 2 이니스프리 이니스프리 21.01.24.13:15 499
205 [Python] PyMuPDF의 사용방법 이니스프리 이니스프리 22.07.28.21:33 504
204 [프린터/복합기] 캐논 복합기 MF6XX ID 및 PIN 1 이니스프리 이니스프리 21.08.16.09:19 508
203 [PIL] 이미지 좌우반전 이니스프리 이니스프리 20.07.04.15:22 508
202 Appcheck 업데이트 : 클리너 기능 추가 image 이니스프리 이니스프리 18.03.30.12:44 516
201 SSH에서 자주쓰는 명령어를 짧게 만들어 놓기 2 NoYeah NoYeah 17.09.29.15:00 520
200 제가 알고 있던 통신사 계약기간 만료시 꿀팁을 공개합니다! 3 TVJ title: 열려라 맛스타의 자물쇠TVJ 17.08.21.23:06 522
199 [Python] PyMySQL에서 executemany()로 2 dimensional Array을 사용하여 DB에 적용하기 2 이니스프리 이니스프리 21.10.09.22:06 527
198 [할인정보] 비트디펜더 48시간 스페셜 오퍼! 2 image 이니스프리 이니스프리 17.03.25.10:56 529
197 파이썬 3.X에서 animated GIF 파일을 곧바로 resize할 수 있는 라이브러리 이니스프리 이니스프리 19.08.19.17:19 534