Nola eta zergatik hobetzen duen noatime aukerak Linux sistemen errendimendua

Atime eguneratzeak sistemaren errendimenduari eragiten dio. Zer gertatzen ari den eta zer egin horri buruz - irakurri artikulua.

Nola eta zergatik hobetzen duen noatime aukerak Linux sistemen errendimendua
Nire etxeko ordenagailuan Linux eguneratzen dudan bakoitzean arazo batzuk konpondu behar izaten ditut. Urteen poderioz, hori ohitura bihurtu da: nire fitxategien babeskopia egiten dut, sistema ezabatzen dut, dena hutsetik instalatzen dut, nire fitxategiak leheneratzen ditut eta, ondoren, nire aplikazio gogokoenak berriro instalatzen ditut. Sistemaren ezarpenak ere aldatzen ditut nire arabera. Batzuetan denbora gehiegi behar da. Eta duela gutxi buruhauste hau behar ote nuen galdetzen nion.

denboran Linux-eko fitxategien hiru denbora-zigiluetako bat da (geroago honi buruz gehiago). Bereziki, Linux sistema berriagoetan atime desgaitzea oraindik ere ideia ona izango ote zen galdetzen nion. Fitxategia sartzen den bakoitzean atime eguneratzen denez, sistemaren errendimenduan eragin handia duela konturatu nintzen.
Duela gutxi Fedora 32ra berritu nuen eta, ohituragatik, atime desgaitzen hasi nintzen. Pentsatu nuen: benetan behar al dut? Gai hau aztertzea erabaki nuen eta hau da zulatu nuena.

Fitxategien denbora-zigiluei buruzko apur bat

Hori asmatzeko, urrats bat egin behar duzu eta Linux fitxategi-sistemei buruzko zenbait gauza gogoratu eta nukleoak fitxategi eta direktorioen denbora-zigiluak nola markatzen dituen. Fitxategien eta direktorioen azken aldaketaren data ikus dezakezu komandoa exekutatuz ls -l (luzea) edo, besterik gabe, horri buruzko informazioa fitxategi-kudeatzailean begiratuz. Baina atzean, Linux nukleoak hainbat denbora-zigilu egiten ditu fitxategien eta direktorioen jarraipena:

  1. Noiz aldatu zen fitxategia azken aldiz (mtime)
  2. Noiz aldatu ziren azken aldiz fitxategiaren propietateak eta metadatuak (ctime)
  3. Noiz atzitu zen azkenekoz fitxategia (garaian)
  4. Komandoa erabil dezakezu statfitxategi edo direktorio bati buruzko informazioa ikusteko. Hona hemen fitxategia / etc / fstab Nire probako zerbitzari batetik:

$ 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

Hemen ikus dezakezu fitxategi hau 25ko apirilaren 2019ean sortu zela sistema instalatu nuenean. Nire fitxategia / etc / fstab 16ko maiatzaren 2019an aldatu zen azkenekoz, eta gainerako atributu guztiak aldi berean aldatu ziren.

Kopiatzen badut / etc / fstab fitxategi berri batera, datak aldatu egiten dira fitxategi berria dela adierazteko:

$ 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

Baina fitxategiari izena aldatu besterik ez badut bere edukia aldatu gabe, Linuxek fitxategia aldatu den unean soilik eguneratuko du:

$ 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

Denbora-zigilu hauek oso erabilgarriak dira Unix programa batzuetarako. Adibidez, biff zure posta elektronikoan mezu berri bat dagoenean jakinarazten dizun programa da. Gaur egun jende gutxik erabiltzen du biff, baina buzoiak sisteman tokikoak ziren garaian, biff nahiko ohikoa zen.

Nola daki programak zure sarrera-ontzian posta berria baduzu? biff-ek aldatutako azken ordua (sarrera-ontziaren fitxategia mezu elektroniko berri batekin eguneratu zenean) eta azken sarbide-ordua (zure mezu elektronikoa irakurri duzun azken aldia) konparatzen ditu. Aldaketa sarbidea baino beranduago gertatu bada, biffek gutun berri bat iritsi dela ulertuko du eta horren berri emango dizu. Mutt posta elektronikoko bezeroak modu berean funtzionatzen du.

Azken sarbide-zigilua ere erabilgarria da fitxategi-sistemaren erabilera-estatistikak bildu eta errendimendua doitzeko. Sistema-administratzaileek jakin behar dute zer objektu sartzen ari diren, fitxategi-sistema horren arabera konfiguratu ahal izateko.

Baina programa moderno gehienek ez dute etiketa hau behar, beraz, ez erabiltzeko proposamena zegoen. 2007an, Linus Torvalds eta nukleoko beste hainbat garatzailek atime eztabaidatu zuten errendimendu arazo baten testuinguruan. Ingo Molnar Linux nukleoaren garatzaileak honako puntu hau egin zuen atime eta ext3 fitxategi sistemari buruz:

"Nahiko arraroa da Linux mahaigain eta zerbitzari guztiek I/O errendimenduaren narriadura nabarmena jasaten dutela etengabeko atime eguneratzeen ondorioz, nahiz eta bi erabiltzaile erreal bakarrik egon: tmpwatch [ctime erabiltzeko konfigura daitekeena, beraz, ez da arazo handia] eta babeskopia tresna batzuk".

Baina jendeak oraindik ere etiketa hau behar duten programa batzuk erabiltzen ditu. Beraz, atime kentzeak haien funtzionaltasuna hautsiko du. Linux kerneleko garatzaileek ez lukete erabiltzailearen askatasuna urratu behar.

Salomonen irtenbidea

Aplikazio asko daude Linux-en banaketetan sartuta eta gainera, erabiltzaileek beste programa batzuk deskargatu eta instala ditzakete euren beharren arabera. Hau kode irekiko sistema eragilearen abantaila nagusi bat da. Baina horrek zaildu egiten du zure fitxategi-sistemaren errendimendua optimizatzea. Baliabide intentsiboko osagaiak kentzeak sistema eten dezake.

Konpromiso gisa, Linux kernel-eko garatzaileek erreprodukzio-denbora aukera berri bat aurkeztu dute, errendimenduaren eta bateragarritasunaren arteko oreka lortu nahi duena:

atime eguneratzen da aurreko sarbide-denbora oraingo aldaketa- edo egoera-aldaketa-denbora baino txikiagoa bada... Linux 2.6.30-tik aurrera, nukleoak aukera hau lehenespenez erabiltzen du (noatime zehaztu ezean)... Gainera, Linux 2.6.30-tik aurrera. 1, fitxategi baten azken sarbide-ordua beti eguneratzen da egun bat baino gehiago badu.

Linux sistema modernoek (Linux 2.6.30etik, 2009an kaleratua) dagoeneko erreleboa erabiltzen dute, eta horrek errendimenduaren bultzada handia eman beharko luke. Horrek esan nahi du ez duzula fitxategia konfiguratu beharrik / etc / fstab, eta errelebo-denborarekin lehenetsian fida zaitezke.

Sistemaren errendimendua hobetzea noatime-rekin

Baina zure sistema sintonizatu nahi baduzu errendimendu handiena lortzeko, oraindik posible da atime desgaitzea.

Baliteke errendimendu-aldaketa oso nabarmena ez izatea disko moderno oso bizkorretan (adibidez, NVME edo Fast SSD), baina igoera txiki bat dago hor.

Badakizu ez duzula atime behar duen softwarerik erabiltzen, errendimendua apur bat hobe dezakezu fitxategian noatime aukera gaituta. /etc/fstab. Horren ondoren, nukleoa ez da etengabe eguneratuko. Erabili noatime aukera fitxategi-sistema muntatzean:

/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

Aldaketak berrabiarazten duzun hurrengoan izango dute eragina.

Publizitatearen Eskubideei buruz

Zerbitzari bat behar al duzu zure webgunea ostatatzeko? Gure enpresak eskaintzen ditu zerbitzari fidagarriak Eguneroko edo ordainketa bakarrarekin, zerbitzari bakoitza 500 Megabit-eko Interneteko kanal batera konektatuta dago eta DDoS erasoetatik doan babestuta dago!

Nola eta zergatik hobetzen duen noatime aukerak Linux sistemen errendimendua

Iturria: www.habr.com

Gehitu iruzkin berria