2012-03-26 2 views
1

로깅 기능을 구현 중이고 PHP 스크립트에 대한 요청이 클라이언트에 얼마나 많은 양의 데이터를 반환하는지 추적하고 싶습니다.현재 출력의 크기를 결정하는 방법

기본적으로 요청이 걸리는 시간 (microtime() 함수 사용), 피크 (memory_get_peak_usage() 함수 사용)에서 사용 된 메모리 양 및 메모리 사용량을 결정하는 함수 끝 부분에 로거를 추가하고 싶습니다. 클라이언트에 반환되었습니다 (기본적으로 클라이언트에 실제로 전송되지 않은 경우에도 스크립트 출력이 얼마나 많은 데이터를 생성하는지). 이것은 기본적으로 내 스크립트가 요청 당 생성 할 수있는 대략적인 대역폭을 계산할 수있게 해줍니다.

출력 버퍼를 처리하는 ob _ *() 계열의 함수를 사용할 수 있다는 것을 알았지 만 이미 스크립트에서이 함수를 여러 위치에서 사용하고 있으므로 성능이 떨어지는 것을 원치 않습니다. 모든 레이어 위에 다른 레이어를 추가하면

PHP에서 사용할 수있는 함수가 있습니까? 스크립트의 어느 시점에서 스크립트로 얼마나 많은 출력 데이터가 생성되었는지 알려줍니다.

감사합니다.

답변

1

PHP는 지금까지 클라이언트에 보낸 것의 내부적 인 수를 유지하지 않습니다. (이 기능이 필요하지 않은 사람이라 할지라도 모든 계층에 다른 계층을 추가 할 것입니다) 콘텐츠를 보내기 전에 출력 버퍼링 기능을 사용하는 것을 제외하고는해야합니다.

실제로 스크립트에서 출력 버퍼링을 추가하여 성능 차이를 용인 할 수없는 것으로 나타 났습니까?

+0

내가 생각하기에, 문서를 살펴볼 때 손가락으로 미끄러지기를 바랬다. 추가 출력 버퍼 레이어를 추가하지 않고 시스템 내에서 일종의 카운터를 만들려고합니다. 감사! – kingmaple

관련 문제