Falanqaynta saamaynta waxqabad ee isha wakhtiga ee lagu doortay nidaamka

Brendan Gregg, mid ka mid ah horumarinta DTrace, kaas oo hadda horumarinaya qalabka falanqaynta waxqabadka ku salaysan ee BPF ee kernel Linux, wuxuu soo koobay waayo-aragnimadii laga helay falanqaynta dhibaatooyinka waxqabadka ee Netflix la kulmay markii uu ka soo haajiray Cassandra DBMS ee CentOS ilaa Ubuntu. daruuraha Amazon EC2 ee ku saleysan Xen. hijrada ka dib, culeyska CPU wuxuu kordhay 30% iyo dib u dhacyada inta lagu jiro howlaha qorista ayaa kordhay qiyaastii isku mid ah. Sida ay soo baxday, waxqabadka codsiyada ee si xoog leh u codsada macluumaadka wakhtiga waxay aad ugu xiran tahay isha wakhtiga saxda ah ee lagu doortay nidaamka.

Markii hore, sababta hoos u dhaca wax qabadku ma ahayn mid cad oo cilad-sheegashadu waxay ku bilaabatay la socodka saamaynta suurtogalka ah ee si joogto ah u ordaya ama habraacyada nidaamka degdegga ah ee xilliyada la bilaabay iyadoo la adeegsanayo qalabka sare iyo kuwa execsnoop. Laakiin wax walbaa waxay muujiyeen in isticmaalka kheyraadka uu si gaar ah ugu kordhay Cassandra DBMS, oo ku qoran Java. Isbarbardhigga cabbirka cabbirka ee laba geeddi-socod Cassandra oo isbarbar socda CentOS iyo Ubuntu, ka baaraandegidda isla weydiimaha, waxay muujisay in qiyaastii 32% wadarta wakhtiga lagu qaatay wacitaanka os :: javaTimeMillis (), kaas oo loo isticmaalo in lagu helo macluumaadka ku saabsan wakhtiga hadda la joogo. .

Intaa ka dib, tijaabo ayaa la sameeyay kaas oo lagu qoray codsi fudud oo Java ah oo loo yaqaan habka System.currentTimeMillis() boqol milyan oo jeer oo wareeg ah. Ku socodsiinta arjiga waxay muujisay inay qaadatay 13 ilbiriqsi in lagu dhammeeyo CentOS, iyo qiyaastii 68 ilbiriqsi Ubuntu, i.e. 5 jeer gaabis ah. Barnaamij la mid ah ayaa lagu qoray C kaas oo loo yaqaan gettimeofday() shaqeeya boqol milyan oo jeer, laakiin markii la fuliyay, natiijooyin la mid ah ayaa la helay.

Tan iyo markii ay caddaatay in isha dhibaatadu ay tahay shaqada soo celinta wakhtiga hadda, dareenka ayaa u jeestay isbeddelka tilmaamayaasha marka la dooranayo ilo kala duwan oo wakhtiga saxda ah ee nidaamka. Marka la eego waxa ku jira "/ sys/qalabka/system/clocksource/clocksource0/current_clocksource", saacada "xen" waxaa loo adeegsaday si caadi ah marka uu Linux ku shaqeeyo nidaamka martida. Ka dib markii loo beddelay isha waqtiga "tsc", wakhtiga fulinta codsiga tijaabada ee Ubuntu wuxuu ka yaraaday 68 ilaa 3.3 ilbiriqsi, i.e. waxay noqotay 20 jeer ka dheereeya. Intaa waxaa dheer, tijaabada waxqabadka ee isha waqtiga kvm-saac ayaa la sameeyay, taasoo muujisay koror dib u dhac ah 20% marka loo eego TSC. $ cat / sys / qalabka / nidaamka / clocksource / clocksource0/available_clocksource xen tsc hpet acpi_pm $ cat /sys/devices/system/clocksource/clocksource0/current_clocksource xen $ time java TimeBench dhabta ah 1m8.300s isticmaale 0m38.337s 0m29.875s sys. echo tsc > / sys/qalabka/nidaamka/saacadaha/saacada saacada0/current_clocksource $ time java TimeBench dhabta ah isticmaale 0m3.370s 0m3.353s sys 0m0.026s

Si loo helo waqtiga marka la dooranayo isha TSC, tilmaanta processor-ka RDTSC ayaa la isticmaalaa, fulintiisu uma baahna wacitaanka nidaamka (waxbarashadu uma baahna mudnaanta sare waxayna soo saartaa qiime ka soo baxa xisaabiyaha waqtiga lagu dhisay CPU). Sida caadiga ah, TSC lama hawlgelin sababtoo ah waagii hore ishani kama saarin tartiib tartiib tartiib tartiib tartiib tartiib tartiib tartiib tartiib tartiib tartiib tartiib tartiib tartiib tartiib tartiib tartiib tartiib tartiib tartiib tartiib tartiib tartiib tartiib tartiib tartiib tartiib tartiib tartiib tartiib tartiib tartiib tartiib tartiib tartiib tartiib tartiib tartiib tartiib tartiib tartiib tartiib tartiib tartiib tartiib tartiib tartiib tartiib tartiib tartiib tartiib tartiib tartiib tartiib tartiib tartiib tartiib tartiib tartiib tartiib tartiib tartiib tartiib tartiib tartiib tartiib tartiib tartiib tartiib tartiib tartiib tartiib tartiib tartiib tartiib tartiib tartiib tartiib tartiib tartiib tartiib tartiib tartiib tartiib tartiib tartiib tartiib tartiib ah uga soo jiidatay loogama reebayo socodka waqtiga tartiibta ah, kaas oo soo-saareyaasha kale lagu hagaajiyo softiweerka si loo gaaro akhrin sax ah. Sida laga soo xigtay injineer ku takhasusay horumarinta processor-ka, cabsida ku saabsan isbeddelada waqtiyada marka la isticmaalayo TSC ayaa ah mid aan run ahayn muddo dheer oo processor-rada casriga ah ishani waxay soo saari kartaa akhrin xasilloon sannado.

U beddelashada server-yada wax soo saarka ee Netflix ilaa isha TSC waxay keentay 43% hoos u dhaca qorista iyo natiijooyinka la gaaray iyadoo la adeegsanayo Ubuntu kuwaas oo 4 jeer ka dhaqso badan qaabaynta ku socota CentOS oo leh il waqti "xen". Natiijooyinka daraasadda ayaa loo wareejiyay Amazon, taas oo si rasmi ah ugu talisay in la isticmaalo ilaha wakhtiga TSC ee AWS EC2 ee ku salaysan Xen hypervisor (kvm-saac ayaa lagu taliyay deegaan ku salaysan Nitro hypervisor).

Source: opennet.ru

Add a comment