1강 / 20강

컴퓨터 구조 — 쇼핑몰 서버를 뜯어보다

여러분이 관리할 그 상자 안에는 무엇이 들어 있을까

컴퓨터 구조 — 쇼핑몰 서버를 뜯어보다
서버는 일하는 사람(CPU), 책상(메모리), 창고(디스크), 우체국(네트워크)이 한 상자에 든 것입니다.

어느 날 여러분에게 쇼핑몰 서버 한 대가 맡겨졌습니다. 주문이 들어오고, 상품 목록이 뜨고, 결제가 돌아갑니다. 잘 돌아갈 때는 아무 문제가 없어요.

그런데 어느 날 갑자기 페이지가 느려집니다. 사장님이 묻습니다. "왜 느려요? 서버를 더 좋은 걸로 바꿔야 하나요?"

이때 여러분이 답할 수 있어야 하는 것은 이겁니다 — 지금 이 서버에서 누가 놀고 있고, 누가 죽어라 일하고 있는가. 그걸 알려면 서버 안에 누가 사는지부터 알아야 합니다.

서버 안의 네 식구

컴퓨터는 결국 네 가지가 서로 이야기하는 장치입니다. 쇼핑몰 사무실에 비유하면 이렇습니다.

🧠
CPU
일하는 사람
계산·판단을 한다
📋
메모리(RAM)
책상 위
지금 쓰는 것만 올려 둔다
📦
저장장치
창고
전원이 꺼져도 남는다
📮
네트워크
우체국
바깥 손님과 오간다

손님이 상품 페이지를 열면 이 넷이 한 바퀴 돕니다.

  1. 📮 네트워크가 "상품 3번 보여 줘"라는 요청을 받는다
  2. 🧠 CPU가 그 요청을 읽고 "DB에서 3번을 찾아라"라고 판단한다
  3. 📦 디스크에서 상품 데이터를 꺼내
  4. 📋 메모리에 올려 놓고 CPU가 HTML을 만든다
  5. 📮 네트워크로 손님에게 돌려보낸다

느려졌다는 건 이 다섯 단계 중 어딘가에서 줄이 길어졌다는 뜻이에요. 어디인지 찍어 내는 게 이 20강의 목표입니다.

서버 해부도 — 부품을 눌러 보세요. 그 부품이 요청 한 건에서 무슨 일을 하는지 보여 줍니다.
불러오는 중…

내 서버에게 직접 물어봅시다

이 강의에는 여러분만의 가상 우분투 서버가 한 대씩 배정되어 있습니다. 아래 셀의 ▶ 실행을 누르면 진짜 서버에 명령을 친 것과 같은 답이 돌아옵니다. 명령을 고쳐 써도 됩니다.

서버에게 신원을 묻습니다.
bash 브라우저에서 실행

세 줄이 나왔습니다. 지금은 뜻을 몰라도 괜찮아요. 대충 이렇습니다.

  • x86_64 — 이 CPU가 알아듣는 말(명령어 집합)의 이름
  • 12 — 이 서버는 일을 12갈래로 동시에 할 수 있다
  • 16Gi — 책상이 16기가바이트만큼 넓다

이 숫자 하나하나가 왜 그 값인지, 그리고 그 값이 쇼핑몰이 몇 명을 받을 수 있는지와 어떻게 연결되는지가 앞으로 20강의 내용입니다.

서버 안의 부품표를 통째로 뽑아 봅니다.
bash 브라우저에서 실행
🤔 확인 문제
쇼핑몰 페이지가 느려졌습니다. 다음 중 가장 먼저 해야 할 일은?
🤔 확인 문제
폰노이만 구조의 핵심 아이디어는?