- 메인보드
- 하드디스크: 프로그램 저장 공간
- 메모리: 프로그램 활동 공간
- CPU: 프로그램 수행자
서버의 속도가 늦어져서 하드웨어를 업그레이드해야 할 때
하드디스크가 아닌 메모리만 늘리면 된다고 하는 이유!
- 하드디스크 크기: 실행할 수 있는 프로그램을 설치할 수 있느냐 없느냐의 문제,
설치할 수 있는 공간만 확보되면 속도에 영향을 주는 구성요소는 아님 - 메모리 크기: 속도에 영향을 줌,
한번에 여러 프로그램을 실행 준비시킴 => 하드디스크에서 프로그램을 왔다갔다 옮기는 시간을 단축 - CPU속도: CPU는 빠를수록 작업 속도가 빠름
서버나 PC의 메인보드는 메모리 증가를 통한 속도 향상의 상황을 고려해서
메인보드에 메모리를 간단하게 추가하거나 빼고 교체할 수 있도록 구성이 되어있음
하지만 CPU는 한번 조립된 서버에선 교체하는 일이 쉽지 않다
컴퓨터 프로그램 수행 과정
1) 하드디스크에 프로그램이 설치되어 있어야 함
2) 하드디스크의 프로그램이 메모리로 올라가야 함 (활동공간으로 옮겨서 활동할 수 있게 하기 위함)
3) 메모리 정보중에 가장 먼저 처리되야 될 정보가 캐시, 레지스터로 올라감
- 로딩: 하드디스크에서 메모리로 정보를 올리는 과정
접속자가 폭주해서 서버가 멈추는 경우: 메모리를 비워야 함 (거실, 활동공간에 해당되는 메모리를 비워야 한다)
이것을 하기 위해 메모리를 채우는 서비스를 잠시 내렸다가 올리는 행동을 한다
=> 사용자의 접속이 많아졌으니 서버에 메모리를 늘리던지, 들어오는 사용자의 수를 제약을 하던지 해야 한다.
** PC의 구성요소에 대한 이해는 프로그램 운영 중 발생하는 문제에 대한 근본적인 대응을 위해 필요한 지식임
프로그램 동작 구조
컴퓨터 or 모바일 하드웨어가 있고,
그 위에 OS (하드웨어를 관리하는 운영체제)가 있음
그 위에 응용 프로그램 (실제로 사용하는 프로그램)
프로그램 구조를 이해하면 특정 현상에 대한 대응 뿐만 아니라 현상을 바라보는 시각이 넓어진다.
=> 운영상에 맞이하는 많은 오류를 쉽게 해결할 수 있다
프로그램 오류는
- 프로그램 자체 오류
- OS 오류
- H/W 오류
로 인해 발생할 수 있다.
만약 개발한 프로그램이 OS를 전혀 영향을 미치지 않고 사용하는 프로그램이라면
응용프로그램 단의 프로그램 자체 오류만 볼 케이스가 많아짐
OS와 하드웨어를 적극적으로 사용하는 프로그램이라면 3가지의 오류(프로그램 자체, OS, H/W)를 다 봐야 하기 때문에 오류의 케이스가 넓어짐
모바일 기기의 앱을 개발할 때는 항상 어떤 기기의 사양, 어떤 OS 버전까지 지원할지를 명확하게 정리해야 한다.
-> 개발할 기능이 안드로이드 OS*버전 이상만 지원 가능
-> 앱 등록시 사용가능한 OS 버전을 *으로 맞춰 올리기
오류 대응 프로세스
- 오류 상황 시 프로세스
1. 현상 확인
- 어떠한 문제가 발생했는지?
현상에 관해서 명확히 확인
2. 분류
- 우리 프로그램 문제인지?
- 다른 환경 요소인지?
명확하게 구분하기
3. 대응
- 우리 문제: 즉시 수정 대응
- 환경 요소: 대응 여부 검토
=> 우리가 대응해야 하는 상황이라고 판단이 되면 빨리 처리(수정, 대응)
=> 우리가 대응을 안해도 되는 상황이라고 판단이 되면 고객에게 확실한 사유에 대해서 설명을 해야 함
4. 피드백
처리가 된 오류 상황에 관해서 사용자 및 관련자들에게 정확하게 조치 및 경과를 공유하여
오류의 재발생 및 대응 가이드를 준비하기
출처: https://www.kmooc.kr/view/course/detail/10675?tm=20241201170442
'IT지식' 카테고리의 다른 글
파이썬에서 파일에 락(lock) 거는 방법 (0) | 2024.12.12 |
---|---|
파이썬 2.x 버전 인코딩 설정 (euc-kr -> utf-8) (0) | 2024.12.12 |
네트워크 구성, 동작 원리 (0) | 2024.12.01 |
서버 구성 및 동작 원리 (0) | 2024.12.01 |
SSL이란 무엇일까? (0) | 2024.10.24 |