아파치 실행을 중지시키는 프로세스 찾기

아파치 실행을 중지시키는 프로세스 찾기

PHP 웹 페이지를 작성 중인데 내 컴퓨터에서 이상한 동작이 보이기 시작했습니다. 어느 시점에서 apache/php가 브라우저에 웹 페이지를 표시하는 데 오랜 시간(8초)이 걸렸습니다. 처음에는 그것이 나인 줄 알았습니다. 버그가 있어서 스크립트를 완료하는 데 걸리는 시간을 추적하는 디버그 기능을 만들었지만 페이지를 여러 번 다시 로드하기 시작했을 때(F5 키를 누름) 내 스크립트가 아니라 다른 프로세스가 있다는 것을 알았습니다. 일부 프로세스는 아파치를 중지합니다( 또는 php 또는 mysql)을 누른 다음 F5를 몇 번 누르면 스크립트가 빠르게 완료되는 경우도 있고 시간이 많이 걸리는 경우도 있습니다.

[time_start] => Array
    (
        [0] => 1446841239.1471
        [1] => 0.0581
        [2] => 0.0589
        [3] => 0.0564
        [4] => 8.0531
        [5] => 0.0574
        [6] => 0.0621
        [7] => 8.0582
        [8] => 0.0548
        [9] => 8.0457
        [10] => 0.0755
        [11] => 8.0555
        [12] => 0.0512
        [13] => 8.0447
        [14] => 0.062
        [15] => 8.0905
        [16] => 0.0602
        [17] => 8.0556
        [18] => 0.0582
        [19] => 8.0492
        [20] => 0.0551
    )

각 단계는 F5 키를 누른 후 실행되는 동일한 스크립트이며 항상 같은 시간이 소요되지만 때로는 완료하는 데 8초가 걸리기도 하는데, 중지하면 항상 약 8초가 걸리기 때문에 짜증납니다.

그래서 질문은 내 스크립트를 차단하는 프로세스를 찾는 방법에 대한 아이디어가 있습니까?

Ps.- 개인용 컴퓨터이기 때문에 포그라운드에서 실행 중인 작업이 많이 있는데 브라우저만 사용하고 다른 앱을 실행하지 않아도 여전히 작동이 중지되므로 백그라운드에서 실행 중인 작업이 있어야 합니다. 어떻게 찾을 수 있나요?

답변1

일관된 8초는 잠재적으로 오래 실행되는 일부 프로세스에 시간 제한이 설정되어 있음을 의미합니다. PHP 코드가 무엇을 하는지 모르면 DNS 시간을 알 수 있을 것 같습니다. PHP가 일부 네트워크 I/O 또는 기타 작업을 수행하는 경우 DNS 조회가 트리거될 수 있습니다. 가끔씩 DNS 쿼리 시간이 초과되는 현상이 나타나며 PHP는 해당 상황에서 하던 작업을 계속 수행합니다.

DNS 시간 초과가 설정되는 것을 볼 수 있는 유일한 곳은 /etc/resolv.conf이나 resolver(3)GNU libc에서 코드를 컴파일할 때입니다. 불행하게도 매뉴얼 페이지에서는 resolv.conf5초의 시간 제한이 컴파일 시간 기본값이라고 주장하므로 추측일 뿐입니다.

관련 정보