PG_TEST_TIMING - 시간 측정 오버 헤드
pg_test_timing
[옵션
...]
pg_test_timing는 토토의 타이밍 오버 헤드를 측정하고 토토 시간이 뒤로 움직이지 않음을 확인하는 도구입니다. 타이밍 데이터를 수집하는 데 속도가 느린 토토은 덜 정확하게 제공 할 수 있습니다분석 설명
결과.
pg_test_timing다음 명령 줄 옵션을 수락합니다 :
-d지속 시간
---- 시간 =지속 시간
테스트 기간을 몇 초 만에 지정합니다. 기간이 길면 약간 더 나은 정확도를 제공하며 토토 클록이 뒤로 이동하는 문제를 발견 할 가능성이 높습니다.
-v
-버전
인쇄pg_test_timing버전 및 종료.
-?
-help
도움말 표시pg_test_timing명령 줄 인수 및 종료.
좋은 결과는 대부분 (> 90%) 개별 타이밍 통화가 1 마이크로 초 미만을 보여줍니다. 루프 당 평균 오버 헤드는 100 나노초 미만으로 훨씬 낮습니다.
3 초 동안 타이밍 오버 헤드 테스트.
다른 단위는 히스토그램보다 루프 당 시간에 사용됩니다. 루프는 몇 나노 초 (NS) 내에 해상도를 가질 수 있지만 개별 타이밍 호출은 1 마이크로 초 (미국)로만 해결할 수 있습니다..
Query Executor가 사용 설명서를 실행할 때분석 설명
, 개별 작업은 시간이 걸리고 요약을 표시합니다. 토토의 오버 헤드는로 행을 계산하여 점검 할 수 있습니다.PSQL프로그램 :
generate_series (1,100000)에서 선택 *으로 테이블 t를 작성합니다.
i7-860 토토은 9.8ms에서 카운트 쿼리를 실행하는 동안분석 설명
버전은 16.6ms가 걸리며 각 처리는 10 만 행 이상입니다. 6.8ms의 차이는 행당 타이밍 오버 헤드가 68ns이며, PG_TEST_MITING가 추정 한 것보다 약 2 배입니다.
일부 최신 Linux 토토에서는 언제든지 타이밍 데이터를 수집하는 데 사용되는 클럭 소스를 변경할 수 있습니다. 두 번째 예제는 위의 빠른 결과에 사용 된 것과 동일한 토토에서 느린 ACPI_PM 시간 소스로 전환 할 수있는 둔화를 보여줍니다.
# cat/sys/devices/system/clocksource/clocksource0/used_clocksource
이 구성에서 샘플분석 설명
위의 115.9ms가 걸립니다. 그것은 1061 ns의 타이밍 오버 헤드이며,이 유틸리티에 의해 직접 측정되는 작은 배수입니다.분석 설명
타이밍 오버 헤드에 의해 많은 시간화 작업과 관련된 총계가 크게 팽창 될 것입니다.
FreeBSD는 또한 시간 소스를 즉석에서 변경할 수 있으며 부팅 중에 선택한 타이머에 대한 정보를 기록합니다.
# dmesg | Grep "Timecounter"
다른 토토은 부팅시 시간 소스를 설정할 수 있습니다. 구형 Linux 토토에서 "클럭"커널 설정은 이러한 종류의 변경을 수행하는 유일한 방법입니다.
$ cat/sys/devices/system/clocksource/clocksource0/used_clocksource
정확한 타이밍 정보 수집은 일반적으로 다양한 수준의 정확도를 가진 하드웨어 시계를 사용하여 컴퓨터에서 수행됩니다. 일부 하드웨어를 사용하면 운영 체제가 시스템 시계 시간을 거의 직접 프로그램에 전달할 수 있습니다.
부정확 한 시간을 유지하면 토토 불안정성이 발생할 수 있습니다. 시계 소스의 변경 사항을 매우 신중하게 테스트하십시오.
타임 스탬프 카운터 (TSC) 클럭 소스는 현재 Generation CPU에서 사용 가능한 가장 정확한 것입니다. 운영 체제가 지원하고 TSC 시계가 신뢰할 수있는 시스템 시간을 추적하는 것이 선호되는 방법입니다.
최신 운영 체제는 알려진 TSC 문제를 확인하고 볼 때 더 느리고 안정적인 시계 소스로 전환 할 수 있습니다. 시스템이 TSC 시간을 지원하지만 기본값을 사용하지 않으면 정당한 이유가 없어서 비활성화 될 수 있습니다.
HPET (High Precision Event Timer)는 사용 가능한 토토에서 선호되는 타이머이며 TSC는 정확하지 않습니다. 타이머 칩 자체는 최대 100 개의 나노초 해상도를 허용하도록 프로그래밍 가능하지만 토토 시계에서는 많은 정확성을 보지 못할 수 있습니다.
ACPI (Advanced Configuration and Power Interface)는 Linux가 ACPI_PM이라고하는 PM (Power Management) 타이머를 제공합니다. ACPI_PM에서 파생 된 시계는 300 나노초 해상도를 제공합니다.
이전 PC 하드웨어에 사용되는 타이머에는 8254 프로그래밍 가능한 인터벌 타이머 (PIT), 실시간 클럭 (RTC), APIC (Advanced Programmable Interprupt Controller) 타이머 및 사이클론 타이머가 포함됩니다. 이 타이머는 밀리 초의 해상도를 목표로합니다.
문서에 올바른 것이 없으면 일치하지 않습니다.이 양식문서 문제를보고하려면