티스토리 뷰
non-threaded servers
Prefork 방식
httpd-2.2.13/server/mpm/prefork/prefork.c 파일을 오픈해보면 디폴트가 256개의 자식 프로세스를 생성할수 있으며
200000 까지 최대값을 지정할수 있다고 나온듯 하다.
#define MAX_SERVER_LIMIT 200000
#define HARD_THREAD_LIMIT 1
Apache의 최대 접속자를 끌어올릴려면 아래와 같이 셋팅해보자 (Prefork)
- ServerLimit 값을 MaxClient 값보다 크게 설정하면 되지 않음
- 너무 값을 올릴경우 서버의 자원보다 더 많은 접속자가 몰릴경우 서버 다운 가능성
- 설정후 Apache restart 말고 stop 하고 start 으로 적용하자!
ServerLimit 100000 <추가>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
# MaxClients 150 <변경>
MaxClients 10000
MaxRequestsPerChild 0
</IfModule>
threaded and hybrid servers
Worker 방식
httpd-2.2.13/server/mpm/worker/worker.c 열어보면 디폴트값이 정의 되어 있음
- hybrid MPM의 경우 400 = 16(ServerLimit)*25(ThreadsPerChild)
- 디폴트 설정가능한 최대 MaxClients값은 400,000,000 = (MAX_SERVER_LIMIT 20000 * MAX_THREAD_LIMIT 20000)
#define MAX_SERVER_LIMIT 20000
#define DEFAULT_THREAD_LIMIT 64
#define MAX_THREAD_LIMIT 20000
접속치를 변경해보자
- Thread 를 증가시킬수도 Server 를 증가시킬수도 있지만, 아래는 ServerLimit를 증가한것임
ServerLimit 400 <추가>
# ThreadLimit
StartServers 2
# MaxClients 150 <변경>
MaxClients 10000
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 0
</IfModule>
아차피 동시접속자 확인하기
netstat -an |grep :80 |grep ES |wc -l
아파치 동시 접속자라기 보다는 TCP 80번으로 연결을 맺은 아이피들의 갯수를 의미하는게 정확할듯...
참고사이트
'Linux' 카테고리의 다른 글
centos 6.6 + geoip + ipset 설치하기 (0) | 2015.07.03 |
---|---|
possible SYN flooding on port 80. Sending cookies 에 대한 대응책(?) (0) | 2015.06.12 |
apache 기본 개념 정리 (0) | 2015.06.12 |
httpd.conf (아파치 설정 옵션) 정리 (0) | 2015.06.12 |
로컬 백업스크립트 예제 (tar) (0) | 2015.06.12 |
- Total
- Today
- Yesterday
- glusterfs
- kvm
- pptp
- iptables
- 인증서
- ntp
- OpenVPN
- php
- NGINX
- galera
- yum
- centos8
- Apache
- L2TP
- gitlab
- GeoIP
- IPSEC
- virtualbox
- ssh
- WAF
- mariadb
- softether
- cURL
- 베이어다이나믹
- mod_security
- SSL
- MySQL
- 리눅스
- HAProxy
- centOS7
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |