ఏ వ్రాత సరైనది? I / O కాషింగ్ పద్ధతులను పరిశీలించండి

రచయిత: Laura McKinney
సృష్టి తేదీ: 1 ఏప్రిల్ 2021
నవీకరణ తేదీ: 25 జూన్ 2024
Anonim
ఏ వ్రాత సరైనది? I / O కాషింగ్ పద్ధతులను పరిశీలించండి - టెక్నాలజీ
ఏ వ్రాత సరైనది? I / O కాషింగ్ పద్ధతులను పరిశీలించండి - టెక్నాలజీ

విషయము


మూలం: Kgtoh / Dreamstime.com

Takeaway:

అనువర్తనాల వేగం ఎక్కువగా కాష్ I / O వేగం మీద ఆధారపడి ఉంటుంది. ఇక్కడ మేము వేర్వేరు కాష్ I / O పద్ధతులను పోల్చాము.

అనువర్తన పనితీరు మీ మౌలిక సదుపాయాల నుండి మీ అనువర్తనాలు కోరిన రీడ్ అండ్ రైట్ అభ్యర్థనలను పూర్తి చేయడంలో వేగం - వేగం పాతుకుపోయింది. I / O (ఇన్పుట్ / అవుట్పుట్) అభ్యర్ధనలను తిరిగి ఇచ్చే నిల్వకు నిల్వ బాధ్యత వహిస్తుంది మరియు వ్రాతలను మరియు రీడ్లను బట్వాడా చేయడానికి ఎంచుకున్న పద్ధతి అప్లికేషన్ పనితీరుపై తీవ్ర ప్రభావాన్ని చూపుతుంది. నేటి పరిశ్రమలో ఒక సాధారణ పద్ధతి సాంప్రదాయ స్పిన్నింగ్ డిస్క్ నిల్వ, హైబ్రిడ్ శ్రేణులు లేదా ఆల్-ఫ్లాష్ శ్రేణులపై కాషింగ్ కోసం SSD లను ఉపయోగించడం. చాలా కాషింగ్ పరిష్కారాలు అనువర్తనాల కోసం రీడ్‌లను వేగవంతం చేశాయి, అయితే అసలు ప్రశ్న ఏమిటంటే, “ఏ వ్రాత సరైనది?”

వ్రాత ఆప్టిమైజేషన్ మీ అప్లికేషన్ పనితీరును ఎందుకు తీవ్రంగా ప్రభావితం చేస్తుందో చూద్దాం. మీ అంతర్లీన నిల్వలో వ్రాయబడని క్రొత్త డేటా అని I / O వ్రాయండి. సాంప్రదాయ SAN నిల్వలో, ఉదాహరణకు, వ్రాతలు నేరుగా అంతర్లీన నిల్వపై వ్రాయబడతాయి మరియు తరువాత అనువర్తనానికి తిరిగి వస్తాయి. క్రొత్త డేటాను నిరంతరం వ్రాస్తున్న అనువర్తనాలతో, ప్రధానంగా పెద్ద డేటాబేస్ అనువర్తనాలు (SQL, మొదలైనవి), సాంప్రదాయ స్పిన్నింగ్ డిస్క్‌లు కొనసాగించలేవు. SSD లపై కాషింగ్ ఒక పరిష్కారంగా మారింది, ఇది స్థానికంగా వ్రాయడానికి మరియు అప్లికేషన్ డిమాండ్ యొక్క ఫ్రీక్వెన్సీ ఆధారంగా కాష్ చేయడానికి అనుమతించింది; ఏదేమైనా, పనితీరులో భారీ వ్యత్యాసాన్ని కలిగించే అంతర్లీన నిల్వతో వ్రాత-కాష్ యొక్క సంబంధానికి అనేక పద్ధతులు ఉన్నాయి.


ఇవి I / O రచన యొక్క 3 రూపాలు:

  1. వ్రాసే-చుట్టూ (కాష్ చుట్టూ)
  2. రైట్-త్రూ (కాష్ ద్వారా)
  3. రైట్-బ్యాక్ (కాష్ నుండి)

మూడు రూపాలు వేర్వేరు ప్రయోజనాలను కలిగి ఉన్నాయి, ఇవి ప్రధానంగా వ్రాయబడిన డేటా రకంపై ఆధారపడి ఉంటాయి: సీక్వెన్షియల్ వర్సెస్ రాండమ్. సీక్వెన్షియల్ I / O అనేది అంతర్లీన డిస్క్ (ఫైల్స్ లేదా వీడియో స్ట్రీమ్స్) ద్వారా చాలా ఆప్టిమైజ్ చేయబడింది, అయితే యాదృచ్ఛిక I / Os కాష్ ద్వారా ఆప్టిమైజ్ చేయబడతాయి. చాలా కాషింగ్ ఉపకరణాలకు డేటా రకం ఆధారంగా రచనా సాంకేతికత యొక్క రూపాన్ని మార్చడానికి డైనమిక్ ఇంటెలిజెన్స్ లేదు. I / O రచన యొక్క మూడు రూపాల మధ్య వ్యత్యాసాన్ని అర్థం చేసుకుందాం.

వ్రాయడం చుట్టూ

వ్రాసే-చుట్టూ, చదవడానికి-మాత్రమే కాషింగ్ మోడ్ అని కూడా పిలుస్తారు, రీడ్లను కాష్ చేయడానికి స్థలాన్ని ఖాళీ చేయడానికి పూర్తిగా ప్రయోజనకరంగా ఉంటుంది. ఇన్‌కమింగ్ I / O ఎప్పుడూ కాష్‌ను తాకదు. I / Os ఏ ​​డేటాను కాష్ చేయకుండా నేరుగా శాశ్వత నిల్వకు వ్రాయబడతాయి.

కాష్ ఉపయోగించకపోతే దాని ప్రయోజనం ఏమిటి? ఇది I / O వ్రాతతో నిండిన కాష్‌ను తగ్గించడానికి సహాయపడుతుంది, అది తరువాత తిరిగి చదవబడదు, కాని ఇటీవల వ్రాసిన డేటా కోసం రీడ్ రిక్వెస్ట్ “కాష్ మిస్” ను సృష్టిస్తుంది మరియు నెమ్మదిగా బల్క్ స్టోరేజ్ నుండి చదవవలసి ఉంటుంది. అధిక జాప్యాన్ని అనుభవించండి. మీ అప్లికేషన్ లావాదేవీ అయితే, చాలా మిషన్ క్లిష్టమైన అనువర్తనాలు ఉన్నట్లుగా, అప్లికేషన్ వేగం మందగిస్తుంది మరియు I / O క్యూలు పెరుగుతాయి. తప్పనిసరిగా ఈ మోడ్ యొక్క విలువ అరుదైన ఉపయోగ సందర్భాలలో ఉంటుంది, ఎందుకంటే ఇది సమయం తీసుకుంటుంది, నెమ్మదిగా ఉంటుంది మరియు పని చేయదు.


వ్రాయడం ద్వారా

ఈ పద్ధతి సాధారణంగా ఈ రోజు కాషింగ్ మరియు హైబ్రిడ్ నిల్వ పరిష్కారాలలో ఉపయోగించబడుతుంది. రైట్-త్రూను రీడ్ కాషింగ్ మోడ్ అని పిలుస్తారు, అంటే అన్ని డేటా కాష్‌కు మరియు అంతర్లీన నిల్వకు ఒకే సమయంలో వ్రాయబడుతుంది. మీ నిల్వకు వ్రాసిన తర్వాత వ్రాత మాత్రమే పూర్తయినట్లుగా పరిగణించబడుతుంది. వాస్తవానికి చాలా సురక్షితంగా అనిపిస్తుంది… కానీ వేగం లోపం ఉంది.

ఇక్కడ సమస్య: ప్రతి వ్రాత ఆపరేషన్ రెండుసార్లు, కాష్‌లో మరియు తరువాత శాశ్వత నిల్వలో జరుగుతుంది. అనువర్తనాలు కొనసాగడానికి ముందు, శాశ్వత నిల్వ తప్పనిసరిగా I / O ని కాష్కు తిరిగి ఇవ్వాలి, తరువాత అనువర్తనాలకు తిరిగి రావాలి. ఈ పద్ధతి సాధారణంగా వైఫల్యం పునరుద్ధరణ కోసం అమలు చేయబడుతుంది మరియు కాష్‌తో ఫెయిల్‌ఓవర్ లేదా హెచ్‌ఏ వ్యూహాన్ని అమలు చేయకుండా ఉండటానికి డేటా రెండు ప్రదేశాలలో నివసిస్తుంది. ఏది ఏమయినప్పటికీ, I / O కమిట్ శాశ్వత నిల్వ యొక్క వేగాన్ని బట్టి నిర్ణయించబడుతుంది, ఇది CPU మరియు నెట్‌వర్కింగ్ యొక్క వేగంతో సరిపోలదు. మీరు మీ నెమ్మదిగా ఉన్న భాగం వలె మాత్రమే వేగంగా ఉంటారు, మరియు వ్రాత-ద్వారా అప్లికేషన్ వేగాన్ని విమర్శనాత్మకంగా దెబ్బతీస్తుంది.

బగ్స్ లేవు, ఒత్తిడి లేదు - మీ జీవితాన్ని నాశనం చేయకుండా జీవితాన్ని మార్చే సాఫ్ట్‌వేర్‌ను రూపొందించడానికి స్టెప్ గైడ్ ద్వారా మీ దశ

సాఫ్ట్‌వేర్ నాణ్యత గురించి ఎవరూ పట్టించుకోనప్పుడు మీరు మీ ప్రోగ్రామింగ్ నైపుణ్యాలను మెరుగుపరచలేరు.

తిరిగి వ్రాయు

రైట్-బ్యాక్ సిస్టమ్ ఫలితాలను వేగం పరంగా మెరుగుపరుస్తుంది - ఎందుకంటే అంతర్లీన నిల్వకు రాయడానికి సిస్టమ్ వేచి ఉండవలసిన అవసరం లేదు.

డేటా వ్రాయడానికి వచ్చినప్పుడు, రైట్-బ్యాక్ డేటాను కాష్‌లో ఉంచుతుంది, ఇది “అన్నీ పూర్తయింది”, మరియు తరువాత నిల్వ డిస్క్‌కు వ్రాయడానికి డేటాను ఉంచుతుంది.

ఇది చాలా జాప్యం సమస్యలను పరిష్కరిస్తుంది, ఎందుకంటే ఆ లోతైన రచనల కోసం సిస్టమ్ వేచి ఉండాల్సిన అవసరం లేదు.

సరైన మద్దతుతో, బహుళ-దశల కాషింగ్ కోసం రైట్-బ్యాక్ ఉత్తమ పద్ధతి. కాష్ పెద్ద మొత్తంలో మెమరీని కలిగి ఉన్నప్పుడు సహాయపడుతుంది (అనగా మెమరీ టెరాబైట్లలో కొలుస్తారు, గిగాబైట్లలో కాదు). అధునాతన వ్యవస్థలకు ఒకటి కంటే ఎక్కువ సాలిడ్ స్టేట్ డ్రైవ్ అవసరం, ఇది ఖర్చును పెంచుతుంది. విద్యుత్ వైఫల్యం లేదా క్లిష్టమైన డేటాను కోల్పోయే ఇతర పరిస్థితులను పరిగణనలోకి తీసుకోవడం చాలా క్లిష్టమైనది. కానీ సరైన “కాష్ రక్షణ” తో, రైట్-బ్యాక్ నిజంగా కొన్ని దిగువ వైపులా ఉన్న నిర్మాణాన్ని వేగవంతం చేస్తుంది. ఉదాహరణకు, డేటాను సురక్షితంగా ఉంచడానికి రైట్-బ్యాక్ సిస్టమ్స్ RAID లేదా అనవసరమైన డిజైన్లను ఉపయోగించుకోవచ్చు.

మరింత విస్తృతమైన వ్యవస్థలు కాష్ మరియు SAN లేదా అంతర్లీన నిల్వ డిస్క్‌ను ఒకదానితో ఒకటి “అవసరమైన ప్రాతిపదికన” పనిచేయడానికి సహాయపడతాయి, డిస్క్ యొక్క పనిభారాన్ని బట్టి డీప్ స్టోరేజ్ లేదా కాష్‌కు ప్రతినిధులు వ్రాస్తారు.

రైట్-బ్యాక్ యొక్క డిజైన్ ఫిలాసఫీ అనేది నేటి అధునాతన డేటా హ్యాండ్లింగ్ వ్యవస్థలు పెద్ద పనులకు తీసుకువచ్చే సమస్య పరిష్కారాన్ని ప్రతిబింబిస్తుంది. మరింత సంక్లిష్టమైన నిర్మాణాన్ని సృష్టించడం ద్వారా మరియు కాష్‌ను సంక్లిష్టమైన రీతిలో ఉపయోగించడం ద్వారా, రైట్-బ్యాక్ జాప్యం సమస్యలను నాశనం చేస్తుంది మరియు దీనికి ఎక్కువ ఓవర్‌హెడ్ అవసరం అయినప్పటికీ, ఇది మెరుగైన సిస్టమ్ పెరుగుదలను మరియు తక్కువ పెరుగుతున్న నొప్పులను అనుమతిస్తుంది.