Si dhe përse opcioni noatime rrit performancën e sistemeve Linux

PĂ«rditĂ«simi i atime ndikon nĂ« performancĂ«n e sistemit. ÇfarĂ« po ndodh dhe çfarĂ« tĂ« bĂ«ni me kĂ«tĂ« - lexoni nĂ« artikull.

Si dhe përse opcioni noatime rrit performancën e sistemeve Linux
Sa herë që përditësoj Linux në kompjuterin tim personal, më duhet të zgjidh disa çështje. Me kalimin e viteve, kjo është bërë zakon: krijoj kopje rezervë të skedarëve të mi, fshij sistemin, instaloj gjithçka nga fillimi, rikthej skedarët e mi, pastaj rinstaloj aplikacionet e mia të preferuara. Gjithashtu ndryshoj konfigurimet e sistemit sipas dëshirës time. Ndonjëherë, kjo merr shumë kohë. Dhe së fundmi, fillova të mendoj nëse më nevojitet ky shqetësim.

atime — njĂ« nga tre shenjat e kohĂ«s pĂ«r skedarĂ«t nĂ« Linux (mĂ« shumĂ« pĂ«r kĂ«tĂ« mĂ« vonĂ«). NĂ« veçanti, pyesja veten nĂ«se ende duhej tĂ« çaktivizoja atime nĂ« sistemet mĂ« tĂ« reja Linux. Duke pasur parasysh qĂ« atime pĂ«rditĂ«sohet çdo herĂ« kur i qasemi njĂ« skedari, kuptova se ka njĂ« ndikim tĂ« konsiderueshĂ«m nĂ« performancĂ«n e sistemit.
Së fundmi, u përditësova në Fedora 32 dhe për zakon, fillova me çaktivizimin e atime. Mendova: a më nevojitet ajo në përgjithësi? Vendosa të studioj këtë çështje dhe këtu është ajo që zbuloj.

Pak për shenjat e kohës të skedarëve

Për të kuptuar, duhet të hidhni një hap prapa dhe të kujtoni disa gjëra rreth sistemeve të skedarëve Linux dhe se si bërthama i cakton vulat temporale skedarëve dhe katalogëve. Mund të shihni datën e ndryshimit të fundit të skedarëve dhe katalogëve duke ekzekutuar komandën ls -l (i gjatë) ose thjesht duke i parë informacionet në menaxherin e skedarëve. Por pas skenës, bërthama Linux ndjek disa vulat temporale për skedarët dhe katalogët:

  1. Kur është modifikuar për herë të fundit skedari (mtime)
  2. Kur janë ndryshuar për herë të fundit pronësitë dhe metadatet e skedarit (ctime)
  3. Kur është aksesuar për herë të fundit skedari (atime)
  4. Ju mund të përdorni komandën stat, për të parë të dhënat e skedarit ose të katalogut. Ja skedari /etc/fstab nga njëri nga serverët e mi testues:

$ stat fstab
  File: fstab
  Size: 261             Blocks: 8          IO Block: 4096   regular file
Device: b303h/45827d    Inode: 2097285     Links: 1
Access: (0664/-rw-rw-r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: system_u:object_r:etc_t:s0
Access: 2019-04-25 21:10:18.083325111 -0500
Modify: 2019-05-16 10:46:47.427686706 -0500
Change: 2019-05-16 10:46:47.434686674 -0500
 Birth: 2019-04-25 21:03:11.840496275 -0500

Këtu shihet se ky skedar është krijuar më 25 prill 2019, kur kam instaluar sistemin. Skedari im /etc/fstab u ndryshua për herë të fundit më 16 maj 2019, dhe të gjitha atributet e tjera u ndryshuan rreth të njëjtës kohë.

Nëse kopjoj /etc/fstab në një skedë të re, datat ndryshojnë, duke treguar se është një skedë e re:

$ sudo cp fstab fstab.bak
$ stat fstab.bak
  File: fstab.bak
  Size: 261             Blocks: 8          IO Block: 4096   regular file
Device: b303h/45827d    Inode: 2105664     Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:etc_t:s0
Access: 2020-05-12 17:53:58.442659986 -0500
Modify: 2020-05-12 17:53:58.443659981 -0500
Change: 2020-05-12 17:53:58.443659981 -0500
 Birth: 2020-05-12 17:53:58.442659986 -0500

Por nëse thjesht e ndryshoj emrin e skedës, pa e ndryshuar përmbajtjen e saj, Linux do të përditësojë vetëm kohën e ndryshimit të skedës:

$ sudo mv fstab.bak fstab.tmp
$ stat fstab.tmp
  File: fstab.tmp
  Size: 261             Blocks: 8          IO Block: 4096   regular file
Device: b303h/45827d    Inode: 2105664     Links: 1
Access: (0644/-rw-r--r--)  Uid: (    0/    root)   Gid: (    0/    root)
Context: unconfined_u:object_r:etc_t:s0
Access: 2020-05-12 17:53:58.442659986 -0500
Modify: 2020-05-12 17:53:58.443659981 -0500
Change: 2020-05-12 17:54:24.576508232 -0500
 Birth: 2020-05-12 17:53:58.442659986 -0500

Këto markat e kohës janë shumë të dobishme për disa programe Unix. Për shembull, biff është një program që ju njofton për shfaqjen e një mesazhi të ri në email. Tani, pak njerëz e përdorin biff, porë që kutitë postare ishin lokale për sistemin, biff ishte mjaft i zakonshëm.

Si e di programi nëse keni postë të re në hyrje? biff krahason kohën e fundit të ndryshimit (kur skedari i postës së hyrjes është aktualizuar me një mesazh të ri) dhe kohën e fundit të aksesit (herën e fundit që keni lexuar postën tuaj elektronike). Nëse ndodhi një ndryshim pas aksesit, atëherë biff do të jetë në gjendje të kuptojë se ka ardhur një mesazh i ri dhe do t'ju njoftojë për këtë. Klienti i postës Mutt funksionon përafërsisht në të njëjtën mënyrë.

Shenja e kohës së fundit të aksesit gjithashtu është e dobishme nëse ju nevojitet të mbledhni statistika për përdorimin e sistemit të skedarëve dhe të optimizoni performancën. Administratorët e sistemeve duhet të dinë cilat objekte janë aksesuar për të konfiguruar skedarin e sistemit përkatësisht.

Por shumicën e programeve moderne, kjo shenjë nuk është më e nevojshme, prandaj u propozua mos ta përdorim. Në vitin 2007, Linus Torvalds dhe disa zhvillues të tjerë të bërthamës diskutuan rreth atime në kontekstin e problemeve me performancën. Zhvilluesi i bërthamës Linux, Ingo Molnar, bëri këtë vërejtje në lidhje me atime dhe sistemin e skedarëve ext3:

«ËshtĂ« mjaft e çuditshme qĂ« çdo desktop dhe server Linux pĂ«sojnĂ« njĂ« rĂ«nie tĂ« dukshme tĂ« performancĂ«s sĂ« hyrjes-daljes pĂ«r shkak tĂ« azhurnimeve tĂ« vazhdueshme atime, megjithĂ«se pĂ«rdoruesit e vĂ«rtetĂ« janĂ« vetĂ«m dy: tmpwatch [i cili mund tĂ« konfigurohet pĂ«r tĂ« pĂ«rdorur ctime, kĂ«shtu qĂ« kjo nuk Ă«shtĂ« njĂ« problem i madh] dhe disa mjete rezervimi».

Por njerëzit vazhdojnë të përdorin disa programe që kanë nevojë për këtë shenjë. Pra, fshirja e atime do të dëmtonte funksionimin e tyre. Zhvilluesit e bërthamës Linux nuk duhet të cënojnë lirinë e përdoruesit.

Zgjidhje Solomonike

Distribucioni Linux përmban një sërë aplikacionesh, dhe përveç kësaj, përdoruesit mund të shkarkojnë dhe instalojnë programe të tjera sipas nevojave të tyre. Ky është një avantajh kyç i OS me kod të hapur. Megjithatë, kjo e bën optimizimin e performancës së sistemit të file-ve më të vështirë. Eliminimi i përbërësve që përfshijnë shumë burime mund të prishë funksionimin e sistemit.

Si një kompromis, zhvilluesit e bërthamës Linux kanë implementuar një opsion të ri relaytime, i cili synon të sigurojë një ekuilibër mes performancës dhe kompatibilitetit:

atime përditësohet vetëm nëse koha e mëparshme e aksesit është më e vogël se koha e tanishme e modifikimit ose ndryshimit të statusit... Që nga Linux 2.6.30, bërthama përdor këtë opsion si të parazgjedhur (nëse nuk është specifikuar noatime)... Për më tepër, që nga Linux 2.6.30, koha e fundit e aksesit të skedarit gjithmonë përditësohet nëse është më shumë se 1 ditë.

Sistemet moderne Linux (që nga Linux 2.6.30, e lëshuar në vitin 2009) tashmë përdorin relaytime, gjë që duhet të ofrojë një rritje të konsiderueshme të performancës. Kjo do të thotë se nuk keni nevojë ta rregulloni skedarin /etc/fstab, dhe me relaytime mund të mbështeteni në vlerën e parazgjedhur.

Rritja e performancës së sistemit me noatime

Por nëse dëshironi të konfiguroni sistemin tuaj për të arritur maksimumin e performancës, çaktivizimi i atime është ende i mundur.

Ndryshimi i performancës mund të mos jetë shumë i dukshëm në diskët modernë shumë të shpejtë (si NVME ose SSD të shpejtë), por ka një përfitim të vogël.

Nëse e dini që nuk po përdorni software që kërkon atime, mund të rrisni pak performancën duke aktivizuar opsionin noatime në skedarin /etc /fstab. Pas kësaj, bërthama nuk do të përditësojë vazhdimisht atime. Përdorni opsionin noatime gjatë montimit të sistemit të skedarëve:

/dev/mapper/fedora_localhost--live-root /          ext4   defaults,noatime,x-systemd.device-timeout=0 1 1
UUID=be37c451-915e-4355-95c4-654729cf662a /boot    ext4   defaults,noatime        1 2
UUID=C594-12B1                          /boot/efi  vfat   umask=0077,shortname=winnt 0 2
/dev/mapper/fedora_localhost--live-home /home      ext4   defaults,noatime,x-systemd.device-timeout=0 1 2
/dev/mapper/fedora_localhost--live-swap none       swap   defaults,x-systemd.device-timeout=0 0 0

Ndryshimet do të hyjnë në fuqi pas rinisjes së ardhshme.

Si reklamë

Po kërkoni një server për hostimin e faqes? Kompania jonë ofron serverë të besueshëm me pagesë ditore ose një herë, secili server është i lidhur me kanalin e internetit prej 500 Megabit dhe është i mbrojtur falas nga sulmet DDoS!

Si dhe përse opcioni noatime rrit performancën e sistemeve Linux

Burimi: habr.com

Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« đŸ”„ Bli njĂ« hosting tĂ« besueshĂ«m pĂ«r faqet me mbrojtje DDoS, VPS VDS serverĂ« | ProHoster