• 목록
  • 아래로
  • 위로
  • 7
  • Seia
  • 조회 수 222

평소에 간간히 시험에 맞써 계속 사이트 구축과 리버싱 등 여러가지로 학습을 시도하다 이번에 VPS의 규모를 확장하기 전에 미리 경험있으신 분들의 말씀을 듣고 싶습니다.


사이트에 크게 엄청난 가격대의 VPS는 기존에도 사용하지 않았고 NodeJS 앱들과 간단한 CMS를 중심으로 이루어진 PHP 사이트들이 돌아가는 편입니다. 그닥 적은 사양에도 충분히 돌아가는 수준이죠.


그런데 이번 기회에 VPS에 약간의 자금을 들여 기존 NodeJS 웹 앱들의 성능을 약간 끌어올리기로 했습니다.


그래서 몇가지 옵션을 생각해봤는데...



첫번째는 로드밸런서로 새롭게 활용될 서브서버를 사용할지,

두번째는 메일 또는 데이터베이스 서버로 활용할지,

세번째는 NodeJS 앱들에게로 자원을 추가할지 등등..


이렇게 크게 3가지의 경우가 생길 것 같습니다만 혹시라도 이렇게 NodeJS 그리고 PHP의 경우에 서버 2대의 자원을 어떻게 사용하면 좋을지 모르겠어서 질문을 올립니다.


NodeJS같은 경우에는 현재 엔진이나 API와같은 서비스들도 있어 약간 고민되는 추세입니다.

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

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

댓글 7

NoYeah
profile image

Vps면 가상 서버를 한대 늘리는것 보다 기존 서버의 사양을 더 늘리는게 효과적입니다.

 

로드 밸런싱이나 db분리나 이런일 들은 하나의 고사양의 서버로 사용중에도 도저히 성능이 받쳐주지 못할 때 사용하는 방법입니다.

 

저사양에서 db분리나 로드밸런싱을 하게되는 경우 오히려 성능은 더 떨어집니다.

comment menu
2018.10.03. 10:44

신고

"NoYeah님의 댓글"

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

NoYeah → NoYeah
profile image

조금 비유를 해서 설명드리면

 

로드밸런싱은 같은일을 나눠서 하는 협업에 가깝고, DB분리는 일의 역할을 나눠서 하는 분업에 가깝습니다.

 

저사양의 서버를 어린아이, 고 사양의 서버는 어른이라고 했을 때

 

저사양의 서버를 로드밸런싱이나 DB분리를 하면 5살짜리 어린 아이에게 일을 시키는데 어린애 한명 더 데리고 와서 일을 시키는 겁니다.

일의 효율이 좋아진다고 보기 어렵습니다. 오히려, 서로간의 협의가 안돼서 전반적인 업무는 더 느려질 수도 있습니다.

 

그래서 차라리 어린아이 두명 데리고 일을 하는 것보다 일을 잘하는 성인 한명으로 교체하는 게 나은거죠.

 

성인 한명으로도 일이 힘들어졌을 때 보조하는 어린아이를 두던지(저사양 보조서버) 아님 베스트는 어른 한명을 더 둬서 협업을 하던지, 분업을 하던지 시키는게 좋은거죠.

comment menu
2018.10.03. 12:27

신고

"NoYeah님의 댓글"

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

Seia 작성자 → NoYeah
profile image

의견 감사합니다. 실은 지금 NodeJS의 포지션이 서버 한대에서 매우 어중간히 돌아가고 있는 상황이라 고려해보았는데요.

 

NodeJS 앱 또한 PHP의 앱들과 같이 데이터베이스를 사용하는데 이 때 성격이 다른 두 언어를 나누어 보거나 메일과 같은 보조적 기능을 하는 서버를 하나 만들어 자원 공유를 생각해보았습니다.

 

그리고 아무래도 웹 서비스같은 경우에는 약간의 딜레이가 생기더라도 사용자 입장에서는 큰 체감 상의 변화가 생기지 않지만 일부 웹소켓으로 다른 서비스의 API에 연결하여 사용하는 봇과 같은 경우에는 상당히 서버의 위치에 따라서 지연이 생기기도 했기에 NodeJS와 PHP 분할 또는 데이터베이스 분할을 생각해보았던 점도 있었네요.

 

일단은 VPS의 사양이 완전히 큰 사양도 아니기도 하고 크게 무리가 서비스가 프로세스 매니저에 의해 재시작되는 경우가 많지는 않아 플랜을 올려보려고 합니다. 의견 감사합니다.

comment menu
2018.10.03. 16:23

신고

"Seia님의 댓글"

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

NoYeah → Seia
profile image

그나마 고려해야 할 상황은 nodejs와 php를 앙에 각기 다른 서버로 분리시키는게 그나마 낫지만 어차피 둘이 연동을 해야하는 상황이라면 한 서버에서 두는게 그나마 낫습니다.

 

뭐든 연습이 되니 시도해보세요.

 

comment menu
2018.10.03. 17:53

신고

"NoYeah님의 댓글"

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

Seia 작성자 → NoYeah
profile image

아마 둘이 연동이라면 api...? 정도 되지 않을까 싶습니다. 답변 감사합니다!

comment menu
2018.10.03. 18:05

신고

"Seia님의 댓글"

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

이니스프리
profile image

저도 얼마 전에 이 부분이 궁금해서 찾아봤습니다 ^^

XETown에서 관련글 링크를 올립니다.

https://xetown.com/qna/964192

https://xetown.com/tiptalk/648529

https://xetown.com/qna/568394


맛스타 님 말씀대로 XETown의 기진곰 님께서도 1만 명 정도가 넘어가지 않는 이상 

VPS 플랜을 업그레이드하여 하나의 서버에서 해결하라고 하시네요 :)

comment menu
2018.10.03. 12:27

신고

"이니스프리님의 댓글"

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

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

의견 감사합니다, 첨부하신 글들은 모두 읽고 지금 다시 생각하고 있습니다.

 

가장 큰 문제에 있어서는 NodeJS 앱이었습니다. 그 이유는 NodeJS의 앱은 하나의 프로세스가 싱글 스레드를 사용하기 때문에 cluster 또는 로드밸런싱이 어느정도 고려될 수 밖에 없었습니다.

 

그렇다면 시나리오를 본다면 한 프로세스를 할당된 코어 개수만큼 프로세스 포크를 했을 때 CPU의 점유율이 위(마스터님과의 대화)에서 언급한 웹소켓 하나에서만 10% 이상 점유되어 버려 고려해보았습니다.

 

그리고 이 두 언어의 성격상 캐싱의 방식은 겹쳐질 수 없었던 점도 있었습니다.

 

아직은 서비스의 업타임까지 영향을 주지는 않아 답변하신 대로도 시도해볼 계획입니다. 의견 감사합니다.

comment menu
2018.10.03. 16:33

신고

"Seia님의 댓글"

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

권한이 없습니다.
번호 제목 글쓴이 날짜 조회 수
공지 시스템 점검 작업 완료 안내 10 마스터 24.09.05.16:25 2556
공지 [중요] 호스팅 만료와 관련하여 일부 수칙이 변경됩니다. 4 마스터 23.01.14.02:23 9970
공지 [필독] 질문하는 방법 17 마스터 18.02.23.03:09 4939
서버의 구성에 관련하여 질문드립니다 7 Seia 18.10.03.03:07 222
425 파일질라는 접속하면 폴더지정이 안되나요? 2 슬기 18.09.30.23:48 246
424 [해결됨]별칭 도메인 관련해서 질문 다시 올립니다 8 260578 18.09.29.20:43 565
423 택배 추적? 택배 기록 앱 뭐가 좋을까요? 7 네모 18.09.28.18:53 386
422 안녕하세요. 영카트(그누보드) 관련 질문입니다. 이미지가 활성화 되질 않고 있습니다. 5 image 정다성 18.09.21.16:33 552
421 안녕하세요. 신입입니다. 디자이너에서 코딩을 첫배움인데 처음부터 막히네요 ㅠ.ㅠ 3 image 정다성 18.09.21.12:27 243
420 크롬 즐겨찾기를 잘 관리하는 팁이 있을까요? 5 이니스프리 18.09.19.18:55 411
419 같은 도메인으로 2개의 서버는 안될까요? 7 title: 도밥위키!Dobob 18.09.17.00:06 1237
418 FTP 접속후 설치 화면 아뜨는증상 ? 3 핫슈 18.09.16.14:31 195
417 아마 당분간은 호스팅 쓸 일이 없을거 같은데 등록 취소 가능한가요? 2 abnoeh 18.09.16.09:24 197
416 관리자님 질문있습니다. ssh 관련해서요.. 1 isfalse 18.09.16.01:51 204
415 그누보드5만든홈페이지 관리자아이디.비밀번호잃어버렸는데 찾을수있나요? 10 라푸라푸 18.09.11.01:33 2036
414 파싱프로그램 문의 4 라푸라푸 18.09.11.01:18 543
413 vmware 그래픽 관련 도와주세요! title: 에그joyful 18.09.09.15:59 244
412 파이썬 개발환경을 어떻게 세팅하는 것이 효율적인가요? 5 이니스프리 18.09.08.10:28 377
411 [해결됨][미디어위키] 로그인 문제가 있습니다. 5 260578 18.09.02.15:32 552
410 어떤 문제인가요? 1 image 260578 18.09.01.12:10 189
409 [도메인]정상화된 스포어로 돌아오려고 준비하고 있었는데.. 3 image 260578 18.08.31.18:25 210
408 윈도우 10 iis 외장하드 관련 문의 1 width 18.08.30.15:58 542
407 [도메인 설정하기] 질문 2 image swimmie 18.08.28.00:57 198