서버 부하 궁금한 점
글쓴이: 송지석 / 작성시간: 화, 2005/04/19 - 3:41오후
FC3에 apache+mysql+php 로 작은 규모의 서버를 운용하고 있습니다.
사용자는 10명 이내고요.
Cpu0 : 0.9% us, 0.4% sy, 0.3% ni, 95.3% id, 3.2% wa, 0.1% hi, 0.0% si
top을 치면 위처럼 idle이 많이 나오는 게 보통입니다.
그런데 웹서비스를 하면 us(cpu 사용량)는 별로 변화없는데
wa : waiting 이 거의 100%를 차지 하는 경우가 생깁니다.
아래처럼요.
top - 15:41:39 up 12 days, 3:57, 6 users, load average: 0.13, 0.13, 0.10 Tasks: 135 total, 1 running, 134 sleeping, 0 stopped, 0 zombie Cpu(s): 3.7% us, 1.3% sy, 0.0% ni, 0.0% id, 94.4% wa, 0.7% hi, 0.0% si특히 php+db 쪽에서 심합니다. 디스크를 기다리는 건지 뭘 하는 건지 모르겠네요. 어디가 병목인지 알 방법 있을까요? FC1에서는
CPU states: cpu user nice system irq softirq iowait idle total 0.0% 0.0% 0.1% 0.0% 0.0% 0.0% 99.8%이런식으로 좀더 보기 쉽게 나왔었는데 FC3에서는 보기가 어렵네요. 예전처럼 보는 옵션도 없는 것 같고.. 서버의 스펙에 비해 너무 응답이 느려질 때가 있어서요.. IDE 하드를 썼어도 이렇게 느릴 것 같진 않아서 말이죠.. (P4 2.8G, 256MB, IDE hdd )
Forums:
http://gentoo-portage.com/sys-apps/dstat
http://gentoo-portage.com/sys-apps/dstat/
dstat 을 시도해보세요..
iostat 와 vmstat 를 대체할 프로그램입니다 :)
결과는...
아무옵션없이 실행시킬 경우 인터럽트가 들어올때까지 계속 stat을 체크해줍니다...
오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...
http://mytears.org ~(~_~)~
나 한줄기 바람처럼..
고맙습니다. 편리하네요.DB 억세스 하는 부분에서 (로그인하거나 게시
고맙습니다. 편리하네요.
DB 억세스 하는 부분에서 (로그인하거나 게시물 목록 볼 때)
read를 많이 하긴 하네요. 저정도면 많은 건지 모르겠군요. 혹시 서버 운용 해보신 분 있으시면 평가좀 해주실 수 있을까요?
사용자 수도 적고 DB 크기도 6MB 정도 밖에 안되거든요...
rommance.net
어떤 디비를 사용하시나요? 데이타베이스들은... 테이블 캐쉬등이
어떤 디비를 사용하시나요?
데이타베이스들은... 테이블 캐쉬등이 있기 때문에 디비크기가 겨우 6메가 정도밖에 안된다고 하고... 정상적으로 인덱스등을 사용하여 접근한다고 한다면... 처음 한번 테이블을 메모리에 올릴 경우를 제외하고는... 거의 디스크에 접근할 일이 없을 텐데요 ;)
(물론... sorting 등을 하게 될 경우 임시파일을 만들어서 하게 되므로 인덱스를 효율적으로 사용하지 않는다면 얘기가 살짝 달라질 수도 있겠군요 ;) )
free 등을 쳐서 swap 을 많이 사용하고 있지는 않은지 체크해 보시고... 그런 게 아니고 메모리의 여유가 있다면... 디비의 설정을 고쳐서 캐쉬를 늘려보세요 :D
오랫동안 꿈을 그리는 사람은 그 꿈을 닮아간다...
http://mytears.org ~(~_~)~
나 한줄기 바람처럼..
[quote]FC3에 apache+mysql+php 로 작은 규모의 서버
원 질문에 mysql이라고 말씀을 하셨네요 :)
음.. php 옵션에 버퍼링 옵션을 켜고 커널을 smp 버전으로 부팅하니
음.. php 옵션에 버퍼링 옵션을 켜고 커널을 smp 버전으로 부팅하니까 좀 나아졌습니다. 이젠 느려지거나 하지 않네요...
rommance.net
dstat 의 자료로 볼때 그전에 서버가 느려보이는것은, 메모리가 부족해
dstat 의 자료로 볼때 그전에 서버가 느려보이는것은, 메모리가 부족해서 그렇습니다.
dstat 의 paging in/out 은 swap in/out 을 뜻합니다.
php 옵션을 바꾸고, 시스템을 재시작 하셨다고 했는데,
아마 메모리 리크가 있떤 프로세스가 죽었거나 혹은 아파치 프로세스당 사용하는 메모리양이 줄었을 가능성이 크군요.
구체적으로 어떤 php 옵션을 바꾸셨다는건지 궁금하군요.
output_buffering = Off를output_buffer
output_buffering = Off
를
output_buffering = 4096
로 바꾸어주었습니다.
rommance.net
확실히 업타임이 좀 되니까 페이징이 점점 생기는군요. 음....살
확실히 업타임이 좀 되니까 페이징이 점점 생기는군요. 음....
살펴보니까 httpd 프로세스가 메모리를 너무 먹네요. 음.. --;; 이거 어떻게 하면 될까요?
그냥 메모리를 늘려야 하나...
일단 요걸 20에서 10으로 줄여보긴 했는데 이게 성능 메모리 부족을 해결할 수 있을 지.. -_-;;;어떻게 하면 될까요?
rommance.net
문제가 뭔지는 잘 모르겠지만
아파치쪽이나 mysql쪽이나 튜닝할 부분은 조금씩 있겠지만...
아파치2를 MPM=worker 로 설치할 경우
httpd 프로세스가 차지하는 메모리는 줄어듭니다.
(이때 php4보다는 php5를 권장합니다.)
우수하지 않아요. '우수한'은 옛날 만화 CityHunter에서 따와서 쓰던 별명. ;-)
output_buffering 옵션은 끄는게 좋습니다.echo 한것을
output_buffering 옵션은 끄는게 좋습니다.
echo 한것을 모았다가 뿌린다는겁니다. 괜히 메모리만 잡습니다.
worker 추천 한표 더.
https://xenosi.de/
[code:1]# worker MPM# StartServers:
옵션엔 이렇게 되어있습니다. MPM=worker 가 되어있는 것은 아닐 지..(아파치 잘 모릅니다. MPM이 뭔지도..) 그런데 worker랑 prefork랑 서로 배타적인 옵션인가요? prefork도 옵션이 있고 worker도 옵션이 있는데요. 흠..
오늘 아침 보니 메모리 잡아먹는 게 더 늘었습니다. 10개 프로세스로 해도 각 프로세스가 잡아먹는 용량이 늘어가는군요... 어젠 다 4.x 였는데..
rommance.net
locate로 찾아보니 httpd.worker라는 실행파일이 있네요.
locate로 찾아보니 httpd.worker라는 실행파일이 있네요.
init.d/httpd 스크립트에 다음과 같이 되어있습니다.
여기서
httpd=${HTTPD-/usr/sbin/httpd.worker} 로해주면 될 거 같긴한데..
이부분이 맘에 걸리네요.
php는 4를 사용해야만 할 것 같습니다. 배포판을 건드리고 싶지 않아서 말이죠...
rommance.net
mod_php 도 worker 에 맞추어 컴파일 해야 합니다.해당 아
mod_php 도 worker 에 맞추어 컴파일 해야 합니다.
해당 아파치를 .configure 에서 지정해 주고 컴파일 하면 됩니다.
https://xenosi.de/
서버 셋팅의 문제라기 보다는 메모리가 적은 것과 db를 읽는 php 코드
서버 셋팅의 문제라기 보다는 메모리가 적은 것과 db를 읽는 php 코드의 문제가 아닐까 싶은데요. 6M DB를 한 사용자 마다 3M가 읽고 있는 것이 이상해서요.
----
I paint objects as I think them, not as I see them.
atie's minipage
[quote="송효진"]mod_php 도 worker 에 맞추어 컴파일
worker 에서 mod_php 는 많이 다른가요?
debian 에서 worker 패키지를 설치하려 하면, prefork , mod_php 를 삭제해 버리네요.
debian 패키지로는 mod_php 가 안됩니다. 따로 컴파일 해야 한다면, 난감.(debian sarge)
뭔가 잘못한것인지 모르겠습니다.
네. 한번 worker로 해놓고 실행해보니까 mod_php가 thread
네. 한번 worker로 해놓고 실행해보니까 mod_php가 thread safe 하지 않다고 에러를 냅니다. 윗분 말씀처럼 worker로 하려면 mod_php를 새로 깔아야 할 겁니다.
rommance.net
댓글 달기