cache UMPLERE
Un cache ca rezervorul de stocare principal, este împărțit în grupe de sectoare de dimensiuni egale. Fiecare grup este numit un bloc de memorie cache, iar fiecare bloc este format din sub-blocuri. Dimensiunea blocului cache poate fi configurat pentru o aplicație specifică, cum ar fi baze de date sau server bazat pe Web.
Citirea datelor de pe HDD și să le înregistreze în SSD numit umple memoria cache. Context Această operație este de obicei efectuată după operația de bază de citire sau scriere. Deoarece cache numirea - stocarea de date utilizate frecvent la umplerea acesteia nu ar trebui să determine fiecare operațiune de intrare-ieșire, dar numai una pentru care se depășește valoarea de prag a contorului. De obicei, de umplere contoare sunt utilizate la citirea și la scriere.
Ce se întâmplă cu conținutul cache după „warm-up“? În cazul în care un spațiu SSD este disponibil, cache-ul continuă să fie umplut cu date „fierbinți“. În cazul în care capacitatea SSD este epuizată, algoritmul este aplicat suprascriu datele mai puțin utilizate (cel mai puțin utilizate recent, LRU), care este, ultimul loc în memoria cache este scris noile date „la cald“.
În cazul în care cantitatea de date SSD „la cald“, depășește capacitatea, un procent de citire a datelor din memoria cache scade, respectiv, a redus și productivitate. În plus, SSD mai mică capacitate (și mai mare a volumului de date la cald), schimbul mai intensivă a datelor „fierbinți“. Ca rezultat, SSD se va uza mai repede.
Experții Qsan recomanda folosirea drive-uri SSD Intel DC S3500. Astfel, în SSD 480 GB capacitate timpul între defecțiuni (MTBF) este de 2 ppm În ceea ce privește performanța, întârzierea tipică a acestor unități este de 50 ms, întârzierea maximă în citire -. Ms 500 (99,9%), și performanța blocuri de citire aleatoare de 4 kB ajunge la 75 de mii de IOPS, în timpul înregistrării. - 11 mii de IOPS .. Aceasta este o opțiune bună pentru SSD-cache.
Caching citire-scriere
Operația de citire în absența datelor în cache-ul este după cum urmează:
- Cererea prezintă o cerere pentru a citi datele.
- Datele sunt citite de pe HDD.
- Datele solicitate sunt returnate la cerere.
- se efectuează operațiuni de umplere SSD.
citiți operațiune atunci când există date în memoria cache:
- Cererea prezintă o cerere pentru a citi datele.
- Datele sunt citite de la SSD.
- Datele solicitate sunt returnate la cerere.
- După eșecul de date SSD citit de pe HDD.
Acțiuni aplicație pentru înregistrarea datelor:
- Cererea depune o cerere pentru a scrie date.
- Datele sunt scrise pe hard disk.
- Aplicația returnează starea operației.
- Rularea operațiune cache de umplere de pe SSD.
Setări cache SSD
Aplicație pentru a utiliza cache-ul de pe SSD cât mai eficient posibil, acesta poate fi configurat. Caracteristici generale - bloc dimensiunea memoriei cache de umplere praguri la citirea și la scriere.
mărimea blocului. Dimensiunea mare a blocului de memorie cache pentru aplicații, de multe ori rândul său (locația fizică) a datelor învecinate. Aceasta se numește o inversiune locală ridicată. Creșterea dimensiunii blocului accelerează, de asemenea, umplerea memoriei cache de pe SSD - accelerat „încălzire“ cache, după care un acces local ridicat al cererii va arăta o performanță foarte mare. Cu toate acestea, creșterea dimensiunii blocului duce la generarea de trafic excesiv IO și de a crește timpul de răspuns, în special pentru datele care lipsesc din cache.
Mai mici dimensiunea blocului este bun pentru aplicații cu date mai puțin localizate, adică, atunci când accesul la date se realizează practic la întâmplare. Memoria cache de pe SSD va fi „incalzit“ încet, dar mai multe blocuri, cu atât mai mare probabilitatea ca un rezultat pozitiv în datele relevante cache, mai ales cu apeluri locale mici. Când blocuri mici rata de utilizare a memoriei cache este mai mică, dar va reduce și pierderile de aceasta, astfel încât pentru „alunecare“ atunci când datele relevante nu este în performanță suferă mai puțin cache.
umplere prag. cache prag de umplere - este numărul de trimiteri la date, după care blocul corespunzător este copiat în SSD-cache. Cu un mare stocate în memoria cache utilizate numai în mod frecvent date și a redus schimbul de date în memoria cache, dar crește timpul de „încălzire“, cache-ul și de a crește eficiența utilizării acesteia. La o valoare mai mică a memoriei cache este încălzit mai repede, dar este posibil să se supra-umplere. Pentru majoritatea aplicațiilor este destul de suficient prag 2. Umplerea înregistrării este utilă în cazul în care datele scrise sunt citite din nou în curând. Acesta este adesea cazul în sistemele de fișiere. Alte aplicații, cum ar fi bazele de date, nu au astfel de caracteristici, astfel încât conținutul de înregistrare pentru ei este, uneori, mai bine să nu dezactivați.
După cum se poate observa, creșterea sau descreșterea fiecărui parametru are consecințe pozitive și negative. Este important să se înțeleagă aplicațiile „locale“. În plus, este util pentru a testa sistemul pe sarcini reale și a vedea în ce parametrii arată cele mai bune rezultate.
creșterea productivității (în IOPS), în funcție de timpul de „încălzire“ cache (în ore)