เชธเชฟเชธเซเชŸเชฎเชฎเชพเช‚ เชชเชธเช‚เชฆ เช•เชฐเซ‡เชฒ เชธเชฎเชฏ เชธเซเชคเซเชฐเซ‹เชคเชจเซ€ เช•เชพเชฎเช—เซ€เชฐเซ€เชจเซ€ เช…เชธเชฐเชจเซเช‚ เชตเชฟเชถเซเชฒเซ‡เชทเชฃ

เชฌเซเชฐเซ‡เชจเซเชกเชจ เช—เซเชฐเซ‡เช—, DTraceเชจเชพ เชตเชฟเช•เชพเชธเช•เชฐเซเชคเชพเช“เชฎเชพเช‚เชจเชพ เชเช•, เชœเซ‡เช“ เชนเชพเชฒเชฎเชพเช‚ Linux เช•เชฐเซเชจเชฒเชฎเชพเช‚ BPF-เช†เชงเชพเชฐเชฟเชค เชชเซเชฐเชฆเชฐเซเชถเชจ เชตเชฟเชถเซเชฒเซ‡เชทเชฃ เชธเชพเชงเชจเซ‹ เชตเชฟเช•เชธเชพเชตเซ€ เชฐเชนเซเชฏเชพ เช›เซ‡, Cassandra DBMS เชจเซ‡ CentOS เชฅเซ€ Ubuntu เชฎเชพเช‚ เชธเซเชฅเชพเชจเชพเช‚เชคเชฐเชฟเชค เช•เชฐเชคเซ€ เชตเช–เชคเซ‡ Netflix เชจเซ‡ เชœเซ‡ เช•เชพเชฎเช—เซ€เชฐเซ€ เชธเชฎเชธเซเชฏเชพเช“เชจเซ‹ เชธเชพเชฎเชจเซ‹ เช•เชฐเชตเซ‹ เชชเชกเซเชฏเซ‹ เชคเซ‡เชจเซเช‚ เชตเชฟเชถเซเชฒเซ‡เชทเชฃ เช•เชฐเชตเชพเชฅเซ€ เชชเซเชฐเชพเชชเซเชค เชฅเชฏเซ‡เชฒเชพ เช…เชจเซเชญเชตเชจเซ‹ เชธเชพเชฐเชพเช‚เชถ เช†เชชเซเชฏเซ‹. Xen เชชเชฐ เช†เชงเชพเชฐเชฟเชค Amazon EC2 เช•เซเชฒเชพเช‰เชก. เชธเซเชฅเชณเชพเช‚เชคเชฐ เชชเช›เซ€, CPU เชฒเซ‹เชก 30% เชตเชงเซเชฏเซ‹ เช…เชจเซ‡ เชฒเซ‡เช–เชจ เช•เชพเชฎเช—เซ€เชฐเซ€ เชฆเชฐเชฎเชฟเชฏเชพเชจ เชตเชฟเชฒเช‚เชฌ เชฒเช—เชญเช— เชธเชฎเชพเชจ เชฐเช•เชฎเชฅเซ€ เชตเชงเซเชฏเซ‹. เชœเซ‡เชฎ เชœเซ‡เชฎ เชคเซ‡ เชคเชพเชฐเชฃ เช†เชชเซ‡ เช›เซ‡ เชคเซ‡เชฎ, เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเซ‹เชจเซเช‚ เชชเซเชฐเชฆเชฐเซเชถเชจ เชœเซ‡ เชธเชฎเชฏเชจเซ€ เชฎเชพเชนเชฟเชคเซ€เชจเซ€ เชธเช˜เชจ เชตเชฟเชจเช‚เชคเซ€ เช•เชฐเซ‡ เช›เซ‡ เชคเซ‡ เชธเชฟเชธเซเชŸเชฎเชฎเชพเช‚ เชชเชธเช‚เชฆ เช•เชฐเซ‡เชฒ เชšเซ‹เช•เซเช•เชธ เชธเชฎเชฏ เชธเซเชคเซเชฐเซ‹เชค เชชเชฐ เช†เชงเชพเชฐเชฟเชค เช›เซ‡.

เชถเชฐเซ‚เช†เชคเชฎเชพเช‚, เชชเซเชฐเชฆเชฐเซเชถเชจเชฎเชพเช‚ เช˜เชŸเชพเชกเซ‹ เชฅเชตเชพเชจเซเช‚ เช•เชพเชฐเชฃ เชธเซเชชเชทเซเชŸ เชจเชนเซ‹เชคเซเช‚ เช…เชจเซ‡ เชจเชฟเชฆเชพเชจเชจเซ€ เชถเชฐเซ‚เช†เชค เชŸเซ‹เชš เช…เชจเซ‡ เชเช•เซเชเซ‡เช•เซเชธเชจเซ‚เชช เช‰เชชเชฏเซ‹เช—เชฟเชคเชพเช“เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชธเชคเชค เชšเชพเชฒเชคเซ€ เช…เชฅเชตเชพ เชธเชฎเชฏเชพเช‚เชคเชฐเซ‡ เชถเชฐเซ‚ เช•เชฐเชพเชฏเซ‡เชฒ เชธเช‚เชธเชพเชงเชจ-เชธเช˜เชจ เชธเชฟเชธเซเชŸเชฎ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเช“เชจเซ€ เชธเช‚เชญเชตเชฟเชค เช…เชธเชฐ เชชเชฐ เชฆเซ‡เช–เชฐเซ‡เช– เชธเชพเชฅเซ‡ เชฅเชˆ เชนเชคเซ€. เชชเชฐเช‚เชคเซ เชฌเชงเซเช‚ เชœ เชธเซ‚เชšเชตเซ‡ เช›เซ‡ เช•เซ‡ เชœเชพเชตเชพเชฎเชพเช‚ เชฒเช–เซ‡เชฒเชพ เช•เซ‡เชธเชพเชจเซเชกเซเชฐเชพ เชกเซ€เชฌเซ€เชเชฎเชเชธเชฎเชพเช‚ เชธเช‚เชธเชพเชงเชจเชจเซ‹ เชตเชชเชฐเชพเชถ เช–เชพเชธ เช•เชฐเซ€เชจเซ‡ เชตเชงเซเชฏเซ‹ เช›เซ‡. CentOS เช…เชจเซ‡ Ubuntu เชชเชฐ เชธเชฎเชพเช‚เชคเชฐ เชšเชพเชฒเชคเซ€ เชฌเซ‡ Cassandra เชชเซเชฐเช•เซเชฐเชฟเชฏเชพเช“เชจเซ€ เชชเซเชฐเซ‹เชซเชพเช‡เชฒเชฟเช‚เช— เชฎเซ‡เชŸเซเชฐเชฟเช•เซเชธเชจเซ€ เชธเชฐเช–เชพเชฎเชฃเซ€ เช•เชฐเซ€เชจเซ‡, เชธเชฎเชพเชจ เชชเซเชฐเชถเซเชจเซ‹ เชชเชฐ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เช•เชฐเซ€เชจเซ‡, เชฆเชฐเซเชถเชพเชตเซ‡ เช›เซ‡ เช•เซ‡ เช•เซเชฒ เชธเชฎเชฏเชจเซ‹ เชฒเช—เชญเช— 32% os::javaTimeMillis() เช•เซ‰เชฒ เช•เชฐเชตเชพเชฎเชพเช‚ เช–เชฐเซเชšเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เชนเชคเซ‹, เชœเซ‡เชจเซ‹ เช‰เชชเชฏเซ‹เช— เชตเชฐเซเชคเชฎเชพเชจ เชธเชฎเชฏ เชตเชฟเชถเซ‡เชจเซ€ เชฎเชพเชนเชฟเชคเซ€ เชฎเซ‡เชณเชตเชตเชพ เชฎเชพเชŸเซ‡ เชฅเชพเชฏ เช›เซ‡. .

เช† เชชเช›เซ€, เชเช• เชชเซเชฐเชฏเซ‹เช— เชนเชพเชฅ เชงเชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เชœเซ‡เชฎเชพเช‚ เชเช• เชธเชฐเชณ เชœเชพเชตเชพ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจ เชฒเช–เชตเชพเชฎเชพเช‚ เช†เชตเซ€ เชนเชคเซ€ เชœเซ‡เชจเซ‡ System.currentTimeMillis() เชชเชฆเซเชงเชคเชฟ เช•เชนเซ‡เชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ เชเช• เชฒเซ‚เชชเชฎเชพเช‚ เชธเซ‹ เชฎเชฟเชฒเชฟเชฏเชจ เชตเช–เชค. เชเชชเซเชฒเซ€เช•เซ‡เชถเชจ เชšเชฒเชพเชตเชตเชพเชฅเซ€ เชฆเชฐเซเชถเชพเชตเซเชฏเซเช‚ เช•เซ‡ เชคเซ‡เชจเซ‡ CentOS เชชเชฐ เชชเซ‚เชฐเซเชฃ เชฅเชตเชพเชฎเชพเช‚ 13 เชธเซ‡เช•เชจเซเชก เชฒเชพเช—เซ€ เช…เชจเซ‡ เช‰เชฌเซเชจเซเชŸเซ เชชเชฐ เชฒเช—เชญเช— 68 เชธเซ‡เช•เชจเซเชก เชฒเชพเช—เซ€, เชเชŸเชฒเซ‡ เช•เซ‡. 5 เช—เชฃเซ€ เชงเซ€เชฎเซ€. เชเช• เชธเชฎเชพเชจ เชชเซเชฐเซ‹เช—เซเชฐเชพเชฎ C เชฎเชพเช‚ เชฒเช–เชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซ‹ เชนเชคเซ‹ เชœเซ‡ gettimeofday() เชซเช‚เช•เซเชถเชจเชจเซ‡ เชธเซ‹ เชฎเชฟเชฒเชฟเชฏเชจ เชตเช–เชค เช•เชนเซ‡ เช›เซ‡, เชชเชฐเช‚เชคเซ เชœเซเชฏเชพเชฐเซ‡ เชเช•เซเชเชฟเช•เซเชฏเซเชŸ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เชคเซเชฏเชพเชฐเซ‡ เชธเชฎเชพเชจ เชชเชฐเชฟเชฃเชพเชฎเซ‹ เชชเซเชฐเชพเชชเซเชค เชฅเชฏเชพ.

เช•เชพเชฐเชฃ เช•เซ‡ เชคเซ‡ เชธเซเชชเชทเซเชŸ เชฅเชˆ เช—เชฏเซเช‚ เช›เซ‡ เช•เซ‡ เชธเชฎเชธเซเชฏเชพเชจเซ‹ เชธเซเชคเซเชฐเซ‹เชค เชตเชฐเซเชคเชฎเชพเชจ เชธเชฎเชฏเชจเซ‡ เชชเชฐเชค เช•เชฐเชตเชพเชจเซเช‚ เช•เชพเชฐเซเชฏ เช›เซ‡, เชธเชฟเชธเซเชŸเชฎเชฎเชพเช‚ เชšเซ‹เช•เซเช•เชธ เชธเชฎเชฏเชจเชพ เชตเชฟเชตเชฟเชง เชธเซเชคเซเชฐเซ‹เชคเซ‹ เชชเชธเช‚เชฆ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡ เชธเซ‚เชšเช•เซ‹เชฎเชพเช‚ เชซเซ‡เชฐเชซเชพเชฐเซ‹ เชคเชฐเชซ เชงเซเชฏเชพเชจ เชฆเซ‹เชฐเซเชฏเซเช‚. โ€œ/sys/devices/system/clocksource/clocksource0/current_clocksourceโ€ เชจเชพ เชธเชฎเชพเชตเชฟเชทเซเชŸเซ‹ เชฆเซเชตเชพเชฐเชพ เช…เชญเชฟเชชเซเชฐเชพเชฏ เช†เชชเชคเชพ, เชœเซเชฏเชพเชฐเซ‡ เช—เซ‡เชธเซเชŸ เชธเชฟเชธเซเชŸเชฎเชฎเชพเช‚ Linux เชšเชฒเชพเชตเซ€ เชฐเชนเซเชฏเชพ เชนเซ‹เชฏ เชคเซเชฏเชพเชฐเซ‡ โ€œxenโ€ เชŸเชพเชˆเชฎเชฐ เชฎเซ‚เชณเชญเซ‚เชค เชฐเซ€เชคเซ‡ เช‰เชชเชฏเซ‹เช—เชฎเชพเช‚ เชฒเซ‡เชตเชพเชคเซเช‚ เชนเชคเซเช‚. เชธเชฎเชฏ เชธเซเชคเซเชฐเซ‹เชคเชจเซ‡ "tsc" เชฎเชพเช‚ เชฌเชฆเชฒเซเชฏเชพ เชชเช›เซ€, เช‰เชฌเซเชจเซเชŸเซเชฎเชพเช‚ เชชเชฐเซ€เช•เซเชทเชฃ เชเชชเซเชฒเชฟเช•เซ‡เชถเชจเชจเซ‹ เช…เชฎเชฒ เชธเชฎเชฏ 68 เชฅเซ€ เช˜เชŸเซ€เชจเซ‡ 3.3 เชธเซ‡เช•เชจเซเชก เชฅเชฏเซ‹, เชเชŸเชฒเซ‡ เช•เซ‡. เชคเซ‡ 20 เช—เชฃเซเช‚ เชเชกเชชเซ€ เชฌเชจเซเชฏเซเช‚. เชตเชงเซเชฎเชพเช‚, kvm-เช•เซเชฒเซ‹เช• เชŸเชพเชˆเชฎ เชธเซ‹เชฐเซเชธเชจเซเช‚ เชชเซเชฐเชฆเชฐเซเชถเชจ เชชเชฐเซ€เช•เซเชทเชฃ เชนเชพเชฅ เชงเชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเซเช‚ เชนเชคเซเช‚, เชœเซ‡ TSC เชจเซ€ เชธเชฐเช–เชพเชฎเชฃเซ€เชฎเชพเช‚ 20% เชตเชฟเชฒเช‚เชฌเชฎเชพเช‚ เชตเชงเชพเชฐเซ‹ เชฆเชฐเซเชถเชพเชตเซ‡ เช›เซ‡. $ cat /sys/devices/system/clocksource/clocksource0/available_clocksource xen tsc hpet acpi_pm $ cat /sys/devices/system/clocksource/clocksource0/current_clocksource xen $ time java TimeBench เชตเชพเชธเซเชคเชตเชฟเช• 1m8.300s เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ 0m38.337. echo tsc > /sys/devices/system/clocksource/clocksource0/current_clocksource $time java TimeBench เชตเชพเชธเซเชคเชตเชฟเช• 29.875m0s เชตเชชเชฐเชพเชถเช•เชฐเซเชคเชพ 0m3.370s sys 0m3.353s

TSC เชธเซเชคเซเชฐเซ‹เชค เชชเชธเช‚เชฆ เช•เชฐเชคเซ€ เชตเช–เชคเซ‡ เชธเชฎเชฏ เชฎเซ‡เชณเชตเชตเชพ เชฎเชพเชŸเซ‡, RDTSC เชชเซเชฐเซ‹เชธเซ‡เชธเชฐ เชธเซ‚เชšเชจเชพเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡, เชœเซ‡เชจเชพ เช…เชฎเชฒเซ€เช•เชฐเชฃ เชฎเชพเชŸเซ‡ เชธเชฟเชธเซเชŸเชฎ เช•เซ‰เชฒเชจเซ€ เชœเชฐเซ‚เชฐ เชจเชฅเซ€ (เชธเซ‚เชšเชจเชพเชจเซ‡ เชเชฒเชฟเชตเซ‡เชŸเซ‡เชก เชตเชฟเชถเซ‡เชทเชพเชงเชฟเช•เชพเชฐเซ‹เชจเซ€ เชœเชฐเซ‚เชฐ เชจเชฅเซ€ เช…เชจเซ‡ CPU เชฎเชพเช‚ เชฌเชจเซ‡เชฒเชพ เชธเชฎเชฏ เช•เชพเช‰เชจเซเชŸเชฐเชฎเชพเช‚เชฅเซ€ เชฎเซ‚เชฒเซเชฏ เช‰เชคเซเชชเชจเซเชจ เช•เชฐเซ‡ เช›เซ‡). เชกเชฟเชซเซ‰เชฒเซเชŸ เชฐเซ‚เชชเซ‡, TSC เชธเช•เซเชฐเชฟเชฏ เชฅเชคเซเช‚ เชจเชฅเซ€ เช•เชพเชฐเชฃ เช•เซ‡ เชœเซ‚เชจเชพ เชฆเชฟเชตเชธเซ‹เชฎเชพเช‚ เช† เชธเซเชคเซเชฐเซ‹เชค เช•เซเชฐเชฎเชฟเช• เชธเชฎเชฏเชจเชพ เชชเซเชฐเชตเชพเชนเชจเซ‡ เชฌเชพเช•เชพเชค เชฐเชพเช–เชคเซ‹ เชจ เชนเชคเซ‹, เชœเซ‡ เช…เชจเซเชฏ เชชเซเชฐเซ‹เชธเซ‡เชธเชฐเซ‹เชฎเชพเช‚ เชตเชงเซ เชธเชšเซ‹เชŸ เชตเชพเช‚เชšเชจ เชชเซเชฐเชพเชชเซเชค เช•เชฐเชตเชพ เชฎเชพเชŸเซ‡ เชธเซ‹เชซเซเชŸเชตเซ‡เชฐ เชฆเซเชตเชพเชฐเชพ เชเชกเชœเชธเซเชŸ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡. เชชเซเชฐเซ‹เชธเซ‡เชธเชฐ เชกเซ‡เชตเชฒเชชเชฎเซ‡เชจเซเชŸเชฎเชพเช‚ เชจเชฟเชทเซเชฃเชพเชค เชเชจเซเชœเชฟเชจเชฟเชฏเชฐเชจเชพ เชœเชฃเชพเชตเซเชฏเชพ เช…เชจเซเชธเชพเชฐ, TSC เชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชคเซ€ เชตเช–เชคเซ‡ เชธเชฎเชฏ เชฌเชฆเชฒเชพเชตเชพเชจเซ€ เช†เชถเช‚เช•เชพ เชฒเชพเช‚เชฌเชพ เชธเชฎเชฏเชฅเซ€ เช…เชธเชคเซเชฏ เช›เซ‡ เช…เชจเซ‡ เช†เชงเซเชจเชฟเช• เชชเซเชฐเซ‹เชธเซ‡เชธเชฐเซ‹เชฎเชพเช‚ เช† เชธเซเชคเซเชฐเซ‹เชค เชตเชฐเซเชทเซ‹ เชธเซเชงเซ€ เชธเซเชฅเชฟเชฐ เชฐเซ€เชกเชฟเช‚เช— เช‰เชคเซเชชเชจเซเชจ เช•เชฐเซ€ เชถเช•เซ‡ เช›เซ‡.

เชจเซ‡เชŸเชซเซเชฒเชฟเช•เซเชธ เชชเชฐ เชชเซเชฐเซ‹เชกเช•เซเชถเชจ เชธเชฐเซเชตเชฐเซเชธเชจเซ‡ TSC เชธเซเชคเซเชฐเซ‹เชค เชชเชฐ เชธเซเชตเชฟเชš เช•เชฐเชตเชพเชจเซ‡ เชชเชฐเชฟเชฃเชพเชฎเซ‡ เชฒเซ‡เช–เชจ เชตเชฟเชฒเช‚เชฌเชฎเชพเช‚ 43% เช˜เชŸเชพเชกเซ‹ เชฅเชฏเซ‹ เช…เชจเซ‡ เช‰เชฌเซเชจเซเชŸเซเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเซ€เชจเซ‡ เชชเชฐเชฟเชฃเชพเชฎเซ‹ เชชเซเชฐเชพเชชเซเชค เช•เชฐเซเชฏเชพ เชœเซ‡ "xen" เชธเชฎเชฏ เชธเซเชคเซเชฐเซ‹เชค เชธเชพเชฅเซ‡ CentOS เชšเชฒเชพเชตเชคเชพ เชฐเซ‚เชชเชฐเซ‡เช–เชพเช‚เช•เชจเซ‹ เช•เชฐเชคเชพเช‚ 4 เช—เชฃเชพ เชเชกเชชเซ€ เชนเชคเชพ. เช…เชญเซเชฏเชพเชธเชจเชพ เชชเชฐเชฟเชฃเชพเชฎเซ‹ เชเชฎเซ‡เชเซ‹เชจ เชชเชฐ เชธเซเชฅเชพเชจเชพเช‚เชคเชฐเชฟเชค เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซเชฏเชพ เชนเชคเชพ, เชœเซ‡เชฃเซ‡ Xen เชนเชพเช‡เชชเชฐเชตเชพเช‡เชเชฐ เชชเชฐ เช†เชงเชพเชฐเชฟเชค AWS EC2 เชตเชพเชคเชพเชตเชฐเชฃเชฎเชพเช‚ เชกเชฟเชซเซ‹เชฒเซเชŸ TSC เชธเชฎเชฏ เชธเซเชคเซเชฐเซ‹เชคเชจเซ‹ เช‰เชชเชฏเซ‹เช— เช•เชฐเชตเชพเชจเซ€ เชธเชคเซเชคเชพเชตเชพเชฐ เชฐเซ€เชคเซ‡ เชญเชฒเชพเชฎเชฃ เช•เชฐเซ€ เชนเชคเซ€ (เชจเชพเช‡เชŸเซเชฐเซ‹ เชนเชพเช‡เชชเชฐเชตเชพเช‡เชเชฐ เชชเชฐ เช†เชงเชพเชฐเชฟเชค เชตเชพเชคเชพเชตเชฐเชฃเชฎเชพเช‚ kvm-เช˜เชกเชฟเชฏเชพเชณเชจเซ€ เชญเชฒเชพเชฎเชฃ เชฐเชนเซ‡ เช›เซ‡).

เชธเซ‹เชฐเซเชธ: opennet.ru

เชเช• เชŸเชฟเชชเซเชชเชฃเซ€ เช‰เชฎเซ‡เชฐเซ‹