2011-11-11 3 views
4

우리는 PHP의 Symfony에 중요한 웹 사이트 모듈을 포팅했습니다.PHP CPU주기 벤치마킹

이 모듈은 많은 페이지 히트를 가지고 있으므로 추가 하드웨어 요구 사항 (있는 경우)을 판단해야합니다. 포팅 후 웹 페이지가 차지하는 추가 메모리 및 CPU 사이클을 벤치마킹하려고합니다.

이러한 통계를 얻기 위해 PHP에 기존 도구 또는 함수가 있습니까? php에서 getrusage 함수를 보았지만 신뢰할 수있는 것 같지 않습니다.

+0

학자가되는 것을 의미하지는 않지만 "심포니 (Symfony)"라고 철자가 있습니다. –

답변

0

Symfony와 다른 대부분의 프레임 워크는 정적 인 유용한 벤치마킹 시스템을 제공합니다.

이 정보가 유용할까요? http://www.markround.com/archives/30-LigHTTPd-and-Apache-Symfony-benchmarks.html

+0

symphony의 내장 된 벤치마킹 시스템을 참조하십시오. 아파치 벤치마킹에서 나는 그렇게 할 것이다. 아마도 jmeter 나 siege를 사용하여 웹 사이트의 다른 페이지를 공격 할 것입니다. ab는 단 하나만 지원합니다. – Shivam

0

대신이 방법을 벤치마킹, 당신은 아마 예를 Apache Benchmarking Tool를 들어, 초당 해당 요청을 생산 하나에 해당하는 개발 서버에 대한 스트레스 테스트를 만들 수 있습니다. (그리고 op-code 캐쉬를 설치하는 것을 잊지 마라.)

+0

예, 우리는 그렇게 할 것이지만, CPU 시간과 메모리 패턴을 얻는다면 웹 사이트에 다른 많은 모듈이 있고 웹 사이트 트래픽을 시뮬레이트하는 것이 좋을 것이므로 더 나은 계획을 세울 수 있습니다. 용량 계획을 수행하기 위해 모듈 유형별 통계별로로드를 사용하려고합니다. – Shivam

+0

Ok :) 그렇습니다. 심포니의 프로파일 링 모듈을보십시오. – Nanocom

0

enter image description here

심포니는 PHP 프로젝트를 프로파일 링을위한 최상의 프레임 워크 중 하나입니다. 그것은 훌륭한 도구가 내장되어 있습니다.

슬라이드 쇼가 http://www.slideshare.net/old_sound/debugging-and-profiling-symfony-apps

+0

존 상당히 공정합니다. 그들을 통과해야합니다. 내 필요에 따라 추천 해 주시겠습니까? 감사합니다 :) – Shivam

3

XDebug이 callgrind 파일과 기능 추적을 만드는 데 사용할 수 있습니다 여기 심포니 컨퍼런스 2010

에서 옵션에 대해 많은 이야기가 있었다 .

이전에서는 요청 시간, 함수 호출 수 등 어디에서 사용했는지 설명했습니다. KCacheGrind을 사용하여 해당 데이터를 검사 할 수 있습니다.

Latter를 사용하면 실제 기능 경로가 작동하는 방식을 확인하고 기능별 메모리 사용법을 기능별로 검사 할 수 있습니다.

+0

: - 도구의 Xdebug 및 KcacheGrind 유형도 CPU 및 메모리 리소스를 사용하며 한 번에 하나의 요청에서 작동합니다. 우리는 벤치 마크와 같은 도구를 사용하여 벤치마킹을하고 싶습니다. 그리고 나서 CPU 시간과 도구로 메모리 로그를 확인하여 부하가 높은 패턴을 확인합니다. – Shivam

+0

각 요청에 대해 덮어 쓰지 않고 캐시 그 리드 파일을 추가 할 수 있습니다. 액션에 꽤 많은 추가로드가 추가 되기는하지만 상대적인 사용법은 대부분 정확합니다. – Smar

0

PHP Profiling Tools을 참조하십시오. 최소한의 오버 헤드로 상대 카운트를 얻거나 메소드 및 호출 트리에 타이밍을 지정할 수 있습니다.