pg_test_timing — 타이밍 오버헤드 측정
pg_test_timing [옵션...]
pg_test_timing는 스포츠 토토 사이트의 타이밍 오버헤드를 측정하고 스포츠 토토 사이트 시간이 결코 뒤로 이동하지 않는지 확인하는 도구입니다. 타이밍 데이터를 수집하는 속도가 느린 스포츠 토토 사이트은 정확도가 떨어질 수 있습니다.분석 설명결과.
pg_test_timing다음 명령줄 옵션을 허용합니다:
-d기간--기간=기간테스트 기간을 초 단위로 지정합니다. 지속 시간이 길수록 정확도가 약간 향상되고 시스템 시계가 뒤로 이동하는 문제를 발견할 가능성이 높아집니다. 기본 테스트 기간은 3초입니다.
-V--버전인쇄pg_test_timing버전 및 종료.
-?--도움말다음에 관한 도움말 보기pg_test_timing명령줄 인수 및 종료.
좋은 결과는 대부분(90%)의 개별 타이밍 호출에 1마이크로초 미만이 소요되는 것으로 나타납니다. 루프당 평균 오버헤드는 100나노초 미만으로 훨씬 낮아집니다. TSC 클록 소스를 사용하는 Intel i7-860 스포츠 토토 사이트의 이 예는 뛰어난 성능을 보여줍니다.
3초 동안 타이밍 오버헤드를 테스트합니다.
오버헤드를 포함한 루프당 시간: 35.96ns
타이밍 기간의 히스토그램:
< 총 개수의 미국 %
1 96.40465 80435604
2 3.59518 2999652
4 0.00015 126
8 0.00002 13
16 0.00000 2
루프당 시간에는 히스토그램과 다른 단위가 사용된다는 점에 유의하세요. 루프는 몇 나노초(ns) 이내에 분해능을 가질 수 있는 반면, 개별 타이밍 호출은 1마이크로초(us)까지만 분해능을 가질 수 있습니다.
쿼리 실행기가 다음을 사용하여 명령문을 실행할 때분석 설명, 개별 작업의 시간이 정해지며 요약도 표시됩니다. 시스템의 오버헤드는 다음을 사용하여 행을 계산하여 확인할 수 있습니다.psql프로그램:
CREATE TABLE t AS SELECT * FROM generate_series(1,100000); \timing SELECT COUNT(*) FROM t; 설명 분석 선택 개수(*) FROM t;
측정된 i7-860 스포츠 토토 사이트은 9.8ms 내에 카운트 쿼리를 실행하는 반면분석 설명버전은 16.6ms가 소요되며 각 버전은 100,000개가 조금 넘는 행을 처리합니다. 6.8ms 차이는 행당 타이밍 오버헤드가 68ns임을 의미하며, 이는 pg_test_timing이 예상한 것의 약 두 배입니다. 상대적으로 적은 양의 오버헤드로 인해 전체 시간 계산 문이 거의 70% 더 오래 걸리게 됩니다. 보다 실질적인 쿼리에서는 타이밍 오버헤드가 덜 문제가 됩니다.
일부 최신 Linux 스포츠 토토 사이트에서는 타이밍 데이터를 수집하는 데 사용되는 클럭 소스를 언제든지 변경할 수 있습니다. 두 번째 예는 위의 빠른 결과에 사용된 동일한 스포츠 토토 사이트에서 더 느린 acpi_pm 시간 소스로 전환할 때 발생할 수 있는 속도 저하를 보여줍니다.
# 고양이 /sys/devices/system/clocksource/clocksource0/available_clocksource
tsc hpet acpi_pm
# echo acpi_pm /sys/devices/system/clocksource/clocksource0/current_clocksource
# pg_test_timing
오버헤드를 포함한 루프당 시간: 722.92ns
타이밍 기간의 히스토그램:
< 총 개수의 미국 %
1 27.84870 1155682
2 72.05956 2990371
4 0.07810 3241
8 0.01357 563
16 0.00007 3
이 구성에서는 샘플분석 설명위에서는 115.9ms가 걸립니다. 이는 1061ns의 타이밍 오버헤드이며, 이 유틸리티에서 직접 측정한 것의 작은 배수입니다. 이렇게 많은 타이밍 오버헤드는 실제 쿼리 자체가 계산된 시간의 아주 작은 부분만을 차지하고 대신 대부분의 시간이 오버헤드로 소모된다는 것을 의미합니다. 이 구성에서는 모든분석 설명많은 시간 제한 작업과 관련된 총계는 타이밍 오버헤드로 인해 크게 부풀려질 수 있습니다.
FreeBSD는 또한 시간 소스를 즉시 변경할 수 있으며 부팅 중에 선택된 타이머에 대한 정보를 기록합니다.
# dmesg | grep "타임카운터" 타임카운터 "ACPI-fast" 주파수 3579545Hz 품질 900 타임카운터 "i8254" 주파수 1193182Hz 품질 0 타임카운터는 10,000밀리초마다 틱합니다. 타임카운터 "TSC" 주파수 2531787134Hz 품질 800 # sysctl kern.timecounter.hardware=TSC kern.timecounter.hardware: ACPI-빠른 - TSC
다른 시스템에서는 부팅 시 시간 소스 설정만 허용할 수 있습니다. 이전 Linux 시스템에서는 "시계" 커널 설정이 이러한 종류의 변경을 수행하는 유일한 방법입니다. 그리고 최신 버전에서도 클럭 소스에 대해 볼 수 있는 유일한 옵션은 "jiffies"입니다. Jiffies는 다음 예와 같이 충분히 빠른 타이밍 하드웨어가 뒷받침될 때 좋은 해상도를 가질 수 있는 오래된 Linux 소프트웨어 시계 구현입니다.
$ cat /sys/devices/system/clocksource/clocksource0/available_clocksource
지피
$dmesg | grep time.c
time.c: 3.579545MHz WALL PM GTOD PIT/TSC 타이머를 사용합니다.
time.c: 2400.153MHz 프로세서가 감지되었습니다.
$ pg_test_timing
3초 동안 타이밍 오버헤드를 테스트합니다.
루프 오버헤드를 포함한 타이밍 기간당: 97.75ns
타이밍 기간의 히스토그램:
< 총 개수의 미국 %
1 90.23734 27694571
2 9.75277 2993204
4 0.00981 3010
8 0.00007 22
16 0.00000 1
32 0.00000 1
정확한 타이밍 정보 수집은 일반적으로 다양한 정확도 수준의 하드웨어 시계를 사용하는 컴퓨터에서 수행됩니다. 일부 하드웨어의 경우 운영 체제는 시스템 시계 시간을 거의 직접 프로그램에 전달할 수 있습니다. 시스템 클럭은 단순히 타이밍 인터럽트, 알려진 시간 간격의 주기적인 틱을 제공하는 칩에서 파생될 수도 있습니다. 두 경우 모두 운영 체제 커널은 이러한 세부 정보를 숨기는 클록 소스를 제공합니다. 그러나 해당 클록 소스의 정확성과 결과를 얼마나 빨리 반환할 수 있는지는 기본 하드웨어에 따라 다릅니다.
시간을 부정확하게 유지하면 스포츠 토토 사이트이 불안정해질 수 있습니다. 클록 소스에 대한 변경 사항을 매우 주의 깊게 테스트하십시오. 때로는 최고의 정확성보다 신뢰성을 우선시하기 위해 운영 체제 기본값이 설정되기도 합니다. 그리고 가상 머신을 사용하는 경우 해당 머신과 호환되는 권장 시간 소스를 살펴보세요. 가상 하드웨어는 타이머를 에뮬레이션할 때 추가적인 어려움에 직면하며 공급업체에서 제안하는 운영 체제별 설정이 있는 경우가 많습니다.
타임 스탬프 카운터(TSC) 클럭 소스는 현재 세대 CPU에서 사용할 수 있는 가장 정확한 소스입니다. 이는 운영 체제에서 지원되고 TSC 시계가 신뢰할 수 있는 경우 시스템 시간을 추적하는 데 선호되는 방법입니다. TSC가 정확한 타이밍 소스를 제공하지 못해 신뢰할 수 없게 되는 경우는 여러 가지가 있습니다. 구형 시스템에는 CPU 온도에 따라 달라지는 TSC 클럭이 있어 타이밍에 사용할 수 없습니다. 일부 구형 멀티코어 CPU에서 TSC를 사용하려고 하면 여러 코어 간에 일치하지 않는 시간이 보고될 수 있습니다. 이로 인해 시간이 거꾸로 흘러갈 수 있는데, 이 문제는 이 프로그램에서 확인하는 문제입니다. 그리고 최신 시스템조차도 매우 공격적인 절전 구성으로 정확한 TSC 타이밍을 제공하지 못할 수 있습니다.
최신 운영 체제에서는 알려진 TSC 문제를 확인하고 문제가 발견되면 더 느리고 안정적인 클럭 소스로 전환할 수 있습니다. 시스템이 TSC 시간을 지원하지만 기본적으로 TSC 시간을 지원하지 않는 경우에는 합당한 이유로 비활성화되었을 수 있습니다. 그리고 일부 운영 체제에서는 가능한 모든 문제를 올바르게 감지하지 못할 수도 있고, 부정확하다고 알려진 상황에서도 TSC 사용을 허용할 수도 있습니다.
고정밀 이벤트 타이머(HPET)는 사용 가능하지만 TSC가 정확하지 않은 스포츠 토토 사이트에서 선호되는 타이머입니다. 타이머 칩 자체는 최대 100나노초의 분해능을 허용하도록 프로그래밍할 수 있지만 스포츠 토토 사이트 시계에서는 그 정도의 정확성을 볼 수 없을 수도 있습니다.
고급 구성 및 전원 인터페이스(ACPI)는 Linux가 acpi_pm이라고 부르는 전원 관리(PM) 타이머를 제공합니다. acpi_pm에서 파생된 시계는 기껏해야 300나노초 분해능을 제공합니다.
이전 PC 하드웨어에 사용되는 타이머에는 8254 PIT(프로그래밍 가능 간격 타이머), RTC(실시간 시계), APIC(고급 프로그래밍 가능 인터럽트 컨트롤러) 타이머 및 사이클론 타이머가 포함됩니다. 이 타이머는 밀리초 단위의 분해능을 목표로 합니다.
문서에 올바르지 않은 내용이 있으면 일치하지 않습니다. 특정 기능에 대한 경험이 있거나 추가 설명이 필요한 경우 이용해주세요이 양식문서 문제를 보고합니다.