[하얀피]님이 남기신 글:
>현재 하루 방문객이 약 4만명 조금 넘는 커뮤니티 서버가 있습니다.
>(일 가입자 800~900명가량되며 얼마전 18만명이 되었네요..)
>이 서버는 웹서버와 DB서버 2대로 나눠져서 운영되고 있고요..
>웹서버에 (편의상 A서버라 명명하겠습니다.)
>아파치, 큐메일, 바인드가 돌아가며, DB서버는 MySQL만 돌아가고 있습니다.
>커뮤니티 특성상 자료실과 함께 있고 또 이 사이트를 찾는분들의 반수가
>자료실 이용을 하기 때문에 서버가 자살 직전 입니다.
>A서버의 맥스클라이언트수는 1024로 지정되 있는데...
>현재 프로세서 수가 700개가 넘어가고 있습니다.
>(물론 KeepAlive off로 설정되어 있음에도 불구하고요.)
>얼마전에도 몇차례 서버가 뻗어서 고민중입니다.
>산이님께서는 이런 상황을 어떻게 처리하실건지요? 조언좀 부탁드립니다.
>아.. 그리고 두 서버의 스펙은 동등하며..
>제온 2.4 듀얼에 1024DDR 램 입니다. 36SCSI 이고요.
>LVS를 구축하려고 해도 마스터 서버가 있어야 두대를 리얼서버로 사용하여
>뿌려줄텐데 말입니다.....T^T
========================================
웹서버와 DB 서버 튜닝을 최적으로 필요할것 같네요.
관련 데이터가 없는 관계로 여기에서 자세한 튜닝을 좀 힘들것
같네요.
즉 어느 부분에서 부하가 많이 걸리는지 알아야 하는데..
위의 경우는 관련 데이터가 없어서...
[공통]
net.ipv4.tcp_fin_timeout = 10
net.ipv4.tcp_keepalive_time = 120
net.ipv4.tcp_max_syn_backlog = 4096 이상
fs.file-max = 128000
[웹서버]
disk I/O 를 줄여줘야 하는데
불필요한 I/O 를 모두 없애줘야 합니다.
서버 여유가 있다면 큐메일을 다른 서버로 옮기는 것이 좋겠군요.
아파치에서는 별다르게 튜닝할 부분은 적고...
메모리가 좀 부족하다는 느낌이 드네요.
1G 에서 2G 이상으로 늘려주면 상당한 효과가 있을 듯 합니다.
[DB서버]
http://www.linuxchannel.net/?vhost=mysql
처럼
http://ftp.linuxchannel.net/devel/php_mysql_status/
에서 받아서 MySQL 서버 튜닝을 좀 해보세요.
wait_timeout 설정만 잘해도 부하가 많이 줍니다. |