Vertailuarvot Linux-palvelimille: valikoima avoimia työkaluja

Jatkamme keskustelua työkaluista, joilla voidaan arvioida suorittimen suorituskykyä Linux-koneissa. Tänään materiaalissa: temci, uarch-penkki, likwid, perf-tools ja llvm-mca.

Lisää vertailuarvoja:

Vertailuarvot Linux-palvelimille: valikoima avoimia työkaluja
Фото - Lukas Blazek - roiskeet pois

temci

Tämä on työkalu kahden ohjelman suoritusajan arvioimiseen. Pohjimmiltaan sen avulla voit verrata kahden sovelluksen suoritusaikaa. Apuohjelman tekijä oli saksalainen opiskelija Johannes Bechberger, joka kehitti sen osana opinnäytetyötään vuonna 2016. Tämän päivän työkalu jakelija lisensoitu GNU General Public License -lisenssillä.

Johannes halusi luoda työkalun, jonka avulla hän voisi mitata laskentajärjestelmän suorituskykyä valvotussa ympäristössä. Siksi yksi temcin pääominaisuuksista on kyky määrittää testiympäristö. Esimerkiksi, voidaan muodostaa: muuta suorittimen taajuudenhallinnan asetuksia, poista käytöstä hyperkierrätys ja L1- ja L2-välimuistit, sammuta turbotila Intel-suorittimissa jne. Vertailussa temci käyttää työkaluja aika, perf_stat и harrastus.

Tältä apuohjelma näyttää ensimmäisessä tapauksessa:

# compare the run times of two programs, running them each 20 times
> temci short exec "sleep 0.1" "sleep 0.2" --runs 20
Benchmark 20 times                [####################################]  100%
Report for single runs
sleep 0.1            (   20 single benchmarks)
     avg_mem_usage mean =           0.000, deviation =   0.0
     avg_res_set   mean =           0.000, deviation =   0.0
     etime         mean =      100.00000m, deviation = 0.00000%
     max_res_set   mean =         2.1800k, deviation = 3.86455%
     stime         mean =           0.000, deviation =   0.0
     utime         mean =           0.000, deviation =   0.0

sleep 0.2            (   20 single benchmarks)
     avg_mem_usage mean =           0.000, deviation =   0.0
     avg_res_set   mean =           0.000, deviation =   0.0
     etime         mean =      200.00000m, deviation = 0.00000%
     max_res_set   mean =         2.1968k, deviation = 3.82530%
     stime         mean =           0.000, deviation =   0.0
     utime         mean =           0.000, deviation =   0.0

Vertailutulosten perusteella järjestelmä luo kätevä raportti kaavioilla, taulukoilla ja kaavioilla, mikä erottaa temcin vastaavista ratkaisuista.

Temcin puutteista erottuu sen "nuoruus". Tämän takia hän kaikkea ei tueta laitteisto- ja ohjelmistokokoonpanot. Sitä on esimerkiksi vaikea käyttää macOS:ssä, ja jotkin ominaisuudet eivät ole käytettävissä ARM-pohjaisessa järjestelmässä. Tulevaisuudessa tilanne voi muuttua, koska kirjoittaja kehittää projektia aktiivisesti ja tähtien määrä GitHubissa kasvaa vähitellen - ei niin kauan sitten temci jopa keskusteltu kommenteissa Hacker Newsissa.

uarch-penkki

Insinööri Travis Downsin kehittämä apuohjelma matalan tason suorittimen toimintojen arvioimiseksiTravis Downs). Viime aikoina hän on kirjoittanut blogia Suorituskyvyllä on merkitystä GitHub-sivuilla, jotka puhuvat benchmarking-työkaluista ja muista asiaan liittyvistä asioista. Yleensä uarch-penkki on vasta alkamassa saada suosiota, mutta se on jo melko yleinen mainittujen Hacker Newsin asukkaat temaattisissa säikeissä benchmarking-työkaluna.

Uarch-penkin avulla voit arvioida muistin suorituskykyä, rinnakkaislatausnopeutta ja puhdistustyötä YMM-rekisterit. Löydät miltä ohjelman tuottamat benchmarking-tulokset näyttävät virallisessa arkistossa sivun lopussa.

On syytä huomata, että uarch-penkki, kuten temci, katkaisee yhteyden Intel Turbo Boost -toiminto (se lisää prosessorin kellotaajuutta automaattisesti kuormitettuna), jotta testitulokset ovat yhdenmukaisia.

Projekti on toistaiseksi kehitysvaiheessa, joten uarch-benchillä ei ole yksityiskohtaista dokumentaatiota ja sen toiminnassa voi olla bugeja - esim. vaikeudet tunnetaan käynnistyksen yhteydessä Ryzenissä. Lisäksi tuetaan vain x86-arkkitehtuurien vertailuarvoja. Kirjoittaja lupaa lisätä toimintoja tulevaisuudessa ja kutsuu sinut mukaan kehitykseen.

nestettä

Tämä on joukko työkaluja Intel-, AMD- ja ARMv8-prosessoreilla varustettujen Linux-koneiden suorituskyvyn arvioimiseen. Se luotiin Saksan liittovaltion opetus- ja tutkimusministeriön alaisuudessa vuonna 2017 ja julkaistiin avoimeen lähdekoodiin.

Likwid-työkaluista voidaan nostaa esiin likwid-powermeter, joka näyttää RAPL-rekistereistä tietoa järjestelmän kuluttamasta tehosta sekä likwid-setFrequencies, jonka avulla voit ohjata prosessorin taajuutta. Näet täydellisen luettelon löytää arkistosta.

Työkalua käyttävät HPC-tutkimukseen osallistuvat insinöörit. Esimerkiksi likwidillä työt ryhmä asiantuntijoita Erlangen-Nürnbergin yliopiston (RRZE) alueellisesta laskentakeskuksesta Saksasta. Hän osallistuu myös aktiivisesti tämän työkalusarjan kehittämiseen.

Vertailuarvot Linux-palvelimille: valikoima avoimia työkaluja
Фото - Clem Onojeghuo - roiskeet pois

perf-työkalut

Tämä työkalu Linux-palvelimien suorituskyvyn analysointiin toimitettu Brendan Gregg. Hän on yksi kehittäjistä DTrace — dynaaminen jäljityskehys sovellusten vianetsintään reaaliajassa.

perf-tools perustuu perf_events- ja ftrace-ytimen alijärjestelmiin. Niiden apuohjelmien avulla voit analysoida I/O-latenssia (iosnoop), seurata järjestelmäkutsuargumentteja (unccount, funcslower, funcgraph ja functrace) ja kerätä tilastoja "osumista" tiedostovälimuistiin (cachestat). Jälkimmäisessä tapauksessa komento näyttää tältä:

# ./cachestat -t
Counting cache functions... Output every 1 seconds.
TIME HITS MISSES DIRTIES RATIO BUFFERS_MB CACHE_MB
08:28:57 415 0 0 100.0% 1 191
08:28:58 411 0 0 100.0% 1 191
08:28:59 362 97 0 78.9% 0 8
08:29:00 411 0 0 100.0% 0 9

Soittimen ympärille on muodostunut melko suuri yhteisö (lähes 6 tuhatta tähteä GitHubissa). Ja on yrityksiä, jotka käyttävät aktiivisesti esimerkiksi perf-työkaluja Netflix. Mutta työkalua kehitetään ja muokataan edelleen (vaikka päivityksiä on julkaistu melko harvoin viime aikoina). Siksi sen toiminnassa voi tapahtua virheitä - kirjoittaja kirjoittaa, että joskus perf-tools aiheuttaa ytimen paniikkia.

llvm-mca

Apuohjelma, joka ennustaa kuinka monta laskentaresurssia konekoodi vaatii eri suorittimilla. Hän arvioi Ohjeet per sykli (IPC) ja tietyn sovelluksen luoman laitteiston kuormitus.

llvm-mca esiteltiin vuonna 2018 osana hanketta llvm, joka kehittää universaalia järjestelmää ohjelmien analysointiin, muuntamiseen ja optimointiin. Tiedetään, että llvm-mca:n kirjoittajia inspiroi ratkaisu ohjelmiston suorituskyvyn analysointiin IACA Inteliltä ja pyrkinyt luomaan vaihtoehdon. Ja käyttäjien mukaan työkalun tulos (niiden asettelu ja määrä) todella muistuttaa IACA:ta - esimerkki löytyy täältä. Llvm-mca hyväksyy kuitenkin vain AT&T syntaksi, joten joudut todennäköisesti käyttämään muuntimia työskennelläksesi sen kanssa.

Mistä kirjoitamme blogeissamme ja sosiaalisessa mediassa:

Vertailuarvot Linux-palvelimille: valikoima avoimia työkaluja "Matto. Wall Street -malli" tai kuinka optimoida pilvikustannukset

Vertailuarvot Linux-palvelimille: valikoima avoimia työkaluja Kuinka suojata Linux-järjestelmäsi: 10 vinkkiä
Vertailuarvot Linux-palvelimille: valikoima avoimia työkaluja Riskien minimoiminen: kuinka et menetä tietojasi

Vertailuarvot Linux-palvelimille: valikoima avoimia työkaluja Kirjat jo järjestelmänhallinnassa mukana oleville tai vasta aloittaville
Vertailuarvot Linux-palvelimille: valikoima avoimia työkaluja Valikoima: viisi kirjaa ja yksi verkkokurssi

Vertailuarvot Linux-palvelimille: valikoima avoimia työkalujaMe 1cloud.ru:ssa tarjoamme ilmaisen palvelun "DNS-isännöinti" Voit hallita DNS-tietueita yhdellä henkilökohtaisella tilillä.

Lähde: will.com

Lisää kommentti