다음의 페이지를 대부분 참조했습니다. (http://www.zarafa.com/wiki/index.php/Apache_tuning)
- http 웹페이지는 stateless(connectionless) 입니다. 즉 페이지 불러올 때에만 서버와 연결하고 다 불러와지면 연결을 끊습니다.
- 1개의 연결당 평균 메모리 소모량은 20MB 입니다. (라엘이가 관리하는 여러서버의 평균값을 내보았음)
- Ubuntu Apache 의 기본 동시접속자 제한은 150개 입니다. 1000개의 동시접속이 연결되면 150개는 즉시 처리진행되고, 나머지 850개는 대기열에서 대기하다가 차례대로 처리됩니다.
1> 서버 연결당 얼마나 메모리를 소모하는지 확인
#ps -ylC apache2 | awk '{x += $8;y += 1} END {print "Apache Memory Usage (MB): "x/1024; print "Average Proccess Size (MB): "x/((y-1)*1024)}'
2> 서버에 여유 메모리 자원이 얼마나 있는지 확인
서버를 재부팅한 후에 아파치를 종료후 서버의 메모리를 확인해본다.
# free -m
3> 하드웨어 자원을 고려한 가용 동시연결수 계산
여유 메모리 / 1연결당 메모리 하면 된다.
2000MB free memory 가 있고, 1연결당 20MB 를 사용한다면 = 100개의 동시연결 가능. (300~500 동시접속자 처리가능)
4> 사이트의 필요 동시연결수 계산
450명의 사용자가 있고 3초주기로 페이지 이동이 일어난다고 가정하자. 페이지 출력 실행시간은 2초라고 가정하자.
필요 동시연결수 = 450 / 3 * 2 = 300
5> 동시연결수 설정 변경.
# vi /etc/apache2/mods-available/mpm_prefork.conf
MaxRequestWorkers 값을 수정해야 합니다.
ServerLimit 라는 옵션의 기본값이 256이기 때문에 MaxRequestWorkers 값이 256보다 작으면 따로 적을 필요가 없으며, 256보다 크면 그와 같은 값으로 ServerLimit 도 설정해야 합니다.
동시연결 제한 300 예제 설정법.
<IfModule mpm_prefork_module>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxRequestWorkers 300
ServerLimit 300
MaxConnectionsPerChild 0
</IfModule>
게시글 목록
| 번호 | 제목 |
|---|---|
| 18013 | |
| 18012 | |
| 18011 | |
| 18010 |
JavaScript
콤보스타일 메뉴 입니다.
|
| 18009 |
JavaScript
쿠키를 이용한 레이어 공지창 입니다.
|
| 18008 |
JavaScript
효과있는 텍스트 틱커 입니다.
|
| 18007 | |
| 18006 |
PHP
HTTP 인증 하기 입니다.
|
| 18005 |
JavaScript
외부 문서 불러오기 입니다.
|
| 18004 |
JavaScript
지정한 날짜까지 New 이미지를 띄워주기 입니다.
|
| 18003 | |
| 18002 |
JavaScript
메일 주소 검사하기 체크박스 입니다.
|
| 18001 |
JavaScript
무단링크 금지하기 입니다.
|
| 18000 | |
| 17999 |
MySQL
DB백업 및 복원
|
| 17998 |
JavaScript
페이지가 다른 사이트의 프레임에 갇히는 것을 막기 입니다.
|
| 17997 | |
| 17996 | |
| 17995 |
jQuery
input text 대문자만 받는 Jquery
|
| 17994 | |
| 17993 |
JavaScript
이미지 업로드와 미리보기 입니다.
|
| 17992 |
JavaScript
배경음악 랜덤 재생 하기 입니다.
|
| 17991 |
JavaScript
css 지원 여부 확인해서 다른 페이지로 이동하기 입니다.
|
| 17990 |
JavaScript
하부메뉴가 보였다가 숨겨졌다 하는 토글버튼 입니다.
|
| 17989 |
JavaScript
개별 페이지에 인덱스로 거쳐 들어오게 하기 입니다.
|
| 17988 |
JavaScript
랜덤으로 이미지 출력 되기 입니다.
|
| 17987 |
JavaScript
사용자 해상도 알아내기 입니다.
|
| 17986 |
JavaScript
붙여넣기 금지하기 입니다.
|
| 17985 |
MySQL
대소문자 데이터 조회하기
|
| 17984 |
JavaScript
퇴장시 팝업창 한번한 띄우기 입니다.
|
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기