테스트 사이트 - 개발 중인 베타 버전입니다

서버 동시접속자 설정 변경하기

· 9년 전 · 469

다음의 페이지를 대부분 참조했습니다. (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>

 

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

게시글 목록

번호 제목
32341
32339
32326
32325
32322
32319
32318
32316
32315
32313
32312
32311
32310
32304
32303
32300
32293
32292
32291
32285
32284
32275
32271
32268
32265
32261
32258
32257
32255
32254
32253
32251
32250
32249
32247
32246
32245
32244
32243
32242
32241
32240
32239
32238
32237
32236
32232
32229
32228
32227
32217
32215
32214
32213
32211
32207
32196
32193
32192
32190
32188
32186
32184
32173
32172
32171
32167
32165
32163
32162
32158
32157
32155
32151
32149
32135
32132
32127
32125
32122
32120
32119
32117
32116
32115
32114
32112
32111
32109
32107
32104
32103
32102
32101
32094
32089
20404
31036
8279
8268