ApacheMPM(Multi-Processing Module)이라는 개념이 있습니다.. Apache 서버는 기본적으로 멀티 프로세스 방식으로 Request를 처리합니다.. 이 때 두 가지(정확하게는 세 가지) 방식으로 Request를 처리합니다.. 한 가지는 prefork이고 다른 하나는 worker입니다..

 

MPM prefork

Prefork 방식은 자식 프로세스가 싱글 쓰레드로 동작하며 요청당 하나의 프로세스가 처리하는 방식 입니다. 즉 한 자식 프로세스당 하나의 쓰레드를 사용하는 방식 입니다. 일단 요청당 하나의 프로세스가 처리하기 때문에 안정적입니다. 프로세스간 메모리를 공유하지 않기 때문입니다. 하지만 기본적으로 사용하는 메모리가 worker 방식보다 높은 편입니다. Apache는 몇몇 idle process를 유지합니다. 그래서 요청이 들어오기 전에 idle process가 대기하고 있습니다. 그래서 요청이 들어 오면 바로 처리해주기 때문에 빠르게 처리를 해줄 수 있습니다. 하지만 동시적으로 많은 접속이 들어오면 상당히 많은 자원(메모리, CPU)을 사용하게 될 것입니다.

 



MPM worker

Worker 방식은 자식 프로세스가 멀티 쓰레드로 동작하며 각 요청당 하나의 쓰레드가 처리하는 방식 입니다. 즉 한 자식의 프로세스당 여러 개의 쓰레드를 사용하고 이 쓰레드가 요청을 처리합니다. worker 방식은 prefork보다 메모리를 적게 사용합니다. 그리고 스레드간에는 메모리를 공유할 수 있습니다. 또한 prefork방식과 비슷하게 Idle thread가 존재하여 들어오는 요청을 빠르게 처리합니다. 그래서 동시 접속 처리에 유리합니다.


 

결론적으로 높은 확장가능성(scalability)를 요구한다면 worker 방식으로 안정성과 오래된 스프트웨어와의 호환성이 필요 하다면 prefork 방식을 사용하면 좋다고 합니다.

 

참조 사이트

https://httpd.apache.org/docs/2.4/ko/mpm.html

http://faq.hostway.co.kr/Linux_WEB/7043

http://www.slashroot.in/how-is-nginx-different-from-apache

 

QQ에서 redirect url is illegal. 이 나올 때 해결 방법입니다.


[그림 1] 에러 페이지


[그림 2] App 등록 페이지

위의 App 등록페이지의 영역에 redirect url을 넣어주면 해결 할 수 있다.

디스크가 부족할 시 현재 어느 폴더에서 디스크 용량을 차지하는지 확인해야 할 때가 있다. 그럴때 다음 명령어로 확인해 보자.

sudo du -ckx | sort -n

Aliyun RDS를 구매한 후 데이터베이스, 계정 생성 후 외부 접속하는 방법을 정리 하려고 합니다.


1. 데이터 베이스 생성

1-1) 데이터 베이스 추가 버튼 클릭

[그림 1-1] 데이터 베이스 추가 버튼

1-2) 데이터 베이스 정보 입력 및 추가

[그림 1-2] 데이터 베이스 추가 입력 폼

[1] 데이터 베이스 이름

[2] 인코딩 방식 설정

[3] 데이터 베이스 추가 하기


2. 계정 생성

2-1) 계정 추가 버튼 클릭

[그림 2-1] 계정 생성 추가 버튼

2-2) 계정 정보 입력 및 추가

[그림 2-2] 계정 추가 입력 폼

[1]계정 ID

[2] 쓰기 / 읽기 권한 부여

[3] 패스워드 및 패스워드 호가인

[4] 계정 추가 하기


3. 외부 접속 허용

3-1) security group 추가하기 버튼 클릭

[그림 3-1] security group 추가 버튼

3-2) security group 추가하기

[그림 3-2] security group 추가 하기

security group 이름과 허용 IP에서 %를 넣고 추가하기 버튼을 클릭


1. I/O docs 설치

1-1) github 접속

https://github.com/mashery/iodocs

1-2) 다운로드

[그림 1-1] github I/O docs 다운로드

1-3) 압축 풀기

1-4) 압축을 푼 폴더에서 다음 명령어 실행

npm install oauth
npm install clone
npm install redis
npm install connect-redis
npm install


2. redis 설치

2-1) github 접속

https://github.com/dmajkic/redis/downloads

2-2) 다운로드

[그림 2-1] github Redis 다운로드

2-3) 압축 풀기

2-4) Redis 서버 실행

[그림 2-2] Redis 실행하기

3.  I/O docs 실행

3-1) github I/O docs 압축푼 폴더에서 


npm app


3-2) 브라우저에서

http://localhost:3000/ 로 접속

3-3) 인증을 요구한다면 그냥 확인 버튼을 누르면 된다.

[그림 3-1] I/O docs 접속 인증

3-4) 접속 완료!

[그림 3-2] I/O docs 접속 완료

+ Recent posts