Tha Yandex air Perforator fhosgladh, inneal airson cunntas a thoirt air tagraidhean

Dh’ainmich Yandex gun deach am pasgan innealan Perforator aca fhoillseachadh le stòr fosgailte, a chaidh a dhealbhadh airson cruinneachadh leantainneach de mheatrachdan mionaideach le fiosrachadh mu choileanadh thagraidhean agus air a dhealbhadh airson a chleachdadh ann an cruinneachaidhean mòra agus ionadan dàta. Leigidh am pasgan innealan le mion-sgrùdadh fìor-ùine air coileanadh thagraidhean, riarachadh ghoireasan, agus Linux-frithealaichean agus comharraich na h-aplacaidean as dian air goireasan. Tha an còd sgrìobhte ann an C++ agus air a sgaoileadh fo chead MIT (tha prògraman eBPF fo chead GPLv2).

Tha Yandex Perforator air a chleachdadh ann an cruinneachadh de chòrr is 10 nod agus thathar ga chleachdadh gus cùisean coileanaidh a chomharrachadh agus a chàradh thar diofar sheirbheisean, nam measg Yandex Search agus Yandex Advertising. Thathas air creideas a thoirt do Perforator airson bacadh a chur air cnapan-starra agus coimpiutaireachd dian-ghoireasan a bharrachadh, a’ leigeil le Yandex na cosgaisean aige a lughdachadh 20%. frithealaichean.

Comasan tagraidh:

  • A’ cleachdadh fo-shiostam eithne eBPF agus an perf_events API gus fiosrachadh a chruinneachadh mu obrachadh phĂ irtean eithne Linux agus aplacaidean Ă ite-cleachdaidh. Tha cosgais co-cheangailte ri cruinneachadh mheatrach ag adhbhrachadh peanas coileanaidh de mu 0.1%. Ri fhaighinn air siostaman ailtireachd x86-64 a-mhĂ in.
  • Stòradh pròifil coileanaidh scalable. Tha an ClickHouse DBMS air a chleachdadh gus meata-dĂ ta pròifil a stòradh, tha PostgreSQL air a chleachdadh gus meata-dĂ ta dĂ -chĂ nanach a stòradh, agus tha stòradh sam bith a tha co-chosmhail ri Amazon S3 air a chleachdadh gus pròifilean amh agus dĂ ta binary a stòradh.
  • Comas an stac gairm a leigeil a-mach gun a bhith agad ri samhlaidhean deasbaid a chomasachadh agus an roghainn -fno-omit-frame-pointer nuair a bhios tu a’ togail phrògraman (a ’sĂ bhaladh puing don fhrèam stac anns a bheil na seòlaidhean tilleadh agus caochladairean gnĂŹomh).
  • CĂ nan ceist agus eadar-aghaidh lĂŹn ri fhaighinn airson luchd CPU a sgrĂšdadh nuair a bhios iad a’ ruith thagraidhean.
    Tha Yandex air Perforator fhosgladh, inneal airson cunntas a thoirt air tagraidhean
  • Thathas a’ cleachdadh fradharc stoidhle FlameGraph gus botail a mheasadh gu fradharcach.
    Tha Yandex air Perforator fhosgladh, inneal airson cunntas a thoirt air tagraidhean
  • Comas air pròiseactan a phròifil a’ cleachdadh diofar chĂ nanan agus amannan ruith gun a bhith ag atharrachadh pròiseasan togail no ag ath-chruinneachadh phrògraman. Tha taic airson na cĂ nanan prògramaidh C ++, Go, Rust, Java, Python agus JavaScript/Node.js air an ainmeachadh.
  • An comas pròifilean sPGO a ghineadh airson co-chruinneachadh thagraidhean Ă s deidh sin le optimizations stèidhichte air toraidhean pròifil còd (PGO - optimization treòraichte le pròifil), a leigeas le còd nas fheĂ rr a ghineadh stèidhichte air mion-sgrĂšdadh air feartan coileanadh prògram.
  • Taic airson a chleachdadh mar Ă ite an inneal-taic perf ann an Linux.
  • Cuir fèin-ghluasad air cleachdadh ann an cruinneachaidhean stèidhichte air Kubernetes. Bidh gach nĂłd a’ ruith Ă idseant sònraichte a bhios a’ tional, a’ cruinneachadh, a’ teannachadh, agus a’ sgaoileadh dĂ ta coileanaidh. Tha dĂ ta air a ghluasad le riochdairean ann an cruth a tha co-chosmhail ri pprof tro gRPC gu meanbh-sheirbheisean le uallach airson a bhith a’ tional, a’ stòradh, a’ mion-sgrĂšdadh, a’ samhlachadh (sheòlaidhean a thionndadh gu ainmean gnĂŹomh agus dreuchdan ann an còd) agus a’ giullachd phròifilean agus so-ghnĂŹomhan (riatanach airson stac a leigeil ma sgaoil).
    Tha Yandex air Perforator fhosgladh, inneal airson cunntas a thoirt air tagraidhean
    Tha Yandex air Perforator fhosgladh, inneal airson cunntas a thoirt air tagraidhean

Source: fosgailtenet.ru

Ceannaich aoigheachd earbsach airson làraich le dìon DDoS, frithealaichean VPS VDS 🔥 Ceannaich aoigheachd làrach-lìn earbsach le dìon DDoS, frithealaichean VPS VDS | ProHoster