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

사실 저는 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 722
공지 [중요] 호스팅 만료와 관련하여 일부 수칙이 변경됩니다. 4 마스터 마스터 23.01.14.02:23 4393
526 [Telegram] Bot의 inline keyboard 제거 이니스프리 이니스프리 22.07.01.20:35 190
525 [Filepond] 가로로 이미지 나열 이니스프리 이니스프리 22.06.20.21:26 259
524 [Selenium] Page down 이니스프리 이니스프리 22.06.19.12:40 167
523 [Python] Function to save list into a text file line by line 이니스프리 이니스프리 22.06.11.21:33 166
522 [Python] Bypassing Cloudflare's anti-bot page with Cloudscraper module 이니스프리 이니스프리 22.06.10.22:11 197
521 [Python] MP4 움짤을 clip하여 thumbnail 生成하기 이니스프리 이니스프리 22.06.09.08:35 173
520 [Python] MP4 50% 進行된 frame을 JPG thumbnail로 生成 이니스프리 이니스프리 22.06.06.15:15 133
519 [Python] MP4 -> JPG thumbnail 生成 1 이니스프리 이니스프리 22.06.04.16:38 131
518 [Python] Sending SMTP メール(Gmail) - Redmail module 이니스프리 이니스프리 22.06.02.20:38 123
517 [Python] PyHWP의 hwp5txt를 利用하여 Hancom file을 불러오기 이니스프리 이니스프리 22.05.29.07:59 368
516 [Python] print 되는대로 string으로 변환하는 function 이니스프리 이니스프리 22.05.22.19:59 133
515 [Python] Windows에서 Pocketsphinx 설치할 때 Swig 설치하는 방법 이니스프리 이니스프리 22.04.16.20:15 535
514 [Python] extension이 標示되지 않는 online image의 extension을 알아내기 이니스프리 이니스프리 22.04.01.20:51 170
513 [Python] PyMySQL에서 executemany()로 2 dimensional Array을 사용하여 DB에 적용하기 2 이니스프리 이니스프리 21.10.09.22:06 523
512 [Python] Google_images_search 모듈 : 구글에서 이미지 검색 및 크롤링하기 이니스프리 이니스프리 21.09.21.18:03 306
511 hosting.kr 개인정보 보호 서비스 image 이니스프리 이니스프리 21.09.20.10:46 212
510 [Python] ImportError: No module named '_curses' 에러에 대한 대처 방법 이니스프리 이니스프리 21.09.19.21:44 2789
509 [Python] Requests에서 SSLError 발생 시 대처 방법 이니스프리 이니스프리 21.09.19.15:12 1216
508 [미디어위키] Liberty 스킨 스타일 깨지는 문제 수정하기 2 image title: 은메달도다 21.09.19.12:51 239
507 [Python] Requests에서 JSON 데이터를 POST 전송하는 방법 x2 이니스프리 이니스프리 21.08.22.08:16 9596