[완료] php 질문드립니다.

Scarecrow의 이미지

제가 요즘 php cli로 스크립팅을 하고 있습니다.

그런데 cpu를 많이 잡아먹는 작업은 어느정도 돌아가다가 1%미만으로 팍 죽여버리더군요.

php가 커멘드라인에서의 스크립팅으로 주로 쓰이는게 아니고
서버사이드 스크립트로 주로 쓰여서 그런식으로 동작하는게 아닌가 추측이 됩니다만...

스크립트가 종료될따까지 cpu를 100% 꽉 쓸 수 있게 할 수 없을까요?

------
10/01/29: 헉 부끄럽지만 저의 실수였습니다.

김정균의 이미지

흠.. 제가 사용하는 job은 CPU를 100% 다 쓰는데요. 1%로 떨어진다면 혹시 idle wait 상태(I/O 부하가 발생하는 상태)를 유발 시키는 작업이 아닌가 싶군요. 혹시 idle wait 수치도 확인해 보셨나요?

Scarecrow의 이미지

제가 지금 하려는 것이 C++로 php모듈을 만들어서 php에서 사용하려고 하고 있습니다.
C++로 만들어놓은 모듈에서 io작업은 많습니다.

지금 iostat으로 확인해 보니 %iowait은 0인데 CPU 사용량이 갑자기 떨어집니다.
떨어지는 시점도 매번 거의 같습니다.

C++ 라이브러리를 php모듈로 만들지 않고 C++에서 테스트해보았을때는 이런 현상이 발생하지 않았습니다.

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
          83.00    0.00   17.00    0.00    0.00    0.00
 
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
          81.37    0.00   18.63    0.00    0.00    0.00
 
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
          42.86    0.00    8.16    0.00    0.00   48.98
 
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.00    0.00    0.99    0.00    0.00   99.01
 
avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.99    0.00    0.00    0.00    0.00   99.01
lqez의 이미지

전혀 엉뚱한 추측일 수 있는데, cli에서 php 실행시 timeout에 걸리는 것은 아닐까요?
저도 php로 헤비하게 놀지만( 1G alloc, 10분 이상 ) cpu 100%로 잘 돌아갑니다.