Cloudflare-utviklere jobber med oppdateringer for å øke hastigheten på diskkryptering på Linux

CloudFlare

den Cloudflare-utviklere har gitt ut informasjon om arbeidet de gjør for å optimalisere diskkrypteringsytelsen i Linux-kjernen, som de nevner at de har utarbeidet oppdateringer for dm-crypt og Crypto API-delsystemene.

Med dette, den syntetiske testen fikk doble båndbredden for lesing og skriving, samt halvere ventetid. Ved testing på ekte maskiner ble krypteringsomkostningene redusert til nesten det nivået man ser når man arbeider med en disk uten å bruke datakryptering.

Interesse for å forbedre kryptering data på disk det er fordi Cloudflare bruker dm-crypt for å kryptere data på stasjoner som brukes til å cache innhold på et CDN. Dm-crypt fungerer på blokkenhetsnivå og krypterer I / O-forespørsler om å skrive og dekryptere leseforespørsler, og fungerer som et lag mellom blokkenheten og filsystemdriveren.

Å evaluere ytelse dm-crypt ved hjelp av den fleksible I / O-testpakken, se målte hastigheten på arbeidet med krypterte partisjoner og ikke kryptert på en RAM-disk i RAM for å eliminere svingninger i diskytelsen.

For ukrypterte partisjoner forble lese- og skriveytelsen på 1126 MB / s, men da kryptering ble slått på, falt hastigheten 7 ganger til 147 MB ​​/ s.

I begynnelsen bruk av ineffektive algoritmer ble mistenkt i kjernens kryptografiske system. Men testene brukte den raskere aes-xts-algoritmen med 256 krypteringsnøkler, hvis ytelse når du kjører "cryptsetup benchmark" er mer enn to ganger høyere enn resultatet oppnådd ved testing av RAM-disken.

dm-krypt

Eksperimentene med dm-crypt-flagg for å justere ytelsen fungerte ikke: Når flagget –perf-same_cpu_crypt ble brukt, ble ytelsen til og med redusert til 136 MB / s, og når flagget –perf-submit_from_crypt_cpus ble brukt, økte det bare til 166 MB / s.

En dypere analyse av arbeidslogikken viste at dm-crypt ikke er så enkelt som det virker.

Når en skriveanmodning mottas fra FS-kontrolleren, behandler ikke dm-crypt den med en gang, men setter den i stedet i "kcryptd" -køen, som ikke blir forstått umiddelbart, men når det oppstår en god tid. Fra køen sendes forespørselen til Linux Crypto API for kryptering.

Når du leser først, kjører dm-crypt-køene "kcryptd_io" en forespørsel om å motta data fra enheten. deretter for en stund er dataene tilgjengelige og de står i kø "kcryptd" for dekryptering.

Kcryptd sender en forespørsel til Linux Encryption API, som dekrypterer informasjonen asynkront. Forespørsler går ikke alltid gjennom alle køene, men i verste fall, skriveforespørsel settes i kø opptil 4 ganger og leseoppfordringen opptil 3 ganger. Hvert treff i halen fører til forsinkelser, som er hovedårsaken til en betydelig reduksjon i ytelsen til dm-crypt.

Med tanke på at moderne stasjoner har blitt raskere og smartere, er ressurstildelingssystemet i Linux-kjernen blitt revidert og noen delsystemer er redesignet, Har Cloudflare-ingeniører lagt til en ny driftsmodus til dm-crypt, noe som eliminerer bruken av ekstra køer og asynkrone samtaler.

Modus er aktivert av et eget "force_inline" -flagg og bringer dm-krypt i form av en enkel proxy som krypterer og dekrypterer innkommende forespørsler. Interaksjon med Crypto API har blitt optimalisert gjennom et eksplisitt valg av krypteringsalgoritmer De fungerer i synkron modus og bruker ikke forespørselskøer.

Når vi testet belastningen på ekte servere, viste den nye implementeringen ytelse veldig nær konfigurasjonen som fungerer uten kryptering, og inkluderingen av kryptering på servere med Cloudflare-cache påvirket ikke svarhastigheten.

I fremtiden, Cloudflare planlegger å overføre de forberedte oppdateringene til den viktigste Linux-kjernen, men før det må de endres, siden de er optimalisert for en viss belastning og ikke dekker alle bruksområder.

Fuente: https://blog.cloudflare.com


Bli den første til å kommentere

Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.